Eingabeformular, register globals off, $_POST - Problematik
Hallo,
zunächst einmal ein großes Kompliment für das Forum ! Als totaler Anfänger habe ich mich an dem open book von galileo computing versucht.
Zu meinem großen Erstaunen hat der Anfang sogar funktioniert - jetzt stehe ich aber doch sehr auf dem Schlauch.
Der Anleitung folgend habe ich zunächst die Datenbank und die Tabelle über phpmyadmin eingerichtet. Anschließend habe, ich wie angeraten, ein zusätzliches Feld ( bei mir 'nummer' ) als Index angelegt und schrittweise über phpmyadmin mit den Attributen 'not null' und 'unique' versehen.
Ich habe mir zunächst nichts dabei gedacht, zumal Mysql den Warnhinweis, es sei kein Index vergeben, prompt abgeschalte hat. Stutzig hätte mich machen müssen, dass ich bei dem Versuch über phpmyadmin einen Datensatz ohne Index einzufügen eine
Fehlermeldung bekam - aber so wie ich das verstanden habe, ist das ja gerade der Zweck eines Indexes. Außerdem hat die einfache Ausgabe der kompletten Datenbank über Skript funktioniert.
In nachstehendem Eingabeskript bin ich mit meinem Latein am Ende. Ein Index wird, soweit ich sehe, nicht angesprochen, und ich habe keine Ahnung, wie ich mein Feld 'nummer' einbinden kann.
Ich kann zwar Daten eingeben, es erscheint jedoch keine Meldung. Die Eingabeseite lädt neu, erscheint leer, die Datenbank bleibt unverändert .
Code: uf13.php
Dank im voraus. Ich hoffe, nicht zu sehr gelangweilt zu haben. Wie gesagt, ich bin blutiger Anfänger und wollte so genau wie möglich beschreiben, was ich bisher gemacht habe.
MfG
batigoalx
Hallo,
zunächst einmal ein großes Kompliment für das Forum ! Als totaler Anfänger habe ich mich an dem open book von galileo computing versucht.
Zu meinem großen Erstaunen hat der Anfang sogar funktioniert - jetzt stehe ich aber doch sehr auf dem Schlauch.
Der Anleitung folgend habe ich zunächst die Datenbank und die Tabelle über phpmyadmin eingerichtet. Anschließend habe, ich wie angeraten, ein zusätzliches Feld ( bei mir 'nummer' ) als Index angelegt und schrittweise über phpmyadmin mit den Attributen 'not null' und 'unique' versehen.
Ich habe mir zunächst nichts dabei gedacht, zumal Mysql den Warnhinweis, es sei kein Index vergeben, prompt abgeschalte hat. Stutzig hätte mich machen müssen, dass ich bei dem Versuch über phpmyadmin einen Datensatz ohne Index einzufügen eine
Fehlermeldung bekam - aber so wie ich das verstanden habe, ist das ja gerade der Zweck eines Indexes. Außerdem hat die einfache Ausgabe der kompletten Datenbank über Skript funktioniert.
In nachstehendem Eingabeskript bin ich mit meinem Latein am Ende. Ein Index wird, soweit ich sehe, nicht angesprochen, und ich habe keine Ahnung, wie ich mein Feld 'nummer' einbinden kann.
Ich kann zwar Daten eingeben, es erscheint jedoch keine Meldung. Die Eingabeseite lädt neu, erscheint leer, die Datenbank bleibt unverändert .
Code: uf13.php
Was ich nun erhoffe, ist Hilfe bei a) der Einfügung meines 'nummer'-Feldes bzw. b) der Erstellung einer Art automatischen Indexes für jeden neuen Datensatz. Denn was nützt es dem User, wenn er sich zuerst die komplette Datenbank anschauen muss um den zuletzt vergebenen Index festzustellen ? Fragt sich nur, ob das mit meiner Struktur bzw. meinem Skript überhaupt geht ? Ich hoffe stark, dass da noch etwas zu retten ist.<html>
<head>
<?php
if ($gesendet)
{
$db = mysql_connect();
$sqlab = "insert personen";
$sqlab .= "(name, vorname, personalnummer,";
$sqlab .= " gehalt, geburtstag) values ";
$sqlab .= "('$na', '$vn', $pn, $ge, '$gt')";
mysql_db_query("firma", $sqlab);
$num = mysql_affected_rows();
if ($num>0)
echo "Es wurde 1 Datensatz hinzugefügt<p>";
else
{
echo "Es ist ein Fehler aufgetreten, ";
echo "es wurde kein Datensatz hinzugefügt<p>";
}
mysql_close($db);
}
?>
</head>
<body>
Geben Sie einen vollständigen Datensatz ein und senden Sie das
Formular ab:
<form action = "uf13.php" method = "post">
<input name="na"> Name<p>
<input name="vn"> Vorname<p>
<input name="pn"> Personalnummer (eine ganze Zahl)<p>
<input name="ge"> Gehalt (Nachkommastellen mit Punkt)<p>
<input name="gt">
Geburtsdatum (in der Form JJJJ-MM-TT)<p>
<input type="submit" name="gesendet">
<input type="reset">
</form>
Alle Datensätze <a href="uf07.php">anzeigen</a>
</body>
</html>
Dank im voraus. Ich hoffe, nicht zu sehr gelangweilt zu haben. Wie gesagt, ich bin blutiger Anfänger und wollte so genau wie möglich beschreiben, was ich bisher gemacht habe.
MfG
batigoalx
Zuletzt bearbeitet: