Schreibt nicht in MySQL?

M-P

Mitglied
Ich habe folgenden MySQL Code:
PHP:
CREATE TABLE registrierung
       (
       Id Int(11) NOT NULL auto_increment,
       Vorname VarChar(50) NOT NULL default '',
       Nachname VarChar(50) NOT NULL default '',
       Email VarChar(50) NOT NULL default '',
       Anmeldedatum Text(1000) NOT NULL default '',
        PRIMARY KEY (Id)
       )

und dass als Registrierungscode:

PHP:
<?php

include 'config.php';

$anmeldedatum=date("j. F Y"); 
	
	if( empty ($_POST['Vorname']) or empty ($_POST['Nachname']) or empty ($_POST['Email']) or empty ($_POST['Passwort']))
{
	if( $_POST["Kontrolle"] == 1)
	{
	echo "Es sind nicht alle Felder ausgefuellt.";	
	}
	

	
echo ' 

<form method="post" action="">


<table>
	<tr>
    	<td>Vorname:</td>
        <td><input type="text" name="Vorname" value="'.$_POST['Vorname'].'" /></td>
    </tr>
    <tr>
    	<td>Nachname:</td>
        <td><input type="text" name="Nachname" value="'.$_POST['Nachname'].'" /></td>
    </tr>
    	<tr>
    	<td>E-Mail Adresse (= Benutzername für Login):</td>
        <td><input type="text" name="Email" value="'.$_POST['Email'].'" /></td>
    </tr>
    <tr>
    	<td>Passwort:</td>
        <td><input type="password" name="Passwort" value="'.$_POST['Passwort'].'" />
		<input type="hidden" name="Anmeldedatum" id="Anmeldedatum" value="'. $anmeldedatum .'"/>
		<input type="hidden" name="Kontrolle" id="Kontrolle" value="1"/></td>
    </tr>
        <tr>
    	<td colspan="2">
        <input type="submit" name="submit" value="Registrieren" />
		
        </td>
    </tr>
</table>

</form>

';
}
else
{
		if ($_POST['submit'])
{
	
 $sql = 'INSERT INTO registrierung(Vorname, Nachname, Email, Passwort, Anmeldedatum) VALUES("'.$_POST['Vorname'].'","'.$_POST['Nachname'].'","'.$_POST['Email'].'","'.$_POST['Anmeldedatum'].'")';
mysql_query($sql);

	echo "Registrierung erfolgreich!";


}
	
}
?>

Registrierung erfolgreich wird ausgegeben aber eben nichts in die MySQL geschrieben. Woran kann dass liegen?
(Verbindung zu MySQL geht!)
 
Zuletzt bearbeitet:
Hi!

Liefert MySql einen Fehler?
PHP:
mysql_query($sql) or die(mysql_error());
(sollte zwischen dem Table-Namen und der Felder nicht ein Leerzeichen sein?)

Liebe Grüße,
Mark.

</span>
 
  • Gefällt mir
Reaktionen: M-P
Hi,

wenn man irgendetwas entwickelt, sollte man immer Fehler ausgeben lassen, siehe einen Beitrag über mir.

Der Fehler liegt vermutlich an folgendem:

(Vorname, Nachname, Email, Passwort, Anmeldedatum)
("'.$_POST['Vorname'].'","'.$_POST['Nachname'].'","'.$_POST['Email'].'","'.$_POST['Anmeldedatum'].'")


Die Anzahl der angegebenen Felder (5) stimmt nicht mit der Anzahl der Werte (4) überein.
 
  • Gefällt mir
Reaktionen: M-P
Hi,

wenn man irgendetwas entwickelt, sollte man immer Fehler ausgeben lassen, siehe einen Beitrag über mir.

Der Fehler liegt vermutlich an folgendem:

(Vorname, Nachname, Email, Passwort, Anmeldedatum)
("'.$_POST['Vorname'].'","'.$_POST['Nachname'].'","'.$_POST['Email'].'","'.$_POST['Anmeldedatum'].'")


Die Anzahl der angegebenen Felder (5) stimmt nicht mit der Anzahl der Werte (4) überein.

da hattet ihr beide wohl recht ich war so schlau und hab in der Datenbank "Passwort" vergessen :rolleyes: ja mit der Fehlerausgabe hab ichs dann auch gesehn Vielen Dank! Bin noch ein blutiger Anfänger :)
 
Bitte auch an eine mögliche [wiki]SQL Injection[/wiki] denken und [phpf]mysql_real_escape_string[/phpf] verwenden.
 
  • Gefällt mir
Reaktionen: M-P
Zurück