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";
|
|
|
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 
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
|
|
|
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 
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
}
?>
|
|
|
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"}?
|
|
|
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 ôÔ
|
|
|
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 meine
|
|
|
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 
Da du etwas von einer ID schreibst, gehe ich mal von Datenbanktabellen aus?
|
|
|
06.01.2007 15:47 Uhr
|
|
mdean
|
Forenposter
|
|
registriert
|
03.01.2007
|
wohnt in
|
Schweiz
|
Beiträge
|
90
|
|
vergiss es was ich gemeint hab 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   
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 
Dieser Beitrag wurde am 06.01.2007 um 16:02:01 Uhr von mdean zum 1. Mal editiert.
|
|
|
06.01.2007 16:07 Uhr
|
|
Flitze
|
Administrator
|
|
registriert
|
17.10.2006
|
wohnt in
|
Eschwege
|
Beiträge
|
332
|
|
puhh.. ^^
Gratulation 
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
|
|
|
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...
|
|
|