Problem mit MySQL-Inser (PHP-Befehl)

Fabian Frank

Erfahrenes Mitglied
Hallo Leutz,

hab ein kleines Problem mit einem Skript, dass die Form-Variablen aus einer vorherigen Site einträgt.

Und zwar werden auf Seite 1 Daten eingegeben, dieser werden über post auf Seite 2 übergeben wo sie eigentlich in die DB eingetragen werden müssten. Das passiert jedoch nicht.

Problematisch ist noch, dass dort ein Passwort MD5-Verschlüsselt eingetragen werden muss.

Wenn Ich auf Seite 1 Daten eingeb kommt auf Seite 2 folgende Fehlermeldung:

unexpecting.... ";" in Zeile 13 ...

Hier mal das Skript das die Daten einträgt:

PHP:
<?

$connectionid  = mysql_connect ("localhost", "****", "*****"); 

if (!mysql_select_db ("*****", $connectionid)) 

{ 

  die ("Verbindung zur Datenbank fehlgeschlagen."); 

} 



$sql = "INSERT INTO ". 

          "logindata (loginname, loginadd, fullname, loginpwd) ". 

          "VALUES ('".$_POST["login_name"]."', '". 
			$_POST["login_add"]."', '". 
			$_POST["full_name"]."', '". 
                     md5 ($_POST["login_pwd"]."')";

					

mysql_query ($sql); 



if (mysql_affected_rows ($connectionid) > 0) 

{ 

  echo "Der Benutzer wurde angelegt. <br><br>Login: <? echo $login_name ?><br>Passwort: <? echo $login_pwd ?><br>Name: <? echo $fullname ?><br>"; 

} 

else 

{ 

  echo "Fehler beim Anlegen des Benutzers.<br>Bitte überprüfen Sie die MySQL-Daten in der register.php"; 

} 

?>

Könnt ihr mir bitte weiterhelfen?

Vielen Dank,

MfG

Fabian Frank
 
PHP:
$sql = "INSERT INTO ". 

          "logindata (loginname, loginadd, fullname, loginpwd) ". 

          "VALUES ('".$_POST['login_name']."', '". 
            $_POST['login_add']."', '". 
            $_POST['full_name']."', '". 
                     md5 ($_POST['login_pwd']."')";
 
Du hast eine Klammer falsch gesetzt. Probier mal Folgendes:
PHP:
$sql = '
	INSERT INTO
	        `logindata`
	  SET
	        `loginname` = "'.mysql_real_escape_string($_POST['login_name']).'",
	        `loginadd`  = "'.mysql_real_escape_string($_POST['login_add']).'",
	        `fullname`  = "'.mysql_real_escape_string($_POST['full_name']).'",
	        `loginpwd`  = "'.md5($_POST['login_pwd']).'"
	';
 
merci :)

Das anlegen von Usern geht nun, hab aber leider scho wieder ein neues Prob.
Und zwar geht der login jetzt nicht mehr.

Ich vermute dass es mal wieder an der Form liegt, wahrscheinlich an der MD5-Erkennung etc...

Wäre nett wenn ihr mir da auch noch helfen könntet!

hier der code von der überprüf-site:

PHP:
<?php 

session_start (); 



$connectionid = mysql_connect ("localhost", "***", "***"); 

if (!mysql_select_db ("****", $connectionid)) 

{ 

  die ("Verbindung mit Datenbank fehlgeschlagen.<br><br>"); 

} 



$sql = "SELECT". 

    "loginname, loginpwd, loginadd, fullname". 

  "FROM". 

    "logindata". 

  "WHERE ". 

    "(loginname like '".$_REQUEST["login_name"]."') AND ". 

    "(loginpwd = '".md5 ($_REQUEST["login_pwd"])."')"; 

$result = mysql_query ($sql); 



if (mysql_num_rows ($result) > 0) 

{ 

  $data = mysql_fetch_array ($result); 



  $_SESSION["login_name"] = $data["loginname"]; 





  header("Location: login.php");

} 

else 

{ 

  header ("Location: index.php?fehler=1"); 

} 

?>

Immer wenn ich mich einloggen will, erscheint die meldung: falsche benutzerdaten (fehler=1)

Greetz,

Fabi
 
Code:
$sql = "SELECT". 
    "loginname, loginpwd, loginadd, fullname". 
  "FROM". 
    "logindata". 
  "WHERE ". 
    "(loginname like '".$_REQUEST["login_name"]."') AND ". 
    "(loginpwd = '".md5 ($_REQUEST["login_pwd"])."')"; 
$result = mysql_query ($sql);

Ich denke mal er hat ein Problem bei der Schreibweise, mach nach dem SELECT ein Leerzeichen rein, genau wie vor und nach dem FROM und vor dem WHERE ...
 
Zurück