MySQL : Formulardaten werden nicht gespeichert

AvS

Erfahrenes Mitglied
Hi,

bin durch mein Studium gezwungen mich mit PHP und MySQL rumzuschlagen und muss ein HTML-Formular schreiben, welches die Daten dann an ein PHP-Skript weitergibt und dieses dann die Daten in meine Datenbank schreibt. An sich funktioniert das Skript, doch es wird nur ein leerer Tabellensatz bzw. unvollständiger Tabellensatz erstellt.

PHP:
<?php
  $server = "localhost"; $user = "root"; $pass = "";
  $database = "appelmann"; $table = "daten";
  $name = $_POST["name"];
  $strasse = $_POST["strasse"];
  $ort = $_POST["ort"];
  $menge = $_POST["menge"];
  $sorte = $_POST["sorte"];
  
  $verbindung = @mysql_connect($server, $user, $pass) 
      or die ("Verbindung mit Datenbank nicht hergestellt");
  
  mysql_select_db($database, $verbindung);
  
$sql = "INSERT INTO $table VALUES ('$name', '$strasse', '$ort', '$sorte', '$menge')";
    $ausgabe = "Vielen Dank, Ihre Bestellung wurde gespeichert...";
    
  if($sql!="")
      $res = mysql_query($sql) or die ("SQL-Fehler: " .mysql_error());
      mysql_close($verbindung);
    echo $ausgabe;
?>

Ich hoffe jemand findet den Fehler, denn ich kann es mir nicht erklären :(

Gruß,
AvS
 
create table x.formular (
id int not null auto_increment primary key,
name char(20) not null,
age int not null,
cash int not null
)

Meine Tabelle in mysql
#######################################################################
<?php

$pw="";
$user="root";
$host="localhost";
$db="x";

$con=@mysql_connect($host,$user,$pw) or die("keine connection zur database");
$choose=@mysql_select_db($db) or die("datenbank kann nicht gewählt werden");

if($con){
echo "con aktiv";
}

if($choose){echo "alles roger";}
?>

verb.php
##########################################################################
<?php
include("verb.php");


$name="Chefkoch";
$age=25;
$cash=1;
$table="formular";
$db="x";

$insert="Insert into x.formular (name,age,cash) VALUES ('$name','$age','$cash')";

$aktion=mysql_query($insert);
######################################################################

$abfrage ="Select * from x.formular";
$sel=mysql_query($abfrage);
while($row=mysql_fetch_object($sel)){

echo $row->name; echo"---"; echo $row->age;
echo "<br>";

}

?>

index.php---> diese Datei rufe ich auf, sie holt sich die verbindung durch include aus verb.php
########################################################################
con aktivalles rogerChefkoch---25
Chefkoch---25
Chefkoch---25
Chefkoch---25
Chefkoch---25

output
#####################################################





$table
deswegen hatte ich einen fehler. Man muss wahrscheinlich DATENBANK.TABLE hinschreiben, habe ich dann eben mit x.formular, ohne variablen, geschrieben

if($sql!="")
was bedeutet das? wenn $sql ungleich leer mache etwas? du hast ja $sql klar ersichtlich einen String zugewiesen?
 
Hi,

mach doch mal:
echo $sql;
und
print_r($_POST);

Wie sehen denn Deine Tabellenstruktur und das Formular aus?

LG

Hi,
deine Befehle erzeugen folgendes : .INSERT INTO daten VALUES ('', '', '', 'Elstar', '')Array ( [sorte] => Elstar )

Wie kann ich die Tabellenstrukur am besten darstellen/beschreiben ?

Mein HTML-Formular sieht folgendermaßen aus :
HTML:
  <body>
    Bitte geben Sie folgende Daten für Ihre Bestellung ein:
    <form action="bestellung_db.php" method="post">
        <p><input size="20 name="name"> Vorname und Nachname</p>
        <p><input size="20 name="strasse"> Strasse</p>
        <p><input size="20 name="ort">PLZ und Ort</p>
        <p><input size="10 name="menge"> kg (Menge)</p>
    Apfelsorte:<br>
        <p><input type="radio" name="sorte" value="Jonagold">Jonagold
          <input type="radio" name="sorte" value="Gala">Gala
          <input type="radio" name="sorte" value="Elstar">Elstar</p>
          <input type="submit" value="Abschicken">
        <input type="reset">
    </form>         
  </body>

Oh man, da ist ja der Fehler !! Wieso sieht man den erst wenns so fett gehighlighted wird ;)
Ich glaub damit hat sich das erledigt.
Danke nochmals
 
PHP:
create table x.t (
name char(50),
strasse char(50),
ort char(50),
sorte char(50),
menge char(50)
)
###################################################################

<?php

$pw="";
$user="root";
$host="localhost";
$db="x";

$con=@mysql_connect($host,$user,$pw) or die("keine connection zur database");
$choose=@mysql_select_db($db) or die("datenbank kann nicht gewählt werden");

if($con){
echo "con aktiv";
}

if($choose){echo "alles roger";}

$name="Chef";
$strasse="Weg";
$ort="Salzburg";
$sorte="torte";
$menge="vier";

$input="Insert into x.t VALUES ('$name','$strasse','$ort','$sorte','$menge')";

		mysql_query($input); 
#####################################

		$abfrage="select * from x.t";
		$sel=mysql_query($abfrage);
			while ($row=mysql_fetch_object($sel)) {
			
			echo $row->name; echo $row->menge;
		echo "<br>";
		
		}


?>

##########################################################################
con aktivalles rogerChefvier
Chefvier
Chefvier


thx, ohne dich hätte ich es in 5 Tagen nichtmehr geschafft :)
 
Zurück