• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Variablen extern anfügen

Status
Für weitere Antworten geschlossen.

Raider

Neues Mitglied
Hallo

Ich möchte gerne nen Link per E-Mail schicken, die so aussieht: http:// website.xy?variable=blabla&nextvar=blabla

Falls der User eingelogt ist, soll nichts passieren. Ansonsten soll er zum Login-Bereich zurückgeführt werden. So, das klappt soweit bei mir sehr gut ...

Jetzt das Problem: Wenn der User nun auf den Link geklickt hat und im Login-Bereich landet, sollen die Variablen beim erfolgreichen Einlogen angehängt werden. (Hinweis: Die Werte der Variablen sind bei jedem User unterschiedlich).

So weit alles verstanden? Wenn ja, helft mir! :-D

Wenns geht bitte ne Methode ohne Sessions. Die sind für mich ne RIESE Verwirrung!
 
Wenn du es nicht mit Sessions machst, dann mit Cookies, die sidn aber genau so vom Prinzip her. Ich würde es dir empfehlen so zu machen udn dann bei dem Aufruf der Seite eine Abfrage machen, ob die Session gesetzt ist oder ncith und dann den Teil includieren oder ausgeben, der dan nder rrichtige ist, Login oder Content.
Ich verstehenur nicht ganz wie du das meintest. Willst du in der E-Mai lnachträglich den Link verändern? Das geht nicht.

Gruß Corvulus
 
Gut habs nun doch mit Sesseions probiert. Wie kann ich nun die Session dem URL anhängen?

So sieht's bei mir aus:
PHP:
echo "<meta http-equiv=\"refresh\" content=\"1;url=bewerbung.php?geschlecht=$_SESSION['geschlecht']\" />";

Bekomme dabei folgende Fehlmeldung
syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
 
ich glaube ihr habt aneinander vorbei geredet
du kannst sessions ja setzen dan bracuhst du am anfang eine
PHP:
if ($_SESSION['login' == 'TRUE'] ) {
echo 'sie sind eingeloggt';
}    
else
{
echo 'sie sind nicht eingeloggt';
}

ansonsten müsstest du die datei abspeichern dan in den link einfügen und mit der $_REQUEST[''] funktion abrufen
 
@daschifahrer ja das weiss ich und das hab ich bei mir auch.
Meine Frage ist nur wie ich den Wert des Sessions hinter dem Link anhängen kann. Bspw. url=test.php?var=$_SESSION['wasauchimmer']

Wenn ich das so eingebe, bekomme ich (so wie oben erwähnt) ne Fehlmeldung.
 
du kannst des ja vorher als sesiion definieren also so

PHP:
$login = $_SESSION['login'];

?>
<a href="blablabla.php?login=<?php print $login; ?>">login testen</a>

sry das cih des auch noch mit html mach bei mir hats sonst nur nie gefunzt und so hats bis jez immer gefunzt ;)
 
PHP:
echo "<meta http-equiv=\"refresh\" content=\"1;url=bewerbung.php?geschlecht=$_SESSION['geschlecht']\" />";
ändern in
PHP:
echo "<meta http-equiv=\"refresh\" content=\"1;url=bewerbung.php?geschlecht=".urlencode($_SESSION['geschlecht'])."\" />";
 
Danke Frank ... aber wozu denn das urlencode? Also bei mir klappts auch ohne :)

Noch 2 Fragen:

1. Wie lange dauert es i.d.R. bis eine Session aufgegeben wird? Bzw. ist es zeitlich begrenzt oder wird sie nur aufgegeben wenn der Browser geschlossen wurde?

2. Wie kann ich eine Session manuel aufgeben? unset, destroy?
Hab öfters gelesen dass man mit der herabsetzung der Sessions aufpassen soll, da es möglich sein könnte dass man irgendwie die gesammte Funbktion zerstört oder so was in der Art.
Deswegen dachte ich, besser mal nachfragen.
 
das urlencode ist dazu da, dass auch sonderzeichen, leerzeichen und son krims mit übergeben werden können, musst auf der anderen seite nur dann nen urldecode() machen

1. steht in der php.ini, kannst die session aber auch manuell mit session_destroy() beenden

2. hat sich ja dann wohl beantwortet, session_destroy() zerstört alle werte in der session, du fängst praktisch bei 0 an. mit unset kannst du einen bestimmten wer aus der session löschen unset($_SESSION["key"]); $_SESSION["was anderes"] ist dann aber immernoch da.
 
Danke Frank ... aber wozu denn das urlencode? Also bei mir klappts auch ohne :)

Dafür: PHP: urlencode - Manual

1. Wie lange dauert es i.d.R. bis eine Session aufgegeben wird? Bzw. ist es zeitlich begrenzt oder wird sie nur aufgegeben wenn der Browser geschlossen wurde?
Meist bis der Browser geschlossen wird oder die Sitzung zerstört wird. Abhängig von deiner Serverkonfiguration kann es jedoch auch anders sein ..

2. Wie kann ich eine Session manuel aufgeben? unset, destroy?
PHP: session_destroy - Manual
 
Und kann ich die Session auch per Link zerstören?
Hab's mal so probiert:
PHP:
<a href="index.php" <? session_destroy(); ?>>Abmelden</a>
Hab das Gefühl dass ich irgendwas hier falsch mache. :?
 
jo du musst den link auf eine seite führen, z.b. logout.php und auf dieser seite dann session_destroy aufrufen.
 
Hmm ...
Wenn ich in der Datei logout.php folgendes eingebe:
PHP:
<?php 
	session_start();
	session_destroy();
	header('Location: index.php');
?>
funktioniert es. Aber wenn ich jedoch header entferne, wird die Session nicht zerstört.

Ist es wichtig dass ich die Seite verlinke?
 
du kannst auch sowas schreiben

PHP:
<?php // index.php

if(isset($_GET['logout']))
{
    unset($_SESSION);
    session_destroy();
}

echo '<a href="index.php?logout">Logout</a>';

?>
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben