MySql Eintrag via Formular funktioniert nicht

cille

Erfahrenes Mitglied
Hi ho,
wieder mal funktioniert bei mir was net, entweder ist es die Hitze oder ich stell mich zurzeit doof an.

Also, ich will mit einem Formular was in eine datenbank eintragen,
aber es funktioniert nicht.
Finde keinen Fehler, hoffe ihr habt mehr glück:

Hier mal die Datei:
HTML:
<html> 
<head> 
  <title>Adduser</title> 
</head> 

<body> 
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post"> 
	Name: <input type="text" name="name" size="20" /><br />
  Vorname: <input type="text" name="vorname" size="20" /><br />
  Nachname: <input type="text" name="nachname" size="20" /><br />
	Password: <input type="text" name="pwd" size="20" />
  <br> 
  <input type="submit" value="Eintragen"> 
</form>
PHP:
<?php
if (!empty($_POST["submit"])) {
	include('../config/config.php');
	if (!mysql_select_db ("trummel", $dbconnect)) 
	{ 
  die ("Keine Verbindung zur Datenbank"); 
	} 
	$sql = "INSERT INTO users(id, name, pass, nachname, vorname) VALUES ('', '$_POST[name]', '$_POST[pwd], '$_POST[nachname], md5 '$_POST[vorname]')";
	if (mysql_query($sql)) {
		echo "<p>User erfolgreich hinzugefügt!</p>";
	} else {
		echo "<p>Es ist ein Fehler aufgetreten, oder Sie haben nicht alle Felder ausgeführt!</p>";
	}
mysql_close();
}
?>
HTML:
</body> 
</html>

Hoffe ihr könnt mir weiter helfen.
 
ups ;),

habe das jetzt so gemacht:
PHP:
if (!empty($_POST["name"]) && !empty($_POST["pwd"])) {

aber es kommt noch immer keine fehlermeldung oder sowas, und eingetragen wird auch nichts.

Das ist komisch ;(
 
"Es geht nicht" ist eine sehr dürftige Fehlerbeschreibung:p
Aber vielleicht solltest du dir einfach mal dein MySQL Statement betrachten:
PHP:
$sql = "INSERT INTO users 
                            (id, 
                             name, 
                             pass, 
                             nachname, 
                             vorname) 
                        VALUES 
                            ('', 
                             '".$_POST[name]."', 
                             '".$_POST[pwd]."', 
                             '".$_POST[nachname]."', 
                             '".md5($_POST[vorname])."')";
Du hast einige Hochkommas vergessen, wodurch du den String, den du MySQL gibst, nicht schließst.
Außerdem solltest du dir mal die md5()-Funktion anschauen. Wieso benutzt du überhaupt md5 beim Vornamen?
 
TwoFaze hat gesagt.:
Außerdem solltest du dir mal die md5()-Funktion anschauen. Wieso benutzt du überhaupt md5 beim Vornamen?

Hi ho,
danke sehr, keine ahnung warum das beim Vornamen steht, hatte das eigentlich hinter pwd gesetzt :D,

danke vielmals, probier ich gleich ma aus
 
Hallo!

Versuche es mal so:
PHP:
$sql = "INSERT INTO users  
                            (id,  
                             name,  
                             pass,  
                             nachname,  
                             vorname)  
                        VALUES  
                            ('',  
                             '".$_POST['name']."',  
                             '".md5($_POST['pwd'])."',  
                             '".$_POST['nachname']."',  
                             '".$_POST['vorname']."')";
Du solltest auch mysql_real_escape_string() verwenden, um Dich vor einer SQL-Injection zu schützen.
Auch würde ich ein 2. Passwortfeld in das Formular einsetzen, damit Du an hand der Passwortwiederholung überprüfen kannst ob Du Dich evtl. verschrieben hast.
Andernfalls hast Du ein Problem falls Du Dich verschrieben hast. :p

Gruss Dr Dau
 
Jo danke,
aber ein Problem hätte ich da,
wie lass ich die beiden Passwörter auf gleichheit überprüfen?
 
Ähm, ich glaube Du solltest doch mal die Klimaanlage einschalten. ;)
PHP:
if($_POST['pwd'] == $_POST['pwd_wiederholung']) {
     // Code weiter verarbeiten, da die Passwörter identisch sind
} else {
     echo "Passwortwiederholung stimmt nicht überein!";
}
 
Dr Dau hat gesagt.:
Ähm, ich glaube Du solltest doch mal die Klimaanlage einschalten. ;)

Jo danke, ich dummy ;D,
war auch mein erster gedanke mit if und else,
aber mehr ist mir auch nicht eingefallen,
mein kumpel kommt jetzt vorbei und bringt eine Klimaanlage mit,
hoffe es geht dann besser, THX euch allen
 
Zurück