Formulardaten an SQL DB übergeben?

daGeatsch

Grünschnabel
Hallo liebe PHP Gemeinde!

Bin ziemlich neu(blutiger Anfänger) in sachen PHP und mySQL.
Hab folgendes Problem:

Ich möchte gerne daten von einem HTML Formular in meine mySQL Datenbank eintragen.
Die Frage ist nur wie?

Ich hab mir das bis jezt mal so vorgestellt und wollte es auch verwirklichen aber, wie erwartet es nicht. Hoffe ihr könnt mir da nen kleinen Tipp geben:

PHP:
<?php
 include ("includedb.php");
?>

<html>
<head>Benutzerregistrierung</head>
<body>
<h3>Bitte gib deine Daten ein</h3>
Vorname:&nbsp;<input type=text name="vorname" size=30><br>
Nachname: &nbsp;<input type=text name="nachname" size=30><br>
Geburtsdatum:&nbsp;<input type=text name="geb" size=10><br>
E-mail Adresse:&nbsp;<input type=text name="email" size=60><br>
Passwort:&nbsp;<input type=text name="passwd" size=10><br>
<input type=submit name="submit" value="abschicken">
</form>
</body
</html>

<?php
 $vorname = $_POST["vorname"];
 $nachname = $_POST["nachname"];
 $email = $_POST["email"];
 $passwd = $_POST["passwd"];
 $geb = $_Post["geb"];

 $anlegen = "INSTERT INTO db (vorname, nachname, email, passwd, geb)
 VALUES ('$vorname', '$nachname', '$email', '$passwd', '$geb')";
 
 $anlegen = mysql_query($anlegen);
?>
Wenn ich dann auf den "Abschicken" Button clicke, passiert leider nix. Auch in der Datenbank sind keine Datensätze vorhanden. Tja.. da stecke ich jetzt ein wenig fest und hoffe daher auf eure Hilfe.
Danke schon mal im Voraus!
 
Du hast auch gar kein Formular deklariert, lediglich das schließende Tag ist notiert. Auch sollte die Datenbankabfrage erst bei erfolgreichem versenden des Formulars erfolgen und nicht schon wenn das Formular-Dokument lediglich normal aufgerufen wird.
 
Wie schon erwähnt, hast du zwar einen schliesenden form Tag unterhalb der Eingabefelder, allerdings fehlt dazu noch der öffnende.
Der benötigt als method="post" und als action="deine_eingabe.php"

Uebrigens, der Titel der Homepage wird im HEAD mit <title>Benutzerregistrierung</title> eingetragen.

gruss X-Color
 
Hi!

Ok... da waren ja doch ein paar fehler die ich durch etwas mehr aufmerksamkeit vermeiden hätte können:-) Aber ganz verstehe ich das immer noch nicht. Vorallem was kommt denn dann in die "deine_eingabe.php" eigentlich rein?

PHP:
<?php 
 include ("includedb.php"); 
?> 

<html> 
 <head><title>Benutzerregistrierung</title></head> 
 <body> 
  <form method=post action=deine_eingabe.php> 

   Vorname:&nbsp;<input type=text name="vorname" size=30><br> 

   <input type=submit name="submit" value="abschicken"> 
  </form> 
 </body 
</html> 

<?php 
 $vorname = $_POST["vorname"]; 

 $anlegen = "INSTERT INTO db (vorname) VALUES ('$vorname')"; 
  
 $anlegen = mysql_query($anlegen); 
?>
Ich steh jetzt echt ein wenig auf der Leitung :(
 
Zuletzt bearbeitet:
Forumlar:

<html>
<head>Benutzerregistrierung</head>
<body>
<form method=post action=deine_datei.php>
<h3>Bitte gib deine Daten ein</h3>
Vorname:&nbsp;<input type=text name="vorname" size=30><br>
Nachname: &nbsp;<input type=text name="nachname" size=30><br>
Geburtsdatum:&nbsp;<input type=text name="geb" size=10><br>
E-mail Adresse:&nbsp;<input type=text name="email" size=60><br>
Passwort:&nbsp;<input type=text name="passwd" size=10><br>
<input type=submit name="submit" value="abschicken">
</form>
</body
</html>

deine_datei.php:

PHP:
<?php
include ("includedb.php"); 
 $vorname = $_POST["vorname"]; 
 $nachname = $_POST["nachname"]; 
 $email = $_POST["email"]; 
 $passwd = $_POST["passwd"]; 
 $geb = $_Post["geb"]; 

 $anlegen = "INSTERT INTO db (vorname, nachname, email, passwd, geb) 
 VALUES ('$vorname', '$nachname', '$email', '$passwd', '$geb')"; 
  
 $anlegen = mysql_query($anlegen); 
?>

müsste gehen
 
Zurück