sql query funktioniert nicht?

Roumeo

Mitglied
Hallo,
ich habe vor ein einfaches register script zu schreiben. Jedoch werden die Daten nicht in meiner mysql Datenbank geschrieben... Ich hoffe ihr könnt mir weiterhelfen:+

PHP:
    if( !empty($_POST) ) {
        if( $_POST['pass1'] =  $_POST['pass2'] ) {
            echo "Name: " .$_POST['vname']. " " .$_POST['nname']. " alias " .$_POST['nick']. "<br>";
            echo "Geburtstag: " .$_POST['geburtstag']. "<br>";
            echo "Passwort: " .$_POST['pass1'];
	        }
	        else
	        echo '<center>';
	        echo 'Das Passwort entspricht nicht der Wiederholung<br>';
	        echo 'Bitte Korrigieren Sie es<br><br>';
	        echo '<a href="register.php">zur&uuml;ck</a>';
	        echo '</center>';
	        }
    else {
    echo '<center>';
	echo "!Bitte geben Sie Ihre Daten ein!";
	echo '</center>';
	}
	echo '<form action="bestaetigung.php" target="self" method="post"';
	echo '<input type="submit" value="abschicken" name="submit"';
	echo '</form>';
	if(isset($_POST['submit'])){
	mysql_connect($hostname, $uname, $passwd)
	or die("no connection to database host 'localhost'");
	if (!$no_select_db) {
		mysql_select_db($dbname)
    or
	die('no database selected');
    }
    $vname      = $_POST['vname'];
	$nname      = $_POST['nname'];
	$geburtstag = $_POST['geburtstag'];
	$nick       = $_POST['nick'];
	$pass1      = $_POST['pass1'];
    $sql = "INSERT INTO registered
            (vname,nname,geburtstag,nick,pass1)
             VALUES
             ('$vname',
	          '$nname',
              '$geburtstag',
     	   	  'nl2br($nick)',
	 		  '$pass1')";
    $eintragen = mysql_query($sql);
    ?>

So sieht mein Quelltext aus.

Dies ist der Fehler der erscheint:
Parse error: parse error, unexpected $end in C:\Programme\xampp\htdocs\Martin\bestaetigung.php on line 161

Jedoch ist die angegebene Zeite nur die Endung von </html>....

Mfg

Roumeo
 
Hi

Zum einen hast du bei der ersten IF Abfrage nach den PWs nur ein = Zeichen. Zum anderen öffnest du das entsprechende ELSE danach nicht mit einer { Klammer. Dadurch hast du vielleicht eine } zugehende Klammer zuviel, wodurch dieser Fehler auftritt.

Gruß
ctp
 
Bitte überprüfe einmal Deine Bedingungen der"if"und "else" Anweisungen. Prüfe auch
entsprechend alle geschweiften Klammern ({})!
 
Hallo,

2 Fehler wurden dri ja schon gesagt.
Ich glaube die Zeile
PHP:
<?php
$sql = "INSERT INTO registered 
            (vname,nname,geburtstag,nick,pass1) 
             VALUES 
             ('$vname', 
              '$nname', 
              '$geburtstag', 
                  'nl2br($nick)', 
               '$pass1')"; 
?>
musst du auch ändern:
PHP:
<?php
$sql = "INSERT INTO registered 
            (vname,nname,geburtstag,nick,pass1) 
             VALUES 
             ('$vname', 
              '$nname', 
              '$geburtstag', 
                  nl2br($nick), 
               '$pass1')"; 
?>

Order funktioniert das so mit dem nl2br.


Tobee
 
PHP:
$sql = '
	INSERT INTO
	        `registered`
	  SET
	        `vname`      = "'.mysql_real_escape_string($_POST['vname']).'",
	        `nname`      = "'.mysql_real_escape_string($_POST['nname']).'",
	        `geburtstag` = "'.mysql_real_escape_string($_POST['geburtstag']).'",
	        `nick`       = "'.mysql_real_escape_string(nl2br($_POST['nick'])).'",
	        `pass1`      = "'.mysql_real_escape_string($_POST['pass1']).'"
	';
Aus Datenschutzgründen solltest du das Passwort übrigens nicht als Klartext speichern sondern bevorzugt nur dessen Hash-Wert.
 
HEy erstmal danke für euere Hilfe...

Kannst du mir sagen wie das mit dem Hash geht ? oder kennst du ein gutes tut dazu

mfg

Roum
 
Zurück