PHP Link abfrage

raven16

Lieutenant
Registriert
Nov. 2008
Beiträge
580
Hi, wollte mal fragen ob ihr mir eben helfen könnt?
Hab folgendes Problem:

Ich hab auf meiner Seite einen login ausgegeben und wenn man sich dann wieder ausloggt, dann soll neben der Loginleiste die Meldung "Sie haben sich erfolgreich ausgeloggt." stehen.

Wenn ich mich auslogge, dann schreibe ich oben in die Linkleiste des Browsers:
header('Location: ./index.php?login=false');

Das bedeutet dass beim logout der Benutzer wieder auf die index.php gelangt aber nun oben in der Leiste index.php?login=false steht...

Um die Meldung auszugeben habe ich in der index.php eine kleine Abfrage formuliert, damit der, wenn login=false oben in der linkleiste steht, die Meldung ausgeben kann
PHP:
<?php
$ausgeloggt = $_GET["login=false"];  

//Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1
if(isset($ausgeloggt))
   {
		echo 'Sie sind nicht eingeloggt.';
   }

Ich weiß das man den Link mit der $_GET Funktion abfragen kann aber ich hab grad mal null Plan wie ich das machen soll damit das auch Funktioniert wenn man sich ausloggt...

Hoffe ihr wisst was ich mein^^
 
Probiers mal so:

Code:
<?php

if(isset($_GET['login'])){

     $ausgeloggt = $_GET['login'];  

if($ausgeloggt=='false')
{
  echo 'Sie sind nicht eingeloggt.';
}

?>
 
Du solltest dir dringend die Grundlagen von php zu Herzen legen.
Ich empfehle dir daher dies:
http://tut.php-quake.net/de/

Davon abgesehn hier die bessere Lösung in Bezug auf Syntax, Lesbarkeit und Logik:
PHP:
<?php

if (isset($_GET['logout']) && $_GET['logout'] == 'false') {
    echo 'Sie sind nicht eingeloggt.';
}
Die Zuweisung an eine neue Variable $ausgeloggt ist überflüssig, und suggieriert auch eine Sicherheit, die nicht existiert. Wenn man dagege immer $_GET.. verwendet, weiss man immer, dass es sich hier um eine Usereingabe handelt, und diese mit aller vorsicht behandelt werden muss.
Desweiteren wird bei der obigen Lösung auf eine möglicherweise nicht initialisierte variable ($ausgeloggt) zugegriffen, Dies verursacht eine Warning, die jedoch bei der standard PHP Einstellung unterdrückt wird.
 
Hey,

hoffe , dass du beim Login nicht auch $_GET verwendest (außer zu Testzwecken!). Wg. der Sicherheit sollte hier auf jeden Fall die Datenübergabe mittels POST realisiert werden - Infos dazu hier.
Ansonsten kann man auch SelfPHP empfehlen - dort gibt's auch verschiedene Beispiele...
 
User007 schrieb:
Wg. der Sicherheit sollte hier auf jeden Fall die Datenübergabe mittels POST realisiert werden
Einen wirklicher Sicherheitsgewinn stellt POST eigtl. nicht dar...ok es landet nicht in evtl. vom User benutzten Proxys aber ansonsten bringt POST da nicht wirklich was.
 
naja wenn man sich per get einlogg und bestenfalls darüber noch pw´s übermittelt werden is post doch schon um einiges sicherer... per get hat man dann die zugangsdaten schön im browserverlauf, da freuen sich internet cafes
 
POST ist sicherer und für viele Fälle empfehlenswerter, aber deshalb noch lange nicht sicher :)
 
Zurück
Oben