Octavian Geschrieben 11. Juli 2011 Teilen Geschrieben 11. Juli 2011 Hallo zusammen, ich möchte nur mein Verständnis jetzt festigen und momentan aufgetauchten Defizite ausmerzten =) Ich habe eine index.php, in der ich alle andere notwendigen Dateien includiere. <?php if(empty($_GET['seite'])) $_GET['seite'] = "index"; if(file_exists("inc/".$_GET['seite'].".php")) { include("inc/".$_GET['seite'].".php"); } else { include("inc/error.php"); } ?>[/PHP] Ganz oben beginne ich mit meine Sessionstart. [PHP]<?php session_start(); ?> weitere Seiten auf den includieren Dateien verlinke ich mit mit dem "?": echo "Sie sind nicht eingeloggt.<br>\n". "Bitte <a href=\"?seite=index\">loggen</a> Sie sich zuerst ein.\n";[/PHP] Mein Verständnis dazu ist folgendes: 1. Includierte Dateien werden zusammen mit der index.php komplett neu geladen (Also nicht nur die zu includierende Datei wird hinzugefügt) 2. Weitere Werte übergebe ich beim includieren mit immer dem &: [PHP] echo "<a href=\"?seite=profil&id=".$row['ID']."\">".$row['Nickname']."</a>\n"; Frage: können auch mehre "&" hintereinander genutzt werden? 3. Die Session auf meiner index.php ist ausreichend für die Komplette Homepage. Nur ich muss sie ab der dritten Ebene aufwerts als Variable mitgeben: (Ich habs leider noch nicht geschafft, weil ich nicht Verstehe, ab wann die Session ID zum Beispiel nicht mehr erkannt wird bzw. wie mehrere Scripte die Session für sich nutzen können) Denn mit session_start() bekomme ich die ganze Zeit nur immer eine Ausgabe, die sich nie ändert: z.B: 906ab9053468660df7cd626fd16de7cd Wenn ich jetzt aber die Session als Konstante übermittel - in einem tutorial habe ich dazu das gefunden: <a href="test.php?<?=SID?>">next</a> - wie lange ist sie dann gültig und kann ich sie immer und überall abrufen bis ich die Session beende? 4. So lange ich auf der index.php - auf der die Session gestartet wird - auch aus includierden Dateien andere Dateien includiere, muss/bzw darf ich auf andere Seiten keine neue Session starten, da es sonst zu der header-fehlermeldung kommt, dass die session schonvorher gestartet wurde? Ich weiss, alles kann man sich im internet aneignen =) Das will ich ja auch aber anscheinend komm ich mit den Fakten etwas durcheinander. Um das gerade zu bügeln ohne mich mit anderen abweichenden Thematiken auseinanderzusetzen, indem die Informationen zwar enthalten sind, aber in einem anderen Kontext stehen, bitte ich ja um eure Hilfe. Ich hoffe ich bin nicht ganz auf dem Holzweg. Zumindest scheint es auf meiner Übungspage zu funktionieren. Aber ich werd das Gefühl nicht los das ich es unsauber angehe .. =( Danke für eure Hilfe. LG Oct Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
i � unicode Geschrieben 12. Juli 2011 Teilen Geschrieben 12. Juli 2011 in PHP kannst du über $_SESSION['ID'](war das so? php ist lange her ... ) von überall her auf die Session/ SessionID zugreifen. D.H. Es ist eigentlich nicht nötig, diese als GET oder POST Parameter zu übergeben. Das "&" ist übrigens die Parameterübergabe per GET-Methode (also ?p1=w1&p2=w2...) und kann natürlich mehrfach vorkommen. Die Session wird automatisch nach dem (in der php.ini) gesetzten Session-Timeout zerstört. Das behandeln der Logins usw. musst dann aber trotzdem du machen. Mach dich am besten mit folgenden Seiten vertraut: PHP - SELFPHP: Version 5.4.7 Befehlsreferenz - Tutorial – Kochbuch – Forum zum Thema PHP PHP Tutorial sowie als Grundlage: SELFHTML 8.1.2 (HTML-Dateien selbst erstellen) Grüße. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 12. Juli 2011 Teilen Geschrieben 12. Juli 2011 Auch eine sinnvolle Lektüre: PHP: session_id - Manual Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Callam Geschrieben 22. Juli 2011 Teilen Geschrieben 22. Juli 2011 Ein kleiner, aber wichtiger tipp zur sicherheit: include("inc/".$_GET['seite'].".php"); mach sowas niemals ohne den getparameter mit einer whitelist zu prüfen, da der user mit punktoperatoren in den pfadangaben fast auf jede beliebige datei auf dem server zugreifen kann ... (einschließlich systemdateien wenn der server falsch konfiguriert ist) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.