[Funktion] parse_url problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mrhappiness
    antwortet
    Original geschrieben von TheCure13
    also ob das geht weiss ich nicht
    ausprobieren?
    kannst ja testweise mal statt dem header befehl echo $_SESSION['access_desired']; machen und dir anschauen was rauskommt

    Einen Kommentar schreiben:


  • TheCure13
    antwortet
    also ob das geht weiss ich nicht :-( habe doch nicht soooo viel ahnung von php.

    also nochmal ne kurze erklärung.

    ich habe ne hauptseite (ein tabellenconstruct) kein frameset. im oberen teil wird das LoginMenue(); eingebunden und ein paar rows und tabellen weiter unten läuft die eigentliche inhaltsseite. logischerweise unabhängig von der oberen tabelle.

    wenn jetzt also oben sich jemand einloggt dann werden die logindaten ja per "post" an die sogenannte user.php gesendet. in aus dieser ist auch der obige scriptauszug. ich kann jetzt durch eine kleine abfrage und zuweisung in das case="test" springen. so weit so gut.

    aber in diesem case soll jetzt die datei aufgerufen werden auf der der user war als er sich einloggte. und das auch noch automatisch (also eben nicht per button so wie es jetzt ist).

    Einen Kommentar schreiben:


  • mrhappiness
    antwortet
    kläre mich mal einer auf

    jemand tippt www.domain.de/geheim/geheim.php ein

    da er nicht eingeloggt ist, kommt er automatisch zum loginformular und wenn er sich da korrekt authentifiziert,soll er wieder zu www.domain.de/geheim/geheim.php?

    dann mach in deine geheim.php sowas:
    PHP-Code:
    <?php
    session_start
    ();
    if (!
    logged_in())
    {
       
    $_SESSION['access_desired']=$_SERVER['PHP_SELF'];
       
    header('login.php');
    }
    und in der login.php
    PHP-Code:
    <?php
    session_start
    ();
    //der ganze login-kram
    if (logged_in() and isset($_SESSION['access_desired']) and file_exists($_SESSION['access_desired']))
      
    header($_SESSION['access_desired']);
    sollte doch eigentlich gehen oder nich?

    Einen Kommentar schreiben:


  • kapitaeniglo
    antwortet
    hi ... also fuer das refresh hab ich jetzt sofort auch nix, aber :
    HTTP_REFERER:
    den bekommste net, wenn dein user ne firewall hat die den blockt (z.b. norten macht das bei standarteinstellungen)

    @refresh:
    versuchen die pruefung ob die daten korrekt sind an den beginn zu legen bevor ne ausgabe erscheint ...

    sollte eigentlich moeglich sein ...

    greetz
    iglo

    Einen Kommentar schreiben:


  • TheCure13
    antwortet
    hallo,

    erstmal danke für die vielen antworten. das prob mit parse_url habe ich jetzt folgendermassen gelöst.

    im login formular (das übrigens immer zu sehen ist, da es in den kopf der seite per <? LoginMenue ?> eingebunden wird) habe ich jetzt
    $_SERVER["HTTP_REFERER"]; gesetzt und mittels diesem kann ich mir ja die aktuelle seite ausgeben lassen :-) !!!

    Jetzt habe ich aber das nächste Prob.

    ich kann jetzt zwar mittels diesem script:
    {
    case "test" :
    {
    if ($_SERVER["HTTP_REFERER"] == ('http://127.0.0.1/home/mysticweb/home.php'))
    $last_side = "ins Home";
    if ($_SERVER["HTTP_REFERER"] == ('http://127.0.0.1/home/mysticweb/news.php'))
    $last_side = "zu den News";
    if ($_SERVER["HTTP_REFERER"] == ('http://127.0.0.1/home/mysticweb/forum.php'))
    $last_side = "ins Forum";
    if ($_SERVER["HTTP_REFERER"] == ('http://127.0.0.1/home/mysticweb/guest.php'))
    $last_side = "zum G&auml;stebuch";

    ?>
    <table cellpadding=0 cellspacing=0 width="100%" height="100%">
    <tr>
    <td height=40 valign="bottom" align="center">
    <font family="Verdana, Arial, Helvetica, sans-serif" size="11px" color="#330066">
    <a href="<? echo $_SERVER["HTTP_REFERER"]; ?>">Hier gehts zur&uuml;ck <? echo $last_side; ?></a></font>
    </td>
    </tr>
    </table>

    <?

    break;
    }
    zurück auf die letzte seite verlinken aber da der mensch ja nie genug bekommt würde ich jetzt gern in der obigen tabelle die mir nun bekannte
    url AUTOMATISCH aufrufen lassen.

    meta refresh kann ich aber nicht nehmen da ich mich ja schon mitten im body befinde. und iframe ist auch nicht so gut ... das kann ja nicht jeder browser.

    MfG
    Andy

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    also ich find sessions wirklich ideal.

    (diese variante setzt dann vorraus, dass der user von der eigenen seite kommt.)

    in den $_SERVER-Vars gibts ja genug, um die aktuelle Adresse herauszufinden.

    Das mit Hidden ist zwar ganz net, aber dann brauchst du das Loginformular auf jeder Seite. SOnst würdest du schließlich immer wieder auf die Login-Seite kommen, was absolut keinen Sinn macht.

    Solche sachen als Hidden zu versenden, finde ich meist sehr unschön, schließlich ist das leicht zu manipulieren.

    Einen Kommentar schreiben:


  • kapitaeniglo
    antwortet
    helfen koennten dir die in cgi umgebung vorhanden variablen mit informationen zum server ...

    z.b.
    PATH_INFO
    PATH_TRANSLATED
    SCRIPT_NAME ...

    mit PATH_TRANSLATED konkateniert mit SCRIPT_NAME ..

    solltest den namen des skriptes genauherausbekommen ...

    dies dann per hidden field verschicken und du brauhcst parse_url net ...

    greetz
    iglo


    @tobiaz:
    du kannst dir aber nicht sicher sein, ob du daran kommst, deswegen musst du in den dateien von denen er kommen kann dies eigentlich schon maceh n

    aber deine session variante ist natuerlich recht praktisch ...
    also einfach den pfad (z.b. wie hier oben beschrieben) in ner
    session var speichern .. das in jeder moeglichen datei machen, von der ein user sich anmelden kann und voila ...

    kann er immer wieder zurueck kommen

    greetz
    iglo

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    die datei von der er kommt ...
    @iglo: das war doch das was er wollte, oder?

    Einen Kommentar schreiben:


  • kapitaeniglo
    antwortet
    die url von der ein user kommt wuerd ich nicht auslesen ...

    wenn der user eine firewall an hat, oder aus firmennetzwerken kommt,
    dann kannste du die url, von der er kommt vergessen

    setz lieber nach erfolgreichem einloggen einen header auf die datei von der er kommt ...
    (weil die sollte man ja eigentlich kennen )
    oder geb die in einem formular (ueber nen hidden field)
    mit.

    http://de2.php.net/manual/en/function.parse-url.php

    http://de2.php.net/manual/de/function.parse-url.php

    damit im jeweieligen skript, das den login aufruft den pfad ermitteln sollte eigentlich funzen ....

    sonst beschreib mal dein problem damit etwas genauer ....

    greetz
    iglo
    Zuletzt geändert von kapitaeniglo; 06.07.2003, 20:37.

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    klar, einfach die jeweils aktuelle URL in der Session speichern!

    Einen Kommentar schreiben:


  • TheCure13
    hat ein Thema erstellt [Funktion] parse_url problem.

    [Funktion] parse_url problem

    hallo,

    ich habe ein "kleines" problem mit der parse_url funktion.

    ich habe auf meiner seite ein loginformular (also nickname und passwort)
    bei betätigen des submit buttons wird man auf eine von mir auswählbare
    seite weitergeleitet. das funktioniert auch alles einwandfrei.

    nun will ich aber das der user auf der seite bleibt wo er war als er sich einloggte (oder zumindest das er nach einloggen einen button bekommt
    mit dem er zurück gehen kann).
    dazu müßte man also die url auslesen auf der er sich im moment des
    einloggens befand.

    kann mir da jemand weiterhelfen.

    MfG
    Andy
Lädt...
X