• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Tabelleneinträge übergeben?

sunoghlin

Neues Mitglied
Hi.

Ich habe folgendes vor und brauche Hilfe bei der Herangehensweise:

Für einen Lehrer möchte ich einen Vertretungsplan für die einzelnen Klassen erstellen.
Ich stelle es mir so vor:

Lehrer geht auf Internetseite der Schule. Ruft den Punkt Vertretungsplan auf. Da soll für jeden (also auch für Schüler) der Vertretungsplan sichtbar sein (ohne Eingaben machen zu können). Der Lehrer soll über einen Login auf das „Vertretungsplaneingabeformular“ kommen.
Dort kann er für jeden Tag die Vertretungsstunden eintragen. Der Lehrer drückt auf speichern und auf der Seite Vertretungsplan soll der geänderte Vertretungsplan erscheinen.

Was ich schon habe/kann:

1. Die Seite der Schule ist fertig und funktioniert. =)
2. Einen Login-Bereich kann ich erstellen/hab ich auch schon
3. Habe das Eingabeformular erstellt. (siehe Link)

Name: admin
Passwort: demo

http://sunoghlin.su.funpic.de/test/vertretungsplan.php
http://sunoghlin.su.funpic.de/test/vertretungsplan_test.php
Fragen:

1. Wie mache ich das, dass beim speichern/absenden der Wert übergeben wird?

Vielen dank schon mal. :grin:

Liebe Grüße

sunoghlin
 
Zuletzt bearbeitet:
Werbung:
Ohne jetzt alles angeguckt zu haben, im <form>-Tag ist das action-Attribut nicht gefüllt, und das method-Attribut fehlt komplett (method="post") und die Daten werden an die im action-Attribut angegebenen Daten gesendet.

Das wäre aber eine HTML-Frage gewesen ;-)

Gruß thuemmy
 
Du must der <form> noch sagen, ob die Daten per GET oder per POST gesendet werden sollen
HTML:
<form target="" method="post"></form>
dann kannst du sie per
PHP:
$_REQUEST['name']
auslesen.

Warum sind das alles Textareas? Soll da später so viel Text drin stehen?
 
Werbung:
Hi.

WOW...

Danke für die schnellen antworten. Aber irgendwie kapier ich das noch nicht ganz. Also eigentlich sind es ja 2 Tabellen/Formulare.

Muss ich jetzt "method="post"" bei beiden angeben? Hab ich das action-attribut richtig ausgefüllt oder muss da was anderes hin?

@ _Thor_

Die vielen textfelder sind dafür da, das man bei jeder Zelle was reinschreiben kann. Also zum beispiel "MA" für Mathematik oder so.

Was genau meinst du mit:

Soll da später so viel Text drin stehen?
Liebe Grüße :grin:

sunoghlin
 
Aber irgendwie kapier ich das noch nicht ganz. Also eigentlich sind es ja 2 Tabellen/Formulare.
Du brauchst nur ein Formular und zwar dort, wo du die Eingabefelder hast. Für die Tabelle, die du für die Ausgabe verwendest, brauchst du kein Formular. Allerdings musst du dir die Daten auch irgnedwo speichern. Hast du dafür eine Datenbank, oder eine Datei? Denn sonst sind die Daten beim nächsten Aufruf wieder weg.

Muss ich jetzt "method="post"" bei beiden angeben?
Die Frage erübrigt sich, wenn du die erste Antwort aufmerksam gelesen hast ;)

Hab ich das action-attribut richtig ausgefüllt oder muss da was anderes hin?
Fast richtig, das 'e' am Ende muss noch weg.

Die vielen textfelder sind dafür da, das man bei jeder Zelle was reinschreiben kann. Also zum beispiel "MA" für Mathematik oder so.
Dann würde ich dort zu <input> raten, <textarea> ist für mehrzeilige, längere Eingaben.
 
Vielen dank.

Ok. Also nur ein Formular. Verstanden.
Aber jetzt noch mal ne ganz blöde Frage. Muss ich eine Datenbank oder Datei haben? Oder sollte es auch so gehen?

