php und passwortgeschützer Bereich

  • Hi,


    habe folgendes Problem :


    klickt man innerhalb eines passwortgeschützten Bereichs auf die Schaltfläche "zurück" im Browser, zeigt er mir nicht die letzte Seite an sondern sagt "Seite nicht gefunden".


    Was hab ich falsch gemacht ?

    [Laptop] Thinkpad X300 | Ubuntu 11.04 Natty
    [Server] VMware ESXi 5.0 | Supermicro X8SIL-F | Intel Xeon X3440 | 16GB Mushkin Proline PC3-10667E ECC | 2x3TB Seagate Constellation ES.2 SAS @ zfs_mirror | LSI SAS 9211-4i

  • Mit Sessions :)


    Das Problem ist, dass er den $user nicht speichert. Sobald der sich in dem passwortgeschützen Bereich bewegt kommt : bitte einloggen. Deshalb denke ich geht das mit dem Zurück auch nicht.


    ;(

    [Laptop] Thinkpad X300 | Ubuntu 11.04 Natty
    [Server] VMware ESXi 5.0 | Supermicro X8SIL-F | Intel Xeon X3440 | 16GB Mushkin Proline PC3-10667E ECC | 2x3TB Seagate Constellation ES.2 SAS @ zfs_mirror | LSI SAS 9211-4i

    Einmal editiert, zuletzt von ventu ()

    • Offizieller Beitrag

    also mal zum überblick:


    du machst einfach nen login, die eingegebenen daten werden dann mit der datenbank verglichen. falls korrekt folgt session_start(); ...danach kannst du die variablen user und pass darin speichern (oder au mehr) - so: $_SESSION[user] = $user ... dann bastelst du dir ne kleine funktion die bei jeder seiten aktualisierung die in der session gespeicherten variablen mit der datenbank vergleicht und bei true eben einen seitenzugriff ermöglicht.... fertig :)

  • bei sessions muss man natürlich nur beachten, dass man kein konflikt mit dem header bekommt... (sessions müssen vorher schon "gestartet werden") ansonsten gibt er dir aber auch ne fehlermeldung aus wie header already send....

  • habs jetzt anderweitig gelöst :) man ist ja flexibel ^^ danke Babe für den Hinweis :)


    $_SESSION["user_id"] = $data["Id"];


    und dann im Kopf von jeder Seite



    session_start ();
    if (!isset ($_SESSION["user_id"]))
    {
    header ("Location: blablub.php");
    }

    [Laptop] Thinkpad X300 | Ubuntu 11.04 Natty
    [Server] VMware ESXi 5.0 | Supermicro X8SIL-F | Intel Xeon X3440 | 16GB Mushkin Proline PC3-10667E ECC | 2x3TB Seagate Constellation ES.2 SAS @ zfs_mirror | LSI SAS 9211-4i

    Einmal editiert, zuletzt von ventu ()

  • jetzt hab ich ein anderes Problem :


    habe eine liste, wo die user titel ihrer wahl draufsetzen können....habe eine tabelle user (jeder user hat ne id) und ne tabelle liste ( da erstellt ein script wenn man sich registirert automatisch ne spalte mit ner ID die gleich der user id is )


    so wies jetzt is kann jeder user aber nur einen titel auf die liste setzen ....weil der listen id nur ein feld zugeordnet is ... also spalte 1 : ID 32 , titel id 5 z.b.


    Wie kann ich das so ändern, dass ich mehrere Titel auf die Liste setzen kann ?


    thx for replies

    [Laptop] Thinkpad X300 | Ubuntu 11.04 Natty
    [Server] VMware ESXi 5.0 | Supermicro X8SIL-F | Intel Xeon X3440 | 16GB Mushkin Proline PC3-10667E ECC | 2x3TB Seagate Constellation ES.2 SAS @ zfs_mirror | LSI SAS 9211-4i

  • Der jeweilige user kann die Datenbank anschauen und Einträge, die sich in selbiger befinden, auf eine individuelle Liste setzen. Die ist nur ihm zugänglich, dazu hat die Tabelle, wo die Datenbankeinträge, die der user auf seine Liste setzen will, reingeschrieben werden, eine ID die gleich der User ID ist. Somit weiß man immer welche liste zu welchem user gehört. Es existieren also 2 Tabellen neben der ursprünglichen Tabelle, die die Datensätze enthält, einmal eine Tabelle für user und eine Tabelle, die die jeweiligen Inhalte der individuellen Liste der user speichert.


    Mein Problem : Die Tabelle, die den Inhalt der Liste speichern soll, sieht folgendermaßen aus :


    Spalte 1 : ID (=userid) spalte 2 ( inhalt der liste)


    Demnach kann ich ja nur einen Eintrag bei spalte 2 vornehmen, weil in der nächsten Zeile ja schon die nächste ID des darauffolgenen users steht.


    mein Frage : Wie änder ich ggf. die Tabelle, dass ich mehrere Einträge dort speichern kann, die alle einer ID zugeordnet werden ?

    [Laptop] Thinkpad X300 | Ubuntu 11.04 Natty
    [Server] VMware ESXi 5.0 | Supermicro X8SIL-F | Intel Xeon X3440 | 16GB Mushkin Proline PC3-10667E ECC | 2x3TB Seagate Constellation ES.2 SAS @ zfs_mirror | LSI SAS 9211-4i

    • Offizieller Beitrag

    wo is das problem? :) ...du kannst doch einfach immer nen neuen eintrag machen und danach sauber auslesen - oder versteh ich das problem net? ^^