Registrieren Script Problem!
|
Verfasser |
Nachricht |
|
Beiträge: 51
Bewertung: 1
Registriert seit: Nov 2010
Status:
offline
|
Registrieren Script Problem!
Hallo,
ich habe ein Registrieren Script geschrieben. Leider wird die Registrierung nicht ausgeführt. Irgendwas ist an meinem Script Falsch. Die Datenbank sollte 100%ig stimmen, da kein MYSQL Fehler kommt. Kann mir einer sagen was darran falsch ist?
<?php error_reporting(E_ALL |E_STRICT); if(empty($_SESSION['id'])) {
if(isset($_POST['user']) OR isset($_POST['first_name'])) { if( isset($_POST['user']) AND isset($_POST['first_name']) AND isset($_POST['last_name']) AND isset($_POST['pass']) AND isset($_POST['pass2']) AND isset($_POST['street']) AND isset($_POST['plz']) AND isset($_POST['city']) AND isset($_POST['domain']) AND isset($_POST['captcha']) AND isset($_POST['mail']) AND isset($_POST['phone']) ) {
$user = $_POST['user']; $first_name = $_POST['first_name']; $last_name = $_POST['last_name']; $pass = $_POST['pass']; $pass2 = $_POST['pass2']; $street = $_POST['street']; $plz = $_POST['plz']; $city = $_POST['city']; $domain = $_POST['domain']; $captcha = $_POST['captcha']; $mail = $_POST['mail']; $phone = $_POST['phone']; $check = mysql_query("SELECT * FROM user WHERE username = '" . $user . "'"); $check2 = mysql_query("SELECT * FROM user WHERE url = 'http://".$domain.".elier-international.ws/'"); if($_POST['pass'] == $_POST['pass2'] AND $check == false AND $check2 == false AND md5($captcha) == $_SESSION['captcha_code']) { echo '<p style="color:green;">'.$lang->registerGood.'</p>'; $einfuegen = mysql_query("INSERT INTO user (username, password, first_name, last_name, street, plz, city, land, status, email, url, phone) VALUES ('$user', '".md5($pass)."', '$first_name', '$last_name', '$street, '$plz', '$city' , 'germany', '1', '$mail', 'http://".$domain.".elier-international.ws/', '$phone')"); } else { $error = 1; } } else { $error = 1; } if($error == 1) { echo $lang->registerError; } }
echo '<h3>' . $lang->registerTitle . '</h3>'; echo '<form action="?page=register" method="post">';
echo '<p>'.$lang->loginUsername.':<br><input name="user" type="text" size="30"></p>'; echo '<p>'.$lang->homeLastName.':<br><input name="last_name" type="text" size="30"></p>'; echo '<p>'.$lang->homeFirstName.':<br><input name="first_name" type="text" size="30"></p>'; echo '<p>'.$lang->loginPassword.':<br><input name="pass" type="password" size="30"></p>'; echo '<p>'.$lang->loginPassword2.':<br><input name="pass2" type="password" size="30"></p>'; echo '<p>'.$lang->registerStreet.':<br><input name="street" type="text" size="30"></p>'; echo '<p>'.$lang->registerPlz.':<br><input name="plz" type="text" size="6">'; echo '<input name="city" type="text" size="24"></p>'; echo '<p>'. $lang->registerMail .':<br><input name="mail" type="text" size="30">'; echo '<p>'.$lang->costumerTel.':<br><input name="phone" type="text" size="30"></p>'; echo '<p>'.$lang->registerDomain.':<br><input name="domain" type="text" size="30">.elier-international.ws</p>'; echo '<img src="captcha/cap.php">'; echo '<p>'.$lang->registerCap.':<br><input name="captcha" type="text" size="30"></p>'; echo '<p><input type="checkbox" name="agb" value="yes"> '.$lang->registerAGB.'</p>'; echo '<p><input type="submit" value=" '. $lang->loginBtn .' "></p>'; echo '</form>'; echo '<p>' . $lang->registerLogin . ' <a href="?page=login"> '. $lang->registerLogin2 . '</a></p>';
} else { echo '<p>'.$lang->alreadyLoggedIn.'</p>'; } ?>
Danke im vorraus!
Florian
Dieser Beitrag wurde zuletzt bearbeitet: 12.11.2011 23:56 von florianjung.
|
|
12.11.2011 22:59 |
|
|
Beiträge: 1.306
Bewertung: 6
Registriert seit: May 2009
Status:
offline
|
RE: Registrieren Script Problem!
bevor ich mich jetzt sinnlos durch deinen code wühl: schon mit error_reporting(E_ALL |E_STRICT) fehlerquellen analysiert?
Zeile 35: Absicht da die $domain Variable als String zu definieren?
schreib das so:
$check2 = mysql_query("SELECT * FROM user WHERE url = 'http://".$domain.".elier-international.ws/'");
und ersetz die restlichen abfragen auch nach dem schema, denn das wird wohl das Problem auf dem ersten Blick sein.
2.
Zeile 40 Du versuchst dem Feld id den Wert nichts zuzuweisen. Schätze mal das hast du auf auto_increment in der datenbank gesetzt -> rausnehmen, sonst kollidiert das
Dieser Beitrag wurde zuletzt bearbeitet: 12.11.2011 23:12 von Dennis.
|
|
12.11.2011 23:06 |
|
|
Beiträge: 51
Bewertung: 1
Registriert seit: Nov 2010
Status:
offline
|
RE: Registrieren Script Problem!
Danke.
Es läuft leider immer noch nicht. Ich habe oben meinen Aktuellen Code editiert.
Gruß
|
|
12.11.2011 23:31 |
|
|
Beiträge: 1.306
Bewertung: 6
Registriert seit: May 2009
Status:
offline
|
RE: Registrieren Script Problem!
in zeile 41 haste noch einmal $domain vergessen.
ansonsten hat das script keine fehler ausgespuckt?
wenn nicht, mach hinter das insert query mal ein
Mal schauen was mysql zurückgibt
Dieser Beitrag wurde zuletzt bearbeitet: 12.11.2011 23:41 von Dennis.
|
|
12.11.2011 23:40 |
|
|
Beiträge: 51
Bewertung: 1
Registriert seit: Nov 2010
Status:
offline
|
RE: Registrieren Script Problem!
Es kommt immer der Register Error aus Zeile 50. Mehr kommt leider nicht.
Code ist oben Aktualisiert 
Kannst dumir mal bitte die Zeile nenne in die Ich
eintragen soll?
Gruß
Dieser Beitrag wurde zuletzt bearbeitet: 12.11.2011 23:58 von florianjung.
|
|
12.11.2011 23:54 |
|
|
Beiträge: 1.306
Bewertung: 6
Registriert seit: May 2009
Status:
offline
|
RE: Registrieren Script Problem!
direkt hinter die queryabfrage mit dem insert.
da steht dann mysql_query(blabla) or die();
|
|
13.11.2011 00:07 |
|
|
Beiträge: 2.492
Bewertung: 29
Registriert seit: Jul 2010
Status:
offline
|
RE: Registrieren Script Problem!
Wie wäre es wenn du $error einmal 1 und 2 zuweist?
Wo wird $einfuegen ausgeführt das der Query auch durchgeführt wird? Ein Query der in einer Variable gespeichert wird, wird nicht ausgeführt.
Desweiteren sollte man HTML Code von PHP trennen, dient auch der Übersichtlichkeit.
Wies prüfst du das Post eigentlich alles einzeln? $_POST ist ein Array, entferne doch einfach den Send Button und die 2 $_POST's die du darüber abfragst aus dem Array und prüfe die values mit nem foreach auf isset.
Aus $check und $check2 kannst du eigentlich auch ein Query machen. Achja, die Tabellen etc, in einem Query immer maskieren, verhindert SQL Injection.
//EDIT:
Statt action="?page=register" würde ich einfach prüfen ob der Send Button gesetzt ist, so kannst du dann z.B. das machen:
if(isset($_POST["ok"])) {
_MYSQL_QUERY_
} else {
_FORMULAR_
}
Finde ich persönlich effektiver, so verhinderst du auch das ggf. jemand auf die direkte URL geht und dir leere oder falsche Einträge setzt.
Mit freundlichen Grüßen / Best Regards
Julian Weiler | Geschäftsführender Gesellschafter
[Link: Registrierung erforderlich] ist außerdem bei [Link: Registrierung erforderlich], [Link: Registrierung erforderlich] und [Link: Registrierung erforderlich]
Telefon: +49 (0) 67 74 / 20 49 520
Fax: +49 (0) 67 74 / 20 49 520 9
E-Mail: [Mail: Registrierung erforderlich]
Dieser Beitrag wurde zuletzt bearbeitet: 13.11.2011 11:17 von Storage-Base.de.
|
|
13.11.2011 11:14 |
|
|
Beiträge: 625
Bewertung: 7
Registriert seit: Aug 2010
Status:
offline
|
RE: Registrieren Script Problem!
$einfuegen = mysql_query("INSERT INTO user (username, password, first_name, last_name, street, plz, city, land, status, email, url, phone) VALUES ('$user', '".md5($pass)."', '$first_name', '$last_name', '$street, '$plz', '$city' , 'germany', '1', '$mail', 'http://".$domain.".elier-international.ws/', '$phone')");
eigener script? wenn ja haste bestimmt nicht das automatisch "ausgeklammert"
$einfuegen = mysql_query("INSERT INTO user (username, password, first_name, last_name, street, plz, city, land, status, email, url, phone) VALUES ('".$user."', '".md5($pass)."', '".$first_name."', .....
und versuch mal mit `` zu arbeiten kA obs bei city land oder url scheitern könnte
$einfuegen = mysql_query("INSERT INTO user (`username`, `password`, ....
MFG Sysix
|
|
13.11.2011 12:49 |
|
|