Ich habe mal wieder Probleme..

  • Themenstarter Themenstarter PatMor
  • Beginndatum Beginndatum
P

PatMor

1) Ich will Werte aus einem Formular als Datensatz in eine MySQL-Datenbank speichern. Nun habe ich eine simple Abfrage dazwischengeschalten (Datei1: Formular, Datei2: Abfrage, Datei3: Speichern in Datenbank).
Nun wollte ich dies mit POST lösen, da GET ja alles an die URL anhängt und das Passwort wäre dann sichtbar, bei SESSIONs besteht das Problem das die net funktionieren sobald der User keine Cookies akzeptiert.
(Jedenfalls ist mir das so passiert (Firefox 1.5)). Nur wie erhalte ich die Daten von Datei1 bis zur dritten?

2) Ich hab auch gleich noch ein paar Fragen. Ich möchte, dass sich die User untereinander Mails schicken können. Ist es da "schlau" die Mails in eine(!) extra Tabelle zu speichern und nach dem Einloggen die Tabelle 2 abzufragen, ob in der Spalte "Empfänger" sein Nick steht und dann die Mails auszugeben? Oder gleich
für jeden User ne eigene Mail-Tabelle!? <- fänd ich etwas übertrieben..

3) Weiterhin sollen nur je 5 Mails pro Absender gespeichert werden(egal ob gelesen oder nicht).
Wie mache ich es, dass alle anderen Mails gelöscht werden und somit nur die 5 aktuellsten erhalten bleiben? Es wäre doch auch das Beste, wenn man die Tabelle 2 nach dem Senden an einen beliebigen User überprüft, oder?

4) Was mich auch interessiert, hat es Nachteile wenn ich direkt beim Seitenaufruf die Verbindung zu SQL herstelle?
Oder sollte ich sie nur aufbauen und anschließend gleich abbrechen (geht das?) wenn ich sie brauche?
Also genau dann wenn ich etwas speichere oder lese..

5) Thema SESSIONs nochmal, ich sehe häufig Websiten wo in der URL Sachen stehen wie z.Bsp
http://www.domain.de/main.php?id=feoezfh1093hf32hfgo1z32g90
Was bedeutet das? Ich dachte immer, das man alle Werte die man benötigt in eine SESSION speichert und deren ID weitergibt, die Seite nach dem Reloaden dann alle Werte wieder aus der ID nimmt, aber entweder lag ich da falsch oder ich bekomms nicht hin. Mir wäre es nämlich lieber, dass das so geht wie ichs mir denke (lol.. oh man), weil: Ich so Passwörter senden könnte und niemand in der URL pfuschen kann..

Ich hoffe man kapiert was ich mir hier für Fragen stelle (hatte präzise 4 Stunden Schlaf, ZU WENIG)..
 
Zum ersten Punkt: Was genau passiert im zweiten Skript? Ist es nicht möglich dies im dritten Skript durch include einzubeziehen?
Sitzungen erfordern übrigens nicht zwangsläufig die Akzeptanz von Cookies, da die Sitzungs-ID auch per GET- (URL) oder POST-Methode (Formular) übergeben werden kann.

Zum zweiten Punkt: Eine Tabelle für alle reicht vollkommen aus.

Zum dritten Punkt: Dazu genügt eine einfache Abfrage. Für nähere Fragen steht dir das Datenbankforum zur Verfügung.

Zum vierten Punkt: Eine Datenbankverbindung sollte logischerweise nur dann aufgebaut werden, wenn sie tatsächlich benötigt wird. Doch wenn eine benötigt wird, sollte diese während der gesamten Laufzeit des Skriptes genutzt werden und nicht für jede Datenbankinteraktion eine neue geöffnet werden.

Zum fünften Punkt: Die Sitzungs-ID wird benötigt, um einen Benutzer einer Sitzung eindeutig zuordnen zu können. Die Sitzungswerte/-daten selbst werden dabei serverseitig gespeichert. Die Sitzungs-ID fungiert somit nur als eine Art Authentifizierungsschlüssel.
 
1) Das Script auf Seite 2 fragt eigentlich nur ab ob Passwort1 und 2 sowie eMail-Adresse1 und zwei übereinstimmen, ob alle Felder ausgefüllt sind und ob das Alter mindestens 16 Jahre beträgt. Erst wenn dies der Fall ist sollte der Link zur 3. Seite auftauchen um die Dateien zu speichern. Ich könnte Seite 2 und 3 eigentlich zu einer zusammenfassen, aber ich will bevor die Daten gespeichert werden, dass der User seine Daten überprüfen kann, um sie gegebenenfalls abzuändern. Allerdings könnte ich den ganzen Speichervorgang in einer Function zusammenfassen die erst durchlaufen wird wenn der User auch auf "Speichern" klickt ( $var_speichern = TRUE; am Anfang des Scriptes wird se halt auf FALSE gesetzt und ich rufe bei dem Klick auf Weiter die Seite 2 erneut auf) Das müsste eigentlich was werden.

2) Eine Tabelle für alle User und eine für die ganzen Mails?

3) Ich schau mal nach

4) Also die Datenbank-Verbindung wird eigentlich die ganze Zeit gebraucht, da man auf der Seite nur etwas machen kann, wenn man sich eingeloggt hat.. Von daher kann ich die Verbindung wohl bestehen lassen.

5) Hmm okay, aber was ist das dann immer? http://www.domain.de/main.php?id=nadsfkla..? Wie übergeben die da Werte? Kann es sein das die mehrere Variablen aneinanderreihen (heins-schuster-46 / vorname,nachname,alter), das ganze verschlüsselt übertragen (>id=jagaglkasg..) um es für den User "unsichtbar" zu machen? das ginge doch dann auch nur wieder zu entschlüsseln wenn jede Variable eine feste Länge hat oder?

(Ich denk mir wieder Sachen in den Kopf)
 
Wie bereits erwähnt, werden die Sitzungsdaten serverseitig gespeichert. Die übergebene Sitzungs-ID dient dabei ausschließlich der Assoziierung des Benutzers mit den Sitzungsdaten.
 
Zurück