Hallo,
mit welchem Code bzw. wie kann man bei der Anmeldung die Adresse hinzufügen, sodass auch der Admin die Adresse im Adminforce sehen kann ?
Danke für die Hilfe.
Mfg seg98
Druckbare Version
Hallo,
mit welchem Code bzw. wie kann man bei der Anmeldung die Adresse hinzufügen, sodass auch der Admin die Adresse im Adminforce sehen kann ?
Danke für die Hilfe.
Mfg seg98
Dazu erfordert es etwas mehr, da du die Anmeldung um diese Felder erweitern musst und diese dann ich die Datenbank eintragen musst, wo sie dann immer wieder ausgelesen werden können.
Reichen denn deine Erfahrung an programmieren soweit das du es dann auch einbauen kannst?
Ja. Ich kann dies einbauen (Anleitung).
Bitte unbedingt vorher Backup anlegen, Code nicht getestet
Dann führe folgendes in phpmyadmin aus (oder welches Programm auch immer du nutzt für deine Datenbankbearbeitung ...) und führe im Befehl SQL folgendes aus:
Dann öffne die content/intern/anmelden.php und suche nach:PHP-Code:
ALTER TABLE `vms_userdaten` ADD `strasse` VARCHAR( 60 ) NOT NULL AFTER `nachname` ;
ALTER TABLE `vms_userdaten` ADD `plz` VARCHAR( 10 ) NOT NULL AFTER `strasse` ;
ALTER TABLE `vms_userdaten` ADD `ort` VARCHAR( 30 ) NOT NULL AFTER `plz` ;
ALTER TABLE `vms_userdaten` ADD `land` VARCHAR( 15 ) NOT NULL AFTER `ort` ;
füge darunter folgendes ein:HTML-Code:<tr>
<td class="main"><b>Vorname:</b></td>
<td class="main"><input type="text" name="vorname" value="<?=$_POST['vorname'];?>"></td>
</tr>
Such nach:HTML-Code:<tr>
<td class="main"><b>Strasse:</b></td>
<td class="main"><input type="text" name="strasse" value="<?=$_POST['strasse'];?>"></td>
</tr>
<tr>
<td class="main"><b>PLZ:</b></td>
<td class="main"><input type="text" name="plz" value="<?=$_POST['plz'];?>"></td>
</tr>
<tr>
<td class="main"><b>Ort:</b></td>
<td class="main"><input type="text" name="ort" value="<?=$_POST['ort'];?>"></td>
</tr>
<tr>
<td class="main"><b>Land:</b></td>
<td class="main"><select name="land">
<option name="DE" <? if ($_POST['land'] == "DE") { echo 'selected';}?>>Deutschland</option>
<option name="AT" <? if ($_POST['land'] == "AT") { echo 'selected';}?>>Österreich</option>
<option name="CH" <? if ($_POST['land'] == "CH") { echo 'selected';}?>>Schweiz</option></select></td>
</tr>
und ersetze es mit:PHP-Code:
db_query("INSERT INTO ".$db_prefix."_userdaten (uid,nickname,vorname,nachname,angemeldet_seit) VALUES ('".$_POST['uid']."','".$_POST['nickname']."','".$_POST['vorname']."','".$_POST['nachname']."','".time()."')");
Suche nach:PHP-Code:
db_query("INSERT INTO ".$db_prefix."_userdaten (uid,nickname,vorname,nachname,strasse,plz,ort,land,angemeldet_seit) VALUES ('".$_POST['uid']."','".$_POST['nickname']."','".$_POST['vorname']."','".$_POST['nachname']."',
'".$_POST['strasse']."','".$_POST['plz']."','".$_POST['ort']."','".$_POST['land']."','".time()."')");
und füge darunter folgendes ein:PHP-Code:
if (!isset($_POST['vorname'])) $_POST['vorname'] = "";
Das war es mit der anmelde.phpPHP-Code:
if (!isset($_POST['strasse'])) $_POST['strasse'] = "";
if (!isset($_POST['plz'])) $_POST['plz'] = "";
if (!isset($_POST['ort'])) $_POST['ort'] = "";
if (!isset($_POST['land'])) $_POST['land'] = "";
Dann öffnest du die adminforce/content/usersystem/userbearbeiten.php und suchst nach:
und ersetzt diesen Code mit:PHP-Code:
db_query ('UPDATE '.$db_prefix.'_userdaten SET vorname = "'.$_POST['vorname'].'", nachname = "'.$_POST['nachname'].'" WHERE uid = '.$_POST['uid']);
Suche nach:PHP-Code:
db_query ('UPDATE '.$db_prefix.'_userdaten SET vorname = "'.$_POST['vorname'].'", nachname = "'.$_POST['nachname'].'", strasse = "'.$_POST['strasse'].'", plz = "'.$_POST['plz'].'", ort = "'.$_POST['ort'].'", land = "'.$_POST['land'].'" WHERE uid = '.$_POST['uid']);
und füge darunter folgendes ein:HTML-Code:<tr bgcolor="#fafafa">
<td align="right"><b>Nachname</b>: </td>
<td align="left"> <input type="text" name="nachname" value="<?=$alledaten['nachname'];?>"></td>
</tr>
Sag bescheid falls irgendwas ned geklappt hat.HTML-Code:<tr bgcolor="#fafafa">
<td align="right"><b>Strasse</b>: </td>
<td align="left"> <input type="text" name="strasse" value="<?=$alledaten['strasse'];?>"></td>
</tr>
<tr bgcolor="#fafafa">
<td align="right"><b>PLZ</b>: </td>
<td align="left"> <input type="text" name="plz" value="<?=$alledaten['plz'];?>"></td>
</tr>
<tr bgcolor="#fafafa">
<td align="right"><b>Ort</b>: </td>
<td align="left"> <input type="text" name="ort" value="<?=$alledaten['ort'];?>"></td>
</tr>
<tr bgcolor="#fafafa">
<td align="right"><b>Land</b>: </td>
<td align="left">
<select name="land">
<option name="DE" <? if ($alledaten['land'] == "DE") { echo 'selected';}?>>Deutschland</option>
<option name="AT" <? if ($alledaten['land'] == "AT") { echo 'selected';}?>>Österreich</option>
<option name="CH" <? if ($alledaten['land'] == "CH") { echo 'selected';}?>>Schweiz</option></select></td>
</tr>
HAusnummer wird nicht abgefragt? Absicht oder verpeilt?
Beim SQL in die Datenbank einsetzen kommt folgender Fehler:
#1060 - Doppelter Spaltenname: 'strasse'
Mfg seg98
Leider weiß ich aber nicht wo dieser Prefix sein könnte..Kann man da irgendwie suchen ?
das weis ich auch...aber nirgends steht was mit strasse
Hab einen Fehler im SQL-Befehl gefunden und behoben im Post!
Sollte nun funktionieren ;)
ich habe mitbekommen das die user einfach keine eingabe machen könnte man das auch irgendwie machen das es pflich ist
Wenn du dir die anmelden.php anschaust kannst du das von anderen Feldern kopieren.
Einmal in der Auflistung:
Aber selbst dann werden User evtl. einfach nur 123 in jedes Feld reinschreiben, daher muss man noch weitere Prüfungen durchführen, ähnlich wie beim Passwortfeld:PHP-Code:
// Auf Eingabefehler prüfen
if(!$_POST['nachname'] ||.....
oder mit regulären Ausdrücken:PHP-Code:
if (strlen($_POST['passwort_1']) < 8) $error .= 'Passwortlänge muss min. 8 Zeichen haben<br>';
Nach denen kann man googlen für PLZ, Strasse, Ort etc.PHP-Code:
f(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse'])) $error .= 'Der Emailsyntax ist falsch!<br>';
ich danke für die info nur bin ich zu blöde dat zu machen!
Habe schon selber versucht aber drotzdem melden sie sich ohne eingabe an
hatt sichn erledigt habe die daten geändert und dann vergessen hochzuladen funkt jetzt!
Sers,
und was schmeisst man bei Google in die Suche rein? Bei "Auf Eingabefeler überprüfen", bin ich auf nichts brauchbares gelandet.
Dann hab ich noch eine Frage zu der Ländereinstellung.
Im Admin wird immer nur Deutschland angezeigt, obwohl sich nach späteren Änderungen, diese in der DB so abgelegt werden, wie auch angegeben, sprich, wenn ich auf Schweiz umstelle, wirds in der DB auch geändert, warum nicht in der Admin Userübersicht?
LG
http://www.google.de/#hl=de&q=regul%...sdruck+strasse
-> http://www.skoom.de/tutorials/regexp...ausdruecke.xtc
http://www.google.de/#hl=de&q=regul%...k+postleitzahl
-> http://www.fadoe.de/blog/archives/26...eitzahlen.html
usw.
Ich glaube, da ist ein Fehler im HTML Code in der Anleitung, es sollte nicht:
sein sondern:HTML-Code:<option name="DE">
Schau mal direkt in der DB nach, welcher Wert je Land drinsteht.HTML-Code:<option value="DE">
Erstmal Danke für die Links..Werd wohl nie warm mit Tante google^^
Zum Wert:
Versteh ich die Frage leider nicht. In der DB ist das drin,was zur anmeldung auch angegeben wird.
Muss bei :
am Ende das /select raus?PHP-Code:
<option name="DE" <? if ($_POST['land'] == "DE") { echo 'selected';}?>>Deutschland</option>
<option name="AT" <? if ($_POST['land'] == "AT") { echo 'selected';}?>>Österreich</option>
<option name="CH" <? if ($_POST['land'] == "CH") { echo 'selected';}?>>Schweiz</option></select></td>
Option value wird in Anmeldung und Admin Userübersicht eingetragen?
...könnte man vielleicht hübsch in einem Schnippsel zusammenschreiben für unseren Download-Bereich !
Wenn sich jmd. dafür bereit erklärt das schon zusammenzuschreiben (testen nicht vergessen) mit guter Anleitung zum Einbau damit man es in den DL Bereich stellen kann spende ich demjenigen mal 3Mio Lose oder so :)
bb, Swinxx
Ich leg 3 Mio drauf.
Die Links bringen mir auch nichts. Ist ja schön und gut, wenn die Bereiche in dem Sinne definiert werden, was Buchstaben und Zahlen angehen, aber was bringt mir es, wenn nicht mal weiß, was ich vorne dran hängen muss, damit die Prüfung auch vorgenommen wird, ohne irgendwelche String oder schlag-mich-tot-fehler zu bekommen...RICHTIG..NIX!
Mal als Beispiel: !eregi <<<Was ist das und warum das da stehen? Ist der anfang zum Überprüfen der Emaildresse im Anmeldeformular.
Fürs das Passwort: strlen <<< ???
Sieht für einen laien wie ein zusammengedrückter Strassenname aus^^
Und was setz ich vor PLZ und Strasse?
Fragen über fragen...hoffe, nimmt sich einer an. Wenn möglich erklären und nicht Antwort Posten...Mach jetzt lang genug mit dem mist rum, iwann muss das auch mal in meiner Birne ankommen...
LG
Um die Eingabefelder bei der Anmeldung zu prüfen
Öffne content/intern/anmelden.php
und suche nach:
füge dahinter folgendes ein:PHP-Code:
// Auf Eingabefehler prüfen
if(!$_POST['nachname'] || !$_POST['vorname'] ||
Es sollte dann so aussehen:PHP-Code:
!$_POST['strasse'] || !$_POST['hausnummer'] || !$_POST['plz'] || !$_POST['ort'] ||
suche nach:PHP-Code:
// Auf Eingabefehler prüfen
if(!$_POST['nachname'] || !$_POST['vorname'] ||!$_POST['strasse'] || !$_POST['hausnummer'] || !$_POST['plz'] || !$_POST['ort'] || !$_POST['emailadresse'] || !$_POST['passwort_1'] || !$_POST['passwort_2'] || !$_POST['nickname']) $error .= 'Bitte fülle alle benötigten Felder aus!<br>';
ersetze es mit:PHP-Code:
if(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$_POST['emailadresse'])) $error .='Der Emailsyntax ist falsch!<br>';
Getestet und funktioniert.PHP-Code:
if(!eregi("^([a-zA-Z0-9]((\.|\-|_)?[a-zA-Z0-9])*)@([a-zöäüA-ZÖÄÜ]+((\.|\-)?[a-zöäüA-ZÖÄÜ0-
9]+)+)\.([a-zA-Z]{2,8})$",$_POST['emailadresse'])) $error .= 'Der Emailsyntax ist falsch!<br>';
if(!eregi("^([0]{1}[1-9]{1}|[1-9]{1}[0-9]{1})[0-9]{3}$",$_POST['plz'])) $error .= 'Die PLZ ist
falsch!<br>';
if(!eregi("^([A-Za-züöäÜÖÄß \-]){3,50}$",$_POST['vorname'])) $error .= 'Der Vorname ist falsch!
<br>';
if(!eregi("^([A-Za-züöäÜÖÄß \-]){3,50}$",$_POST['nachname'])) $error .= 'Der Nachname ist
falsch!<br>';
if(!eregi("^[A-Za-züöäÜÖÄß \/\.\-]{3,60}$",$_POST['strasse'])) $error .= 'Die Strasse ist falsch!
<br>';
if(!eregi("^[0-9a-zA-Z \-]{1,5}$",$_POST['hausnummer'])) $error .= 'Die Hausnummer ist falsch!
<br>';
if(!eregi("^[A-Za-züöäÜÖÄß \/\.\-]{3,40}$",$_POST['ort'])) $error .= 'Der Ort ist falsch!<br>';
Quellen: Quelle1 und Quelle2
Abend,
hab das eingebaut wie beschrieben, geht nicht in der Version mit Klammanbindung.
Problem: Mir kommt die Anmeldesperre ins gehege. Es brauch nicht mal was in den Feldern stehen, da steht beim abschicken schon "Du bist für die Anmeldung gesperrt" ...was nicht richtig ist, jedenfalls im eigentlichen Sinne :biggrin1:
Noch jemand ne Idee?
LG
Ich hab auch eine frage
und zwar mir ist aufgefallen das keine Hausnummer in der db gespeichert
wird weiß einer wo das dran liegen könnte??
Hier wie es in der db gespeichert ist:
PHP-Code:
Feld Typ Kollation Attribute Null
hausnummer varchar(60) latin1_swedish_ci Nein
Schau mal ob überall der selbe Spalten Name vorhanden ist in der Datenbank sowie im Script selbst.
ja die namen sind alle identisch nur wird die hausnummer nicht in der db gespeichert extra einen user gefragt er hats eingetragen und in der db steht es auch nicht drin als ob da was falsch ist
Hast du die querys erweitert?
Bei dem "standard" fehlt ja noch Hausnummer.PHP-Code:
db_query("INSERT INTO ".$db_prefix."_userdaten (uid,nickname,vorname,nachname,strasse,plz,ort,land,angemeldet_seit) VALUES ('".$_POST['uid']."','".$_POST['nickname']."','".$_POST['vorname']."','".$_POST['nachname']."',
'".$_POST['strasse']."','".$_POST['plz']."','".$_POST['ort']."','".$_POST['land']."','".time()."')");
Mit Hausnummer:
Musst in der anmelde und im admin bei userbearbeiten anpassen.PHP-Code:
db_query("INSERT INTO ".$db_prefix."_userdaten (uid,nickname,vorname,nachname,strasse,hausnummer,plz,ort,land,angemeldet_seit) VALUES ('".$_POST['uid']."','".$_POST['nickname']."','".$_POST['vorname']."','".$_POST['nachname']."',
'".$_POST['strasse']."','".$_POST['hausnummer']."','".$_POST['plz']."','".$_POST['ort']."','".$_POST['land']."','".time()."')");
LG
Danke Sam2004
hatte in der Anmelden die hausnummer wohl vergessen einzutragen
*erledigt*
hey genau sowas habe ich gesucht danke erstmal dafür hat auch alles super geklappt :)
nun habe ich eine kleine frage und zwar würde ich gerne das der user nachträglich in seinem userprofile seine kalmm id eintragen kann und diese gespeichert wird ( es muss nicht vertifiziert werden ). könnte mir vieleicht jemand helfen bei diesem problem ?
Du kannst doch Strasse etc. als Vorlage nehmen und die Tabelle entsprechend erweitern, ebenso die Dateien.Zitat:
nun habe ich eine kleine frage und zwar würde ich gerne das der user nachträglich in seinem userprofile seine kalmm id eintragen kann und diese gespeichert wird ( es muss nicht vertifiziert werden ). könnte mir vieleicht jemand helfen bei diesem problem ?
Vorher Backup machen und dann probieren ;)
LG