Wenn es nicht ohne geht. Kanns du mir dann vielleicht erklären, wie das mit dem speichern in der txt.-datei geht? datenbanken sind mir zu kompliziert. :oops:

Wäre sehr freundlich.

Liebe Grüße :grin:

sunoghlin
 
Werbung:
Ich würde trotzdem eine Datenbank nehmen, das ist weniger Aufwand als es in eine Datei zu schreiben und dir selbst ein Format zu überlegen, damit du die Daten auch wieder auslesen kannst.
 
Ah. Ok. Vielen Dank.
Da werde ich mich wohl mal genau mit datenbanken befassen.

kennst du ein tutorial, wo ich mir das mit den Datenbanken anschauen kann? Ich habe bisher nur schrott gefunden.

Liebe Grüße

sunoghlin
 
Werbung:
Vielen Dank!!!

Es funktioniert. Ich kann die Eingaben speichern und sie werden auch übergeben. *freu* :grin:

Ein frage hab ich aber noch. Gibt es einen befehl, der Inhalt einzelner Datensätze überschreibt?

Ich habe nämlich noch das Problem, das, wenn ich mal ein paar einträge mache, erstmal alles angezeigt wird, wie es sein soll. Dann wenn ich neue Einträge mache, erweitert er ja die Datensätze. Ich möchte, das der jeweilige Datensatz überschrieben wird. Ist das möglich?

Leider kann ich nicht zeigen, wie die sache aussieht, da ich zu doof bin die Datenbank auf funpic laufen zu lassen (es kommt immer ein fehler der was mit dem "mysql_connect" zu tun hat. Dabei hab ich alle daten von meinen funpic-webspace eingetragen, hmm, keine ahnung wieso). :oops:
Damit muss ich mich erst noch genauer beschäftigen. :grin:

Liebe Grüße

sunoghlin
 
Vielen Dank.

Jetzt funktioniert es so wie ich es haben möchte. :grin: *FREU*

Wenn ich das jetzt noch zu laufen im Netz bekomme, ist es perfekt.

Noch ne kleine frage.

ich muss doch, damit es zum beispiel bei funpic läuft, das mysql_connect so schreiben...

PHP:
mysql_connect("datenbankname.funpic.de","sunoghlin","meinpassword")
und bei mysql_select_db

PHP:
mysql_select_db("datenbankname")
Ist das richtig so?
oder mach ich was falsch?

Für hilfe bin ich sehr dankbar.

Liebe Grüße :grin:

sunoghlin
 
Werbung:
ich muss doch, damit es zum beispiel bei funpic läuft, das mysql_connect so schreiben...

PHP:
mysql_connect("datenbankname.funpic.de","sunoghlin","meinpassword")
und bei mysql_select_db

PHP:
mysql_select_db("datenbankname")
Ist das richtig so?
oder mach ich was falsch?

Für hilfe bin ich sehr dankbar.

Liebe Grüße :grin:

sunoghlin
Das ist soweit richtig.

Damit du diese Befehle nicht bei jedem PHP-Script erneut schreiben musst, empfehle ich folgendes Script global einzubinden (zb eine config php Datei):
PHP:
if (!isset($serverid)) {
$serverid  = @mysql_connect($db_host, $db_usr, $db_pw) or
             die ("Verbindung zur Datenbank nicht möglich !");
}
if (!mysql_select_db($db_name))  echo mysql_error($serverid);

Dann brauchst du in deinen Scripten nur noch an der Stelle:
PHP:
mysql_query($sqlbefehl, $serverid);
Das erspaart einiges an Code-Wirrwarr ;)

Mfg
 
Vielen Dank. :grin:

Spart zeit...

Ich konnte den Fehler auch finden :grin:.

ich hatte noch bei einer datei die falschen Daten drin. jetzt funktioniert es (zwar etwas langsam) auch im Internet *juhu*!!!
Versuche es noch zu optimieren.
__________________________________

Wenn ihr wollt, könnt ihr es ja mal testen. :grin:
Vielen Dank an alle :grin:.

liebe Grüße

sunoghlin
 
Zurück
Oben