Entwickler-Ecke

Programmiersprachen (Server) - Probleme mit einfügen von Datensätzen in meine Datenbank


Black200607 - Sa 03.11.07 12:17
Titel: Probleme mit einfügen von Datensätzen in meine Datenbank
Ich schreibe eine Klassenwebseite und möchte eine seite machen in der man die lösungen der Hausaufgaben hochladen kann.Ich habe ein Problem mit dem eintragen von Datensetzen in meine Datenbank. ich habe so gut wie keine Ahnung wo sich der Fehler verschanzt hat.

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
<?php
echo '
<form action="' . 'index.php' . '"method="post">
Datum für das, die Hausaufgabe benötigt wird:<br>
<input type="text" maxleght="30" name="Datum"></input><br>';
$fach = array('Deutsch', 'Mathematik', 'Englisch', 'Latein', 'Biologie', 'Chemie', 'Erdkunde', 'Geschichte', 'Religion');
$i = 0;
while($i != 9)
{
echo $fach[$i] . ':<br> <TEXTarea rows="15" cols="50" name=' . $fach[$i] . '></TEXTarea><br>';
$i = $i + 1;
}
echo '<input type="submit" value="Submit"></form>';
if ($_POST['Datum']) {
$datum = $_POST['datum'];
$i = 0;
while($i != 9){
  $fachtext[$i] = $_POST['$fach[$i]'];
  $i = $i+1;
} // while
     $sql = "INSERT INTO `homework` ( `datum` , `user` , `deutsch` , `mathematik` , `englisch` , `latein` , `biologie` , `chemie` , `erdkunde` , `geschichte` , `religion` ) 
VALUES (
'$datum', '$_SESSION[user], '$fachtext[0]', '$fachtext[1]', '$fachtext[2]', '$fachtext[3]', '$fachtext[4]', '$fachtext[5]', '$fachtext[6]', '$fachtext[7]', '$fachtext[8]'
);";
mysql_query($sql);
if (mysql_query($sql)) {
        echo "Eintrag erfolgreich";
    }
  
}
?>


Heiko - Sa 03.11.07 13:31

Nen paar Dinge sind mir auf Anhieb aufgefallen:


C#-Quelltext
1:
2:
VALUES (
'$datum''$_SESSION[user], '$fachtext[0]'

(Vergessen zu schließen)

Und statt if ($_POST['Datum'])
nimm lieber

C#-Quelltext
1:
if (!empty($_POST['Datum']))                    

Das erspart dir nen paar Probs. Denn ein Vergleich mit einer nichtgesetzten Variable ergibt immer true ;).


Black200607 - Sa 03.11.07 13:46

Jetzt werden die Fächer nicht eingetragen, also das Datum und der User, aber der Rest bleibt leer...


Heiko - Sa 03.11.07 13:49

Ich glaub der Inhalt deines Satzes widerspricht sich ;).
user profile iconBlack200607 hat folgendes geschrieben:
Jetzt werden [...] nicht eingetragen [...] aber der Rest bleibt leer...

Auf deutsch: es wird gar nichts eingetragen?
Hast du schonmal die MySQL-Fehler abgefangen bzw mal den PHP-Code debuggt?

Grüße
Heiko


Christian S. - Sa 03.11.07 13:51

Das hier sieht komisch aus:

Quelltext
1:
$_POST['$fach[$i]'];                    


Die Anführungszeichen erscheinen mir da irgendwie fehl am Platze.


Black200607 - Sa 03.11.07 13:59

Danke, ich habe die ' entfernt, jetzt klappts. und zu Heiko: du weißt was ich meinte.