C
Crunor
Gast
Guten Tag,
ich habe ein kleines Problem mit unserem Script. Wir tragen in der Schule momentan die Bücher "hobbymäßig" in eine MySQL Datenbank ein, mit dem Hintergrund diese dann in die Schulhomepage zu integrieren.
Nun habe ich ein kleines Formular erstellt, wo die Werte eingegeben werden sollen. Mit Click auf den Button sollen die Werte dann an ein anderes Script weitergegeben werden, was dann prüft, ob alle benötigten Werte da sind und diese dann in die Datenbank einträgt.
Hier mal die beiden Dateien:
eintrag.php - hier wird ein Formular erstellt, was dann die Werte mit Post an eingetragen.php verschickt.
eingetragen.php - hier werden die Werte aus eintrag.php empfangen, geprüft ob alle Werte vorhanden sind und diese sollen dann in die Datenbank eingetragen werden. Ich weiß, dass die Art und Weise, der den Benutzer zu eintrag.php zurückschickt nicht der schönste ist, aber ich wusste mir nicht anders zu helfen.
Und nun das Problem: Soweit funktioniert eigentlich alles ganz gut. Jedoch sind $hoehe und $segment zwei kleine Problemkinder - egal, was man bei diesen beiden Felder eingibt, in der Datenbank landet immer ein Wert Null ("0"). Im Anhang mal die Struktur der Datenbank, wo auch die entsprechenden Datentypen stehen. Wenn ich die Datensätze allerdings über PHPMyAdmin anlege und den gleichen Befehl verwende wie im Script, kommen korrekte Werte bei raus. Also muss der Fehler beim Script liegen. Nur wo?
Ich blick einfach nicht, wieso $regal korrekt übergeben wird, allerdings $hoehe und $segment immer als 0 ausfallen ... weiß da wer Hilfe?
ich habe ein kleines Problem mit unserem Script. Wir tragen in der Schule momentan die Bücher "hobbymäßig" in eine MySQL Datenbank ein, mit dem Hintergrund diese dann in die Schulhomepage zu integrieren.
Nun habe ich ein kleines Formular erstellt, wo die Werte eingegeben werden sollen. Mit Click auf den Button sollen die Werte dann an ein anderes Script weitergegeben werden, was dann prüft, ob alle benötigten Werte da sind und diese dann in die Datenbank einträgt.
Hier mal die beiden Dateien:
eintrag.php - hier wird ein Formular erstellt, was dann die Werte mit Post an eingetragen.php verschickt.
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<?php
include("dbconnect.php");
?>
<html>
<head>
<title>Einen neuen Datensatz eintragen</title>
</head>
<body>
<center>Mit dem folgenden Formular kann man neue Bücher hinzufügen.<br>Das Löschen von Datensätzen ist nachträglich <u>nicht</u> möglich.<br><br><b>Bitte aktiviere JavaScript!</b><br><br>
<table border="0">
<form action="eingetragen.php" method="post">
<tr><td>Titel <font color="red"><b>*</b></font>:</td> <td><input type="text" size="17" name="feld_titel"></td></tr>
<tr><td>Untertitel:</td> <td> <input type="text" size="17" name="feld_untertitel"></td></tr>
<tr><td>Autor <font color="red"><b>*</b></font>:</td> <td> <input type="text" size="17" name="feld_autor"></td></tr>
<tr><td>Barcode:</td> <td> <input type="text" size="17" name="feld_barcode"></td></tr>
<tr><td>Verlag <font color="red"><b>*</b></font>:</td> <td> <input type="text" size="17" name="feld_verlag"></td></tr>
<tr><td>Kategorie <font color="red"><b>*</b></font>:</td> <td> <input type="text" size="17" name="feld_kategorie"></td></tr>
<tr><td>Jahr <font color="red"><b>*</b></font>:</td> <td> <input type="text" size="17" name="feld_jahr"></td></tr>
<tr><td>Seitenzahl <font color="red"><b>*</b></font>:</td> <td> <input type="text" size="17" name="feld_seitenzahl"></td></tr>
<tr><td>Regal <font color="red"><b>*</b></font>:</td> <td> <input type="text" size="17" name="feld_regal"></td></tr>
<tr><td>Segment <font color="red"><b>*</b></font>:</td> <td> <input type="text" size="17" name="feld_segment"></td></tr>
<tr><td>Hoehe <font color="red"><b>*</b></font>:</td> <td> <input type="text" size="17" name="feld_hoehe"></td></tr>
<tr><td>Sonstiges:</td> <td> <input type="text" size="17" name="feld_sonstiges"></td></tr>
</table>
<center>
<input type="submit" value="Datensatz endgültig abschicken">
</center>
</form>
<br>
<center>Felder mit einem roten Sternchen (<font color="red"><b>*</b></font>) müssen ausgefüllt werden!</center>
</body>
</html>
eingetragen.php - hier werden die Werte aus eintrag.php empfangen, geprüft ob alle Werte vorhanden sind und diese sollen dann in die Datenbank eingetragen werden. Ich weiß, dass die Art und Weise, der den Benutzer zu eintrag.php zurückschickt nicht der schönste ist, aber ich wusste mir nicht anders zu helfen.
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<?php
include("dbconnect.php");
?>
<html>
<head>
<meta http-equiv="refresh" content="0; url=eintrag.php">
<title>Datensatz wird an die Datenbank übergeben ...</title>
</head>
<body>
<?php
$titel = $_POST["feld_titel"];
$untertitel = $_POST["feld_untertitel"];
$autor = $_POST["feld_autor"];
$barcode = $_POST["feld_barcode"];
$verlag = $_POST["feld_verlag"];
$kategorie = $_POST["feld_kategorie"];
$jahr = $_POST["feld_jahr"];
$seitenzahl = $_POST["feld_seitenzahl"];
$regal = $_POST["feld_regal"];
$segment = $_post["feld_segment"];
$hoehe = $_post["feld_hoehe"];
$sonstiges = $_post["feld_sonstiges"];
if(isset($_POST['feld_titel']) && !empty($_POST['feld_autor']) && !empty($_POST['feld_verlag']) && !empty($_POST['feld_kategorie']) && !empty($_POST['feld_jahr']) && !empty($_POST['feld_seitenzahl']) && !empty($_POST['feld_regal']) && !empty($_POST['feld_segment']) && !empty($_POST['feld_hoehe']))
{
$eintrag = "INSERT INTO Buecher (titel, untertitel, autor, barcode, verlag, kategorie, jahr, seitenzahl,
regal, segment, hoehe, sonstiges) VALUES ('$titel', '$untertitel', '$autor', '$barcode', '$verlag', '$kategorie', '$jahr',
'$seitenzahl', '$regal', '$segment','$hoehe', '$sonstiges')";
$eintragen = mysql_query($eintrag);
echo "<script language=javascript>alert('Der Datensatz wurde erfolgreich eingetragen.')</script>";
}
else
{
echo "<script language=javascript>alert('Es wurden nicht alle erforderlichen Angaben gemacht.')</script>";
exit();
}
?>
</body>
</html>
Und nun das Problem: Soweit funktioniert eigentlich alles ganz gut. Jedoch sind $hoehe und $segment zwei kleine Problemkinder - egal, was man bei diesen beiden Felder eingibt, in der Datenbank landet immer ein Wert Null ("0"). Im Anhang mal die Struktur der Datenbank, wo auch die entsprechenden Datentypen stehen. Wenn ich die Datensätze allerdings über PHPMyAdmin anlege und den gleichen Befehl verwende wie im Script, kommen korrekte Werte bei raus. Also muss der Fehler beim Script liegen. Nur wo?
Ich blick einfach nicht, wieso $regal korrekt übergeben wird, allerdings $hoehe und $segment immer als 0 ausfallen ... weiß da wer Hilfe?