Logo - MyWebsolution.de
User gesamt  :  2458799
User online  :  4
KubaSeoTräume, PHP Forum, PHP Community and more ... MyWebsolution.de!
   
   
 
Registrieren Login User F.A.Q Suche Home

eingeloggt bleiben

MyWebsolution.de Foren » Workshops » Problem bei Loginskript

Seite: <  1 2 3 4  > Posts pro Seite: 5 10 20
Autor Thread
05.01.2007 19:00 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
du könntest es mit einer meta-Angabe machen

PHP:
echo "<meta http-equiv=\"refresh\" content=\"1; URL=usercenter.php\">\n";



Profil ansehen Mail senden
05.01.2007 19:35 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
thx! hat endlich geklappt! Aber ich sehe keine session die mitübergeben wurde, ist das normal?

So jetzt brauche ich noch 2 codes dann ist die sache erledigt :D
1: ich bräuchte bei dem loginformular so etwas ähnliches wie ne if() anweisung die erkennt ob der user eingeloggt ist oder nicht. etwa so:
if( user eingeloggt) -> zeige formular mit "Hallo User"
else -> zeige loginformular

Kennst du sonen code?

Und wie setz ich den code auf der site die geschützt werden soll?

Danke für deine Geduld :)
mdean
Profil ansehen
05.01.2007 20:00 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
Zitat:
thx! hat endlich geklappt! Aber ich sehe keine session die mitübergeben wurde, ist das normal?

Also standardmäßig wird ein Cookie gesetzt, wenn eine Session gestartet wird. In diesem Fall wird keine SessionID an die URL angehangen.
Wenn du möchtest, dass auch Benutzer, die Cookies deaktiviert haben, sich einloggen können, dann musst die Weiterleitung folgendermaßen schreiben:

PHP:
echo "<meta http-equiv=\"refresh\" content=\"1; URL=usercenter.php?".SID."\">\n";


Das ist aber erstmal nicht so wichtig, da eh nur sehr wenige User Cookies deaktiviert haben.

Zitat:
1: ich bräuchte bei dem loginformular so etwas ähnliches wie ne if() anweisung die erkennt ob der user eingeloggt ist oder nicht. etwa so:
if( user eingeloggt) -> zeige formular mit "Hallo User"
else -> zeige loginformular

Kennst du sonen code?


Na aber klar :rolleyes:

Also, du speicher ja bei erfolgreichem Login die ID und den Nickname des Users in der Session, d.h. dass nur ein eingeloggter User die Variable $_SESSION['UserID'] besitzt, obwohl jeder User (eingeloggt oder nicht) eine Session besitzt.

Du kannst nun also schreiben
PHP:
if(isset($_SESSION['UserID']))
    echo "Hallo ".$_SESSION['Nickname'];
else {
    // Zeige Loginformular
}


Zitat:
Und wie setz ich den code auf der site die geschützt werden soll?

Das hat schonmal ein User vor dir gefragt, un zwar in diesem Thread

PHP:
<?php
    session_start
();
    
// Prüfen ob der User eingeloggt ist
    
if(!isset($_SESSION['UserID'])){
       
// Falls nein, Skript beenden
       
die("Sie sind nicht eingeloggt, nur eingeloggte User dürfen diese Seite betreten.");
    }
    else{
        echo 
"Sie dürfen diesen Bereich betreten.";
        
// Skript ausführen
    
}
?>



Profil ansehen Mail senden
06.01.2007 11:18 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
Gut, aber ich hab gemerkt, dass meine tabelle ja gar nicht im php skript selber ist, also nützt der else {} befehl gar nichts. Was muss ich eingeben, dass es z.B. so aussieht:
else { zeige tabelle mit id="blabla"}?
Profil ansehen
06.01.2007 12:59 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
ähm von welcher tabelle sprichst du?

was hat ein else mit ner tabelle zu tun ôÔ


Profil ansehen Mail senden
06.01.2007 13:29 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
Sry im erklären bin ich nicht gut :). Ich möchte irgendwie erreichen dass dieser BefehlPHP:
if(isset($_SESSION['UserID']))
    echo "Hallo ".$_SESSION['Nickname'];
else {
    // Zeige Loginformular
}

entweder die eine tabelle anzeigt oder die andere. Also z.B. so:
Code:
if(isset($_SESSION['UserID']))
    Dann gebe die Tabelle mit der id xy aus;
else {
    dann gebe die tabelle mit der id yy
}


weil sonst schaffe ich es irgendwie nicht das meine andere tabelle verschwindet... Hoffe verstehst was ich meinexD
Profil ansehen
06.01.2007 15:43 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
Und du hast mir immer noch nicht gesagt, was das für Tabellen sind :D

Da du etwas von einer ID schreibst, gehe ich mal von Datenbanktabellen aus?


Profil ansehen Mail senden
06.01.2007 15:47 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
vergiss es was ich gemeint hab xD habs hingekriegt. Ich wollte das wenn der user eingeloggt ist, es die eine html tabelle anzeigt, im anderen fall die andere. Hab jetzt einfach 2 dateien gemacht und das dann so gelöst:
PHP:
<? if(isset($_SESSION['UserID']))
    include 
'logged_in.php';
else {
    include 
'logged_out.php';
}
?>


So der login teil sollte nun endlich abgeschlossen sein :trink::trink::trink:

Nochmals vielen vielen vielen dank für die hilfe und die nerven die du für mich aufgebraucht hast:D Ohne dich und dein tutorial hätt ichs nicht hingekriegt :mygod::mygod:

Dieser Beitrag wurde am 06.01.2007 um 16:02:01 Uhr von mdean zum 1. Mal editiert.
Profil ansehen
06.01.2007 16:07 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
puhh.. ^^

Gratulation :D

Zitat:
Nochmals vielen vielen vielen dank für die hilfe und die nerven die du für mich aufgebraucht hast Ohne dich und dein tutorial hätt ichs nicht hingekriegt

Kein Ding, empfiel mich weiter ;D


Profil ansehen Mail senden
20.02.2007 20:44 Uhr
mdean
Forenposter
 
registriert 03.01.2007
wohnt in Schweiz
Beiträge 90
Erst grad als ich wieder alle Seiten getestet hab, ist mir leider ein neues Problem aufgefallen. Ich wollte, dass wenn man sich erfolgreich eingeloggt hat anstatt dass Loginfeld, den Namen unter den man sich eingeloggt hat angezeigt wird und einen Link zum Abmelden. Dass habe ich mit folgendem Code verwirklicht:
PHP:
<? if(isset($_SESSION['UserID']))
    include 
'logged_in.php';
else {
    include 
'logged_out.php';
}
?>

Dies funktioniert auch bei der mehrheit der Seiten, aber eben nicht bei allen. Ich kanns mir nicht erklären warum es nicht funktioniert, ich hoffe ihr wisst weiter...
Profil ansehen
Seite: <  1 2 3 4  > no reply
Powered by Pascal Landau © 2006 MyWebsolution.de
Designed by Pascal Landau © 2006 MyWebsolution.de
 
 
 
 
Home Email Impressum Disclaimer Statistik