Kurssystem

Bennibtw

Gesperrt
Also ich habe da ein Problem mit PHP! Mein Vater ist Lehrer an einer Gesamtschule und ist für die Zusammensetzung der Wahlpflichtkurse Sport zuständig. Die Sache ist, dass jeder einen Kurs nur einmal wählen darf! Also nicht zwei Jahre lang Sport! Ich dachte mir also: Ich schreibe ein PHP script, das auf eine Mysql Datenbank zugreift. In diesem Script soll man den Namen des Schülers eingeben! (ich wollte für jedes Fach ein eigenes Eingabescript machen) und dieser Name sollte dann unter dem Fach gespeichert werden. Wenn dieser Schüler nun ein Jahr später das selbe Fach angibt soll eine Fehlermeldung ausgegeben werden, dass er dieses fach schon einmal gewählt hat. ich bin gerade bei der Eingabeseite aber enn ich es versuche Abzuschicken kommt die fehlermeldung: es traten fehler auf: Hier einmal der Link zu dem Script!

http://www.counterstrike.tutorial-source.com/Kurse/db_eingabe.html

Und hier nochmal die einzelnen datein:
<html>
<head>
<title>Kurse</title>
</head>
<body>

<?php

$host = "localhost";
$user = "bennis";
$password = "Das Passwort müsst ihr ja nicht wissen";
$dbname = "bennis";
$tabelle ="Kurse";

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "CREATE table $tabelle (LA TEXT, BB TEXT, TR TEXT, Tisch TEXT, Tanz TEXT, GE TEXT, BASB TEXT, Fit TEXT, VOB TEXT, HAB TEXT, Fuß TEXT, KA TEXT) ";

if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Tabellenerzeugung erfolgreich.");
} else {
print ("Konnte Tabelle nicht erstellen.");
}
mysql_close ($dbverbindung);
?>



</body>
</html>


Hier das Eingabescript

<html>
<head>
<title>Dateneingabe</title>
</head>
<body>
<form action="work.php" method=post>
Überschrift <br>
<input type=text name="Array[LA]" size= 50>
<br>
<br>
<input type=submit name="SUBMIT" value="ok">
</form>
</body>
</html>

Und hier das Script, dass die Daten verarbeiten soll

<html>
<head>
<title>Daten verarbeiten</title>
</head>
<body>

<?php

$host = "localhost";
$user = "bennis";
$password = "hamburg5";
$dbname = "bennis";
$tabelle ="Kurse";

$dbverbindung = mysql_connect ($host, $user, $password);

$dbanfrage = "INSERT into $tabelle values ('Array[LA]')";

if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Datenbankeintrag erfolgreich.");
} else {
print ("Es traten Probleme auf.");
}
mysql_close ($dbverbindung);

?>

</body>
</html>
 
Zuletzt bearbeitet:
Das liegt wahrscheinlich daran, dass du vergessen hast beim Insert die Felder an zugeben in denen die Werte eingetragen werden sollen in der MySQL-Datenbank.

Änder das:
PHP:
$dbanfrage = "INSERT into $tabelle values ('Array[LA]')";
mal ab in:
PHP:
$dbanfrage = "INSERT into $tabelle (LA) values ('".$_POST["Array[LA]"]."')";
 
Änderung

Also ich habe jetzt eine änderung vorgenommen!
Die daten sind jetzt so ähnlich (nur mit anderen Bezeichnungen) wie das Tutorial: http://www.tutorials.de/tutorials15435.html
Die Namen werden also in den ( Im Tutorial header gennant bei mir Namen) in die datenbank eingefügt.
Das Fach wird in die im Tutorial als Artikel gekennzeichnete Spalte geschrieben. Aber wie verhindere ich jetzt, dass ein Name doppelt vorkommt? Also wie lasse ich das Script überprüfen ob der Benutzer schon vorhanden ist mit z.b. dem Namen Paul? Helft mir mal bitte danke!
 
Zuletzt bearbeitet:
Re: Änderung

Original geschrieben von Bennibtw
Aber wie verhindere ich jetzt, dass ein Name doppelt vorkommt? Also wie lasse ich das Script überprüfen ob der Benutzer schon vorhanden ist mit z.b. dem Namen Paul? Helft mir mal bitte danke!
Bevor Du den Datenbankeintrag vornimmst, fragst Du einfach ab, ob ein entsprechender Eintrag schon vorhanden ist:

PHP:
/* sql anweisung */
$strSQL = "SELECT name FROM ".$tabelle." WHERE name = '".$_POST['vorname']."' AND nachname = '".$_POST['nachname']."'";

/* sql anweisung ausführen */
$rsUser = mysql_query($strSQL);

if(mysql_num_rows($rsUser) == 0) {
    /*  kein datensatz gefunden
        neuen datensatz eintragen
     */
} else {
    /*  es wurde ein datensatz gefunden 
        fehlermeldung ausgeben
    */
}
[phpf]mysql_num_rows[/phpf]
 
Zurück