kostenloser Webspace werbefrei: lima-city


Variablen per Link (unsichtbar) übergeben

lima-cityForumDie eigene HomepageHomepage Allgemein

  1. Autor dieses Themas

    mychatroom

    mychatroom hat kostenlosen Webspace.

    Hey Leute,

    ich bin grad dabei eine Homepage zu schreiben und bin dabei auf einen dummen kleinen Fehlerteufel gestoßen, den ich nicht wegbekomme ;) Also angenommen es gibt 2 seiten (seite1.php und seite2.php) und ich habe auf der ersten seite die Variable $_SESSION['benutzer'] die ich von einem Loginscript bekomme. ist es nun möglich diese variable von seite1.php auf seite2.php zu übergeben indem ich <a href="seite2.php">Seite2</a> benutze und es nicht an den link gehangen wird? Ich hab es auch schon mit einem formular und dann halt hiddenfeld versucht, aber es hat 1.) nicht funktioniert und 2.) find ich sieht das nicht so elegant aus ^^

    Wäre cool wenn mir jemand nen vorschlag posten könnte

    Markus
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. verstehe nich ganz was du damit bezwecken willst.. aber wenn du eingaben von einer seite auf die andere schickst dann kommen die doch für gewöhnlich immer aus einem formular (außer das hat jetzt nicht den zweck einer nutzer seitigen eingabe).. warum willst du dann das die daten seperat über nen get paramter verschicken und dann noch mit nem link?? bau doch einfach nen standard formular und verschicke das dann anstelle von get einfach per post. gibt da ganz gute beispiele auf selfhtml...
  4. Autor dieses Themas

    mychatroom

    mychatroom hat kostenlosen Webspace.

    nein, du hast nicht ganz verstanden was ich meine. Ich habe eine variable, z.b. $Beispielvariable, auf seite1.php. nun habe ich dort einen link eingebaut, also <a href="seite2.php">weiter</a>, womit ich dann auf seite2.php wechseln kann. Nun möchte ich auf seite2.php auf $Beispielvariable zugreifen können. Das heißt ja das ich sie übergeben muss. und da ich kein vormular mit hidden usw verwenden kann/möchte, da es nicht klappt und ich es nicht wirklich elegant finde ;) suche ich eine lösung wie ich auch ohne session diesen wert übergeben kann wenn ich auf den link klicke. ich hatte es bis jetzt mit einer session gelöst, aber auf dem pc von nem freund hat das nicht geklappt weil der irgendwie cookies deaktiviert hat. und da das ja sicher bei mehr leuten der fall ist möchte ich das halt ohne sessions und wenns geht auch ohne diese scheußlichen button bei formularen ^^

    Markus
  5. hallo

    Du kannst Dir ja eine Mini-Datenbank (auch als .txt-Datei) anlegen
    in der steht der Wert zur Variable, die verfügbar sein soll

    also mit php (---> evtl in das php-Forum verschieben ?)

    1. bei aufruf der seite1.php die Variable zwischenspeichern, mit fwrite in .txt Datei
    2. bei Azfruf der seite2.php die .txt Datei auslesen, um an den gespeicherten Wert zu kommen

    sozusagend eine temporäre Datei je User (IP)

    seite1.php
    $Beispielvariable = "wert oder string"; 
    $userip = $_SERVER['REMOTE_ADDR']; 
    $dateiname = md5($userip); 
    $handle = fopen($dateiname.".txt","w",0666);
    fwrite($handle,$Beispielvariable); // ---- temporäre Daetei beschreiben 
    fclose($handle);


    seite1.php
    $userip = $_SERVER['REMOTE_ADDR']; 
    $dateiname = md5($userip); 
    if (file_exists($dateiname.".txt")) {
    $auslesen = file($dateiname.".txt"); 
    $Beispielvariable = $auslesen[0]; 
    unlink($dateiname.".txt"); // ---- temporäre Datei wieder löschen 
    }
    echo $Beispielvariable;


    das ganze geht auch mit zwischen-speichern in MySQL
    vom Prinzip hier das gleiche, den User ermitteln und für diesen den Wert speichern
    denn User-IP sollte ja währen der Aktion gleich bleiben, also muss nix übergeben werden
    sondern kann ausgelesen werden

    edit:
    ........... bestimmt gibts auch ne Javascript-Lösung
    ... bzw. mit Cookies ... vielleicht hat jemand dafür auch ein Beispiel


    Beitrag zuletzt geändert: 17.4.2011 10:33:57 von tengames
  6. Benutze doch einfach ein Hidden Field. Das die Werte per POST Methode an die nächste Seite übergibt.

  7. m******e

    mychatroom schrieb:
    ...
    und wenns geht auch ohne diese scheußlichen button bei formularen ^^

    Hö? :confused:

    So ein Button läßt sich doch formatieren. :wink:

    <html><head><title>button</title>
    
    <style type="text/css"><!--
    .b1 {background-color:#fff;border:none;}
    input:hover.b1 {text-decoration:underline;cursor:pointer;}
    -->
    </style>
    
    </head>
    
    <body text="#000000" bgcolor="#FFFFFF">
    
    <form action="" method="" target="">
    
    <input class="b1" type="Submit" name="button1" value="*click*">
    
    </form>
    
    </body>
    </html>


    Beitrag zuletzt geändert: 17.4.2011 12:21:19 von menschle
  8. Also wenn die Variable doch sowieso schon in einer Session vorhanden ist, dann kannst du direkt auch auf Seite 2 darauf zugreifen. $_SESSION ist doch Global, du musst das also nicht neu übergeben. Alles was du zu tun hast ist:

    1. session_start() auf Seite 2 aufrufen (oder in der passenden OO-Version)
    2. $_SESSION['benutzer'] auslesen und fertig

    Also vergiss GET und POST. Ist unnötig an dieser Stelle.



    Beitrag zuletzt geändert: 17.4.2011 12:31:19 von alphara
  9. aber mein Vorschlag funktioniert auch dann, wenn der User (Browser) keine SESIONs (oder COOKIEs) zulässt
    wobei die meisten es zulassen, also ist die Lösung von alphara schon die wahrscheinlich brauchbarste


  10. Autor dieses Themas

    mychatroom

    mychatroom hat kostenlosen Webspace.

    hmm ich hab jetzt gelöst indem ich halt

    echo '<a href="seite2.php?' . SID . '">Weiter</a>';

    gemacht habe. auf seite 2 lese ich dann die Id der session wieder aus. Aber danke für die vielen anregungen. Die haben mich erst auf die idee gebracht ;)
  11. f********r

    Ich hätte noch einen Vorschlag für dich.
    Und zwar AJAX. Mit Ajax führst du einen Request auf login2.php aus und lädst dann die Seite.
    Zum Beispiel so:
    <a href="javascript:request('bla', 'doppelbla');">Link</a>

    und dann machst du bei der request(user, pwd) einen AJAX-Request auf "seite2.php?user=user&password=pwd".
    seite2.php setzt die SESSION und dann nach dem erfolgreichen Request leitet es dann den Benutzer auf seine Benutzerseite um.

    Etwas doppelgemoppelt, aber auch eine Möglichkeit.

    Beitrag zuletzt geändert: 28.4.2011 0:37:01 von friedrichr
  12. d*****k

    mychatroom schrieb:
    hmm ich hab jetzt gelöst indem ich halt

    echo '<a href="seite2.php?' . SID . '">Weiter</a>';

    gemacht habe. auf seite 2 lese ich dann die Id der session wieder aus. Aber danke für die vielen anregungen. Die haben mich erst auf die idee gebracht ;)


    Jetzt könntest du die SID noch als Cookie speichern, dann muss die nicht mehr übergeben werden. :-) Aber die seite2.php muss den Cookie dann natürlich auslesen...
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!