Login / Logout

ucmax

Grünschnabel
Guten Abend,

da Ich seit langem einmal wieder etwas mit Sessions mache habe Ich folgende frage:

Ich hab mir ein Loginsystem mit Sessions gecodet nun soweit ist ja auch alles perfekt.

Nun aber möchte Ich das der "Login" Link mit einem "Logout" Link ersetzt wird, warscheinlich mit einer IF-Schleife.

Nur leider weiß Ich nicht mehrsogenau wie man dies mit Sessions schreibt!

Ich würde mich über eine schnelle Antwort freuen.

Mit freundlichen Grüßen
ucMax
 
PHP:
if(isset($_SESSION['deine_var'])) {
  echo "logout";
} else {
  echo "login";
}

So sollte das funktionieren...
 
Ok, auch wenn du erstmal PHP lernen solltest (Es gibt keine IF-Schleifen !!), solltest du das so angehen:
PHP:
if (isset($_SESSION['userid_oderwasauchimmer'])) {
echo '<a>Logout</a>';
} else {
echo '<a>Login</a>';
}

mfg
nosilume

Edit: Nein, warum klicke ich zweimal auf Vorschau (und warum dauert das zwei Minuten ?!)
 
Hallo,

vielen Dank!

Ja ich meinte dies mit IF-Schleifen ist ja jetzt aber auch egal!

Aufjedenfall bekomme Ich nun folgenden Error:


Fatal error: Smarty error: [in xx/xx/xx//de/navi.php line 204]: syntax error: unrecognized tag 'echo' (Smarty_Compiler.class.php, line 590) in /srv/www/vhosts/xx/xx/xx/xx/xx/xx/system/libs/Smarty.class.php on line 1095

Da Ich meine Site über das Template System "Smarty" laufen habe, kann dies daran liegen?:rolleyes:


Vielen Dank schonmal im vorraus!

Mit freundlichen Grüßen
ucMax
 
Ich hab nun mal die Datei hier hineingeschrieben [ HTML ] steht für die Tabelle die durch eine andere ersetzt werden soll.

Code:
<?
if (isset($_SESSION['user_id'])) {

  echo ("[ HTML ]"); 
} 
else 
{ 
  echo ("[ HTML ]"); 
} 
?>

Zeile 204 wo der fehler aufgetreten war diese:

204 | }
205 | else


EDIT: Ich glaub Ich hab den fehler! Muss in die Datei auch eine Session geöffnet werden? Wenn ja habe Ich den Fehler!
 
EDIT: Ich glaub Ich hab den fehler! Muss in die Datei auch eine Session geöffnet werden? Wenn ja habe Ich den Fehler!
Ich verstehe leider nicht was du sagen willst, kannst du das nochmal deutlicher formulieren.

Eigentlich sollte der Code nichts mit dem Problem zu tun haben, soweit ich das verstehe versuchst du irgendwo sowas wie {echo}, wobei Smarty den Tag natürlich nicht kennt.
 
Ich verstehe leider nicht was du sagen willst, kannst du das nochmal deutlicher formulieren.

Eigentlich sollte der Code nichts mit dem Problem zu tun haben, soweit ich das verstehe versuchst du irgendwo sowas wie {echo}, wobei Smarty den Tag natürlich nicht kennt.

Hallo,

ja genau darauf bin Ich mittlerweile auch schon gestoßen!

Aber gibts es eine alternative wie man dies machen kann um den Fehler zu umgehen?
Oder eine ganz andere Lösung (Mit Smarty aber)?

Mit freundlichen Grüßen
ucMax
 
Die wohl einfachste Lösung wäre den Tag {echo} nicht zu verwenden ^^

Zeig mir mal den Code, der den du vorher gepostet hast, passt nicht wirklich zur Fehlermeldung. Was willst du überhaupt damit erreichen ?
 
Die wohl einfachste Lösung wäre den Tag {echo} nicht zu verwenden ^^

Zeig mir mal den Code, der den du vorher gepostet hast, passt nicht wirklich zur Fehlermeldung. Was willst du überhaupt damit erreichen ?

Welchen Code den Ich vorher gepostet habe?

Naja ganz einfach ich will damit erreichen das wenn man sich einloggt a) aus der standart navi noch die navigation erscheint die nur für eingeloggte user ist wie zbs. Profil usw... und dies sollte ja nicht unbedingt alles in der normalen navi stehen bei den anderen links wenn man nicht eingeloggt ist.

b) Statts der Login Box eine art kleine Übersichtsbox mit Uhrzeit und Benutzername als was man eingeloggt ist!

Das hab ich ja auch schon alles nur benötige Ich noch das "Script" mit dem das hallt verdeckt und für eingeloggte User erscheinen lässt.
Oder soll Ich daraus 3 Dateien machen?
Also so das Ich statts echo header hab und dann die jeweilige navigations datei include?
Am besten wärs hallt aber mit einer Datei für die Navi also eine und für die Loginbox also eine mit dem "echo" prinzip.

Oder welchen TAG würdest du statts Echo benützen?
 
Zurück