PHP Weiterleitung weist fehler auf

  • hey leute :D

    hier kommt der übernohand :)

    ich habe vor einigen tagen mal wieder mit php angefangen :D

    wollte mir ne kleine webseite aufbauen. am anfang funktionierte alles doch auf einmal ging nichts mehr :o

    nach dem login sollte man auf die up.php weitergeleitet werden das alles ist mit einer session verknüpft die solange läuft bist der browser geschlossen wird :)

    hier noch ein kleiner screen vom fehler:

    habe das ganze über localhost laufen aber hier sind die codes:


    und der anfang von der up.php


    ich hoffe das mir hier jemand helfen kann :)

    danke schonmal für eure zeit & hilfe :)

  • Dadurch dass du die session.php in der up.php included hast, wirst du direckt wieder auf die index.php umgeleitet, bevor der Inhalt von up.php angezeigt werden kann. Der Browser führt aus Sicherheitsgründen nur eine begrenzte Anzahl von Umleitungen aus.

    Ich würde vorschlagen, die Umleitung(Zeile 15) aus der session.php zu entfernen, falls sie keinen besonderen Zweck erfüllt.

  • die umleitung in zeile 15 bewirgt das man nicht einfach so auf die up.php zugreifen kann wenn man nicht eingeloggt ist :o

    weist du evtl wv umleitungen genau der browser erlaubt ? :)

    edit: sobald ich die zeile 15 entferne kommt das:

    Warning: mysql_fetch_assoc(): supplied resource is not a valid MySQL result resource in G:\Xampp\htdocs\session.php on line 11

    Einmal editiert, zuletzt von NiikooArtz (28. August 2015 um 05:29)

  • Dein Loginscript riecht nach vergammelter Sahne. Ich habe dir mal auf die schnelle einen gemacht:

    Das ganze sollte dann auch klappen. In der Index.php fragst du natürlich standardmäßig ab, ob die Inputs gefüllt sind. Du kannst es natürlich andersrum machen, allerdings ist die meine gezeigte variante etwas übersichtlicher. Wenn die Abfrage true zurückgibt, geben wir den POST werten eine variable, um uns besser zu orientieren. Danach ordnen wir in einer query, welche POST typen zu welchen Spalten gehören. Am Ende fragen wir dann, ob die query treffer gefunden hat, also ob die Eingabe übereinstimmen. Wenn die Eingaben übereinstimmen, werden zwei SESSIONS gesetzt und wir werden auf die me.php weitergeleitet. Wenn die Eingaben allerdings nicht übereinstimmen, erhalten wir "none" als Errormeldung.

    In der core.php wollen wir nur true ausgeben. Wenn die SESSION username und password existiert, soll true eine query ausführen, die nach den username von der SESSION sucht. Da ja der username existiert, geben wir der $_SESSION['username'] den Wert $username und können damit den username der aktuellen SESSION über $username ausgeben.

  • <p>eine frage ? :D<br><br></p><p>wo genau kommt der 2te code hin ? :D<br><br>ich denke das ist die session.php oder ? :)</p><p><br></p><p>bin gerade dabei das so umzusetzten wie du es geschrieben hast :D</p>

    Edit: ahja ohne die session.php kann man einfach so auf die up.php (userpanel) oder auf die aup.php (adminuserpanel) zugreifen :(

    Einmal editiert, zuletzt von NiikooArtz (28. August 2015 um 13:16)

  • <p>eine frage ? :D<br><br></p><p>wo genau kommt der 2te code hin ? :D<br><br>ich denke das ist die session.php oder ? :)</p><p><br></p><p>bin gerade dabei das so umzusetzten wie du es geschrieben hast :D</p>

    Edit: ahja ohne die session.php kann man einfach so auf die up.php (userpanel) oder auf die aup.php (adminuserpanel) zugreifen :(

    ja, du musst auf jeder seite ne session starten und überprüfen ob eine session existiert, falls ja => seite anzeigen
    => falls nicht => weiterleitung auf index / login

  • Ich arbeite gerne mit Funktionen, deshalb geb ich dir mal ein paar Beispiele.

    Prüft ob eine PHP Session gesetzt ist und prüft nochmal gleichzeitig, ob der Benutzer auch wirklich in der Datenbank Tabelle existiert:


    Falls der Benutzer nicht eingeloggt ist, wird man zurück auf die Login Seite, etc. geworfen:
    Am besten weit oben in der Code Zeile platzieren, dort wo man normalerweise eingeloggt sein sollte. (up.php)

    PHP
    if(!isLoggedIn())
    {
    	header('Location: /login');
    	exit();
    }

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!