Sessions in includierten Datein neustarten?

Jennesta

Erfahrenes Mitglied
Hallo,
ich habe mir diverse Tutorien angeguckt und so ein bisschen mit den Sessions experimentiert. Ich habe es geschafft die Variablen so in alle meine Skripte zu übertragen.
Nun habe ich aber eine Verstädnnisfrage dazu.

Als ich ein Captcha für mein Gästebuch programmiert habe, kam ich nicht darauf, wieso der Captcha-Code nicht übertragen worden ist, bis ich dann durch Zufall in einem anderen Quellcode gesehen habe, das dort eine neue Session geöffnet wurde. Ich hingegen habe vorher nur den Code in der Session gespeichert, weil ich davon ausging, dass die Session bereits besteht.
Diese Codedatei ersetzt ja den Link, den das Bild erwartet. Und dies ist in meinem Gästebuch, welches wie jede andere Teilseite in meiner Index-Datei includiert wird.

Daher nun die Frage. Wenn ich andere Datein, inwelchen Variablen in die Session gespeichert werden, in anderen includiere, muss ich dann auch in jeder dieser Datein mit session_start() die Session neustarten oder reicht es dies in der ersten Datei einmalig zu erledigen? Außerdem kann es Fehler erzeugen, wenn ohne schließen einer Session eine neue geöffnet wird?

Bedanke mich schonmal für einige Infos.

mfg Jennesta

btw.: bevor ich einen neuen Thread eröffne. Kennt jemand eine gute Onlinequelle, Tutorials o.ä. bzgl. sinnvoller Tabellenwahl für Datenbanken bzw. generelles Tabellenmanagment?
 
Hallo,
ich habe mir diverse Tutorien angeguckt und so ein bisschen mit den Sessions experimentiert. Ich habe es geschafft die Variablen so in alle meine Skripte zu übertragen.
Nun habe ich aber eine Verstädnnisfrage dazu.

Als ich ein Captcha für mein Gästebuch programmiert habe, kam ich nicht darauf, wieso der Captcha-Code nicht übertragen worden ist, bis ich dann durch Zufall in einem anderen Quellcode gesehen habe, das dort eine neue Session geöffnet wurde. Ich hingegen habe vorher nur den Code in der Session gespeichert, weil ich davon ausging, dass die Session bereits besteht.
Diese Codedatei ersetzt ja den Link, den das Bild erwartet. Und dies ist in meinem Gästebuch, welches wie jede andere Teilseite in meiner Index-Datei includiert wird.

Daher nun die Frage. Wenn ich andere Datein, inwelchen Variablen in die Session gespeichert werden, in anderen includiere, muss ich dann auch in jeder dieser Datein mit session_start() die Session neustarten oder reicht es dies in der ersten Datei einmalig zu erledigen? Außerdem kann es Fehler erzeugen, wenn ohne schließen einer Session eine neue geöffnet wird?

Bedanke mich schonmal für einige Infos.

mfg Jennesta

btw.: bevor ich einen neuen Thread eröffne. Kennt jemand eine gute Onlinequelle, Tutorials o.ä. bzgl. sinnvoller Tabellenwahl für Datenbanken bzw. generelles Tabellenmanagment?

Hallo,
erstmal siehe hier.
Du startest eine SESSION bevor überhaupt eine gestartet wurde.
session_start()= startet eine neue oder nimmt die alte auf.

Kennt jemand eine gute Onlinequelle, Tutorials o.ä. bzgl. sinnvoller Tabellenwahl für Datenbanken bzw. generelles Tabellenmanagment?
Das mußt du bitte genauer erklären...schreibe einfach deine Vorstellungen.
 
Ja, die Sitzung muss und darf innerhalb eines Skriptes nur einmal initialisiert werden.

Danke für die schnelle Antwort. Aber meine Frage (vielleicht ging es aus der Fragestellung nicht ganz hervor) hat sich für mich noch nicht ganz geklärt.
Denn durch das "include[...]" lade ich die komplette Datei ja in die andere Datei hinzu. Und dennoch musste ich für das Captcha-Bild die Session neustarten, damit es funktioniert hat. Oder mache ich da einen Gedankenfehler?
Falls Code-Schnippsel benötigt werden bitte kurz anmerken.


Das mußt du bitte genauer erklären...schreibe einfach deine Vorstellungen.

Öhm joa... ich habe bisher nur in kleineren Projekten mit der Datenbank gearbeitet und habe so auch meistens für einzelne Tabellen, wie "Gästebuch", "IP-Sperre" erzeugt.
Nun ist es aber bei größeren Projekten wichtig vorher erstmal nen groben Plan zu haben, damit man nicht ins Leere programmiert. Dafür würde mich interessieren wie man am besten die Datenbank-Tabellen erzeugt um möglichst kompakt und vorallem zugriffseinfach Daten auslesen zu können.
Zb könnte man auf der einen Seite für die Eigenschaften eines Benutzers entweder diese in eine große Tabelle mit anderen Benutzern schreiben oder für jeden Benutzer eine eigene Tabelle erzeugen. Und um hier Vor- und Nachteile und einfachheit würde ich gerne von anderen Programmierern lernen, denn wäre schade, wenn ich das Rad neu erfinden müsste, da bestimmte Vorgehensweise auch bestimmte Fehler oder Umstände mitsichbringen.
 
Das Thema ist etwas komplex, aber ich werfe mal ein paar Links rein

Normalisierung

Ansonsten helfen natürlich auch Tools zur Visualiserung des Aufbaus, um Relationen darzustellen, Abhängigkeiten, Fremdschlüssel, usw.

MySQL Workbench ist so ein Tool und für den Privatgebrauch kostenlos.
 
Zurück