Probleme mit Formular und übergabe in eine SQL DB

26toto26

Mitglied
Hallo Leute,

ich wollte die Daten im Formular an meine Datenbank geben... leider bekomme ich nach dem Senden einen weißen Bildschirm und das war's :-( In der Datenbank stehen auch keine Daten.

Hier das Script um die Daten ins Formular zu geben:
HTML:
<html> 
<head>Create an Account</head> 
<body> 
<form method=post action=insert.php>
<h3>Create an Account</h3> 
<p>Username:&nbsp;
    <input type=text name="name" size=30>
  <br>
  Site URL: &nbsp;
  <input type=text name="url" size=30>
  <br>
  Site Description:&nbsp;
  <input type=text name="description" size=80>
  <br>
  E-mail Adress:&nbsp;
  <input type=text name="e-mail" size=60>
  <br>
  Username:&nbsp;
  <input type=text name="username" size=25>
  <br>
  Passwort:&nbsp;
  <input type=text name="password" size=25>
  </p>
<p><br> 
    <input type=submit name="submit" value="Send"> 
</p>
</form> 
</body 
></html>

und hier die insert.php:

PHP:
<body>
<?php

// Zugangsdaten fuer die Datenbank
// Diese sollten der Sicherheit halber
// in ein Verzeichnis außerhalb des
// Document-Root ausgelagert werden.

$host     =    "test";
$user     =    "webxyz";
$pass     =    "meinpass";

$datab    =    "meinedb";
$table    =    "meinetbl";

// Verbindung zum MySQL-Server aufbauen
$db = @mysql_connect($host, $user, $pass);
mysql_select_db($datab, $db);
 
 $name = $_POST["Username"];  
 $url = $_POST["Site URL"];  
 $description = $_POST["Site Description"];  
 $email = $_POST["E-mail Adress"];  
 $username = $_Post["Username"];  
 $passwort = $_Post["Passwort"];
  
 $anlegen = "INSTERT INTO $table (Username, Site URL, Site Description, E-mail Adress, Username, Passwort)  
 VALUES ('$name', '$url', '$description', '$email', '$username', '$passwort')";  
   
 $anlegen = mysql_query($anlegen);  
?> 
</body>
</html>

danke für jeden Tip

Gruß
Toto
 
PHP:
$db = @mysql_connect($host, $user, $pass);
Einmal das @ entfernen bitte, da es hilfreiche Fehlermeldungen unterdrücken könnte.

PHP:
$anlegen = mysql_query($anlegen);

Ändern in:

PHP:
mysql_query($anlegen) or die(mysql_error());

Ebenfalls damit mögliche Fehler angezeigt werden.
 
Ich bekomme nun folgenden Fehler:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSTERT INTO besucher (Username, Site URL, Site Description, E-m

Gruß

Toto
 
Eigentlich sollte man keine Spalten mit Leerzeichen machen, benutze lieber einen Unterstrich, also: site_url zum Beispiel.

Ansonsten versuch es mal so:

PHP:
$anlegen = "INSERT INTO $table 
(`Username`, `Site URL`, `Site Description`, `E-mail Adress`, `Username`, `Passwort`)
VALUES ('$name', '$url', '$description', '$email', '$username', '$passwort')";

Weiterhin gibst du zweimal die Spalte Username an, das ist bestimmt auch nicht richtig.
 
Zuletzt bearbeitet:
Gute Idee... DANKE

Jetzt geht es soweit. Das einzige was er nicht in meine DB schreibt sind die Felder "username" und "password"

Hier noch mal mein Script:
HTML:
<html> 
<head>Create an Account</head> 
<body> 
<form method=post action=insert.php>
<h3>Create an Account</h3> 
<p>Username:&nbsp;
    <input type=text name="name" size=30>
  <br>
  Site URL: &nbsp;
  <input type=text name="url" size=30>
  <br>
  Site Description:&nbsp;
  <input type=text name="description" size=80>
  <br>
  E-mail Adress:&nbsp;
  <input type=text name="email" size=60>
  <br>
  Username:&nbsp;
  <input type=text name="username" size=50>
  <br>
  Passwort:&nbsp;
  <input type=text name="password" size=50>
  </p>
<p><br> 
    <input type=submit name="submit" value="Send"> 
</p>
</form> 
</body 
></html>

und

PHP:
<body>
<?php

// Zugangsdaten fuer die Datenbank
// Diese sollten der Sicherheit halber
// in ein Verzeichnis außerhalb des
// Document-Root ausgelagert werden.

$host     =    "localhost";
$user     =    "webxyz";
$pass     =    "mein pass";

$datab    =    "ich";
$table    =    "meine tbl";

// Verbindung zum MySQL-Server aufbauen
$db = mysql_connect($host, $user, $pass);
mysql_select_db($datab, $db);
 
 $name = $_POST["name"];  
 $url = $_POST["url"];  
 $description = $_POST["description"];  
 $email = $_POST["email"];  
 $username = $_Post["username"];  
 $password = $_Post["password"];
  
 $anlegen = "INSERT INTO $table (`name`, `url`, `description`, `email`, `username`, `password`)  
 VALUES ('$name', '$url', '$description', '$email', '$username', '$password')";  
   
 $anlegen = mysql_query($anlegen) or die(mysql_error());    
?> 
</body>
</html>

Danke
 
Problem gefunden....

PHP:
 $username = $_POST["username"];  
 $password = $_POST["password"];

POST habe ich klein geschrieben

Danke an alle für die Tipps.
 
Zurück