Wie man ein Formular zunächst vorschaut und in die Datenbank anlegt.

pattson

Grünschnabel
Hallo ,ich habe ein Formular erstellt,was die Benutzer ausfüllen sollen.Die Angaben der Benutzer sollen in eine MySQL-Datenbank angelegt werden.Der Benutzer füllt das Formular aus, dann hat die Möglichkeit seine Angaben vorzuschauen durch den Knopf << weiter zur Vorschau >> .Auf die Vorschau-Seite hat er die Möglichkeit seine Daten zu ändern durch den Knopf << Zurück >> oder sie zu speichern durch den Knop << Speichern >> .Mein Problem ist folgendes,die Angaben der Benutzer werden leider nicht in DB angelegt obwohl ich keine Fehlermeldung bekomme,alle Felder werden in DB mit null markiert ausser der Primärschlüssel (userid-auto-inkement) .Kann jemand mir bitte erklären wie man ein Formular-Vorschau erstellt.

Im Vorraus vielen Dank.
PS: So sieht das Formular aus.
Code:
// Datei vorschautest.html
<html>
<head>
<title></title>
<meta name="author" content="Ale">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
</head>
<body>


<form method="POST" action="vorschautest.php" method="POST">
<p>Name:<input type="text" name="name" size="30"></input></p>
<p>E-Mail:<input type="text" name="email" size="30"></input></p>
<p>Buchbewertung: 1
<input type="radio" name="bewertung" value="1"></input>
 2
 <input type="radio" name="bewertung" value="2" checked></input>
 3
 <input type="radio" name="bewertung" value="3"></input>
 4
 <input type="radio" name="bewertung" value="4"></input>
 5
 <input type="radio" name="bewertung" value="5"></input>
 6
 <input type="radio" name="bewertung" value="6"></input>
 </p>
<p>Kommentar:
<textarea name="kommentar" cols="30" rows="5"></textarea></p>
<p>Lieblingsthema :</p>
<select name="auswahl">
<option value="PHP">PHP</option>
<option value="MySQL" selected="true">MySQL</option>
<option value="JAVA">JAVA</option>
<option value="ASP">ASP</option>
</select>
</p>
<p>
<input type="submit" name="Submit" value="weiter zur Vorschau"></input>
<input type="reset" name="reset" value="Zurücksetzen"></input>
</p>
</form>
</body>
</html>

// Datei  vorschautest.php
<html>
<head>
<title></title>
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
</head>
<body>
<?php
error_reporting(0);

$name=$_POST["name"];
$email=$_POST["email"];
$bewertung=$_POST["bewertung"];
$kommentar=$_POST["kommentar"];
$auswahl=$_POST["auswahl"];

?>
 <P>Folgende Daten wurden &uuml;bermittelt:</p>
 <b>Name : </b><?php echo $name ?><br>
 <b>E-Mail :</b><?php echo $email ?><br>
 <b>Buchbewertung :</b><?php echo $bewertung ?><br>
 <b>Kommentar :</b><?php echo $kommentar ?><br>
 <b>Lieblingsthema :</b><?php echo $auswahl ?>
 <p>
 <form method=POST action="speichern.php"  method="POST">
 <input type="button" value="Zur&uuml;ck" onclick="Javascript:history.back()"></input>
 <input type="submit" name="Submit" value="Speichern"></input>
 <input type="hidden" name="userid" value="<?php echo $userid ?>">
 </form>
 </p>
 </body>
</html>


//Datei  speichern.php

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta name="author" content="Ale">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<?php
error_reporting(0);

$submit=$HTTP_GET_VARS["submit"];

$userid=$_POST["userid"];
$name=$_POST["name"];
$email=$_POST["email"];
$bewertung=$_POST["bewertung"];
$kommentar=$_POST["kommentar"];
$auswahl=$_POST["auswahl"];


include("equidioconnect.php"); // Verbindung zur Datenbank


$eintrag="insert into buchhandlung (userid,name,email,bewertung,kommentar,auswahl) values('$userid','$name','$email','$bewertung','$kommentar','$auswahl')";
$eintragen=mysql_db_query($datenbank,$eintrag,$verbindung) or die ("<h4>Ihre Daten konnten leider nicht eingetragen werden.</h4>");

/*  Ich habe auch mit dieser Methode versucht geht,leider nicht,
$eintrag="insert into buchhandlung (userid,name,email,bewertung,kommentar,auswahl) values('$_POST[userid]','$_POST[name]','$_POST[email]','$_POST[bewertung]','$_POST[kommentar]','$_POST[auswahl]')";
$eintragen=mysql_db_query($datenbank,$eintrag,$verbindung) or die ("<h4>Ihre Daten konnten leider nicht eingetragen werden.</h4>");
*/

if($eintragen)
{
?>
<center><h4>Ihre Stammdaten wurden erfolgreich eingetragen.</h4></center>
<?php
} //end if($eintragen)
?>
</body>
</html>

// Tabelle:

CREATE TABLE `buchhandlung` (
  `userid` int(10) NOT NULL auto_increment,
  `name` varchar(40) default NULL,
  `email` varchar(120) default NULL,
  `bewertung` varchar(10) default NULL,
  `kommentar` text default NULL,
  `auswahl` varchar(20) default NULL,
  PRIMARY KEY  (`userid`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
 
ich weiß nicht genau ob es eine Roller spielt, aber verusch es mal so:

$eintrag = mysql_query("INSERT INTO `buchhandlung ` (`userid`,`name`,`email`,`bewertung`,`email`,`kommentar`,`auswahl`) VALUES ('".$_POST["name"]."','".$_POST["name"]."','"$_POST["email"]."','"$_POST["bewertung"]."','"$_POST["kommentar"]."','"$_POST["auswahl"]."');

das mag sich zwar sehr yhaft anhören, aber welchen Editor benutzt du? Ich habe Dreamwaever und da wird mir alles rot angezeigt, das heißt es ist falsch. Die einzelnen Farben sagen die immer ob es stimmt oder nicht (natürlich nur sehhhhhhhhhhhhr grob)
 
Zuletzt bearbeitet:
Bei mir bekomme ich keine Fehlermeldung,ich benutze als Editor Phase 5.Das einzige Problem,die Daten werden leider nicht in Datenbank angelegt.
 
1. Kommen die Daten auf der Speichern.php an? Mach mal
PHP:
echo $_POST["name"]; 

etc....

2. Wofür gibts denn die Formatierung für Code, HTML, PHP Code hier im Forum? Demit es übersichtlicher wird !

Gruß GalaxyWarrior
 
Zurück