 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
27.12.2003, 00:16
|
#1
|
|
TP-Junior
Registriert seit: Dec 2003
|
login mit sessions
ok, ich habe es stundenlang probiert. jetzt habe ich aufgegeben und frage euch um hilfe. ich möchte einen login bereich haben, man soll sich einmal einloggen, und kommt ins administrationsmenü. das ist ja ganz leicht, aber nun möchte ich, dass auf der adminseite noch weitere links sind, um mehrere sachen zu konfigurieren. und damit man nicht auf jeder seite namen und passwort nochmal angeben muss, versuche ich, die varuablen $name und $psw eine zeit lang zu behalten, und sie auf die nächsten seiten "mitzunehmen". dafür habe ich session_start() genommen. aber es will einfach nicht klappen. ich zeige euch hier die php-teile der dateien und bitte euch, mir zu helfen. vielen dank!
Diese Datei kommt nach dem Login:
Code:
<?php
$name=$_REQUEST["name"];
$psw=$_REQUEST["psw"];
if($name=="kg" && $psw=="klar")
{
session_start();
$name="kg";
$psw="klar";
echo "Erfolgreich eingeloggt ";
echo '<a href="seite2.php?' . SID . '">Hier gehts weiter</a>';
}
else
{
echo "Falsches Passwort, Freundchen!";
}
?>
Wenn man auf "Hier gehts weiter" klcikt, kommt diese:
Code:
<?php
session_is_registered();
if($name=="kg" && $psw=="klar") {
echo "Alles klar";
}
else {
echo "Daneben";
}
?>
|
|
|
27.12.2003, 01:04
|
#2
|
|
Guest
Registriert seit: Aug 2002
|
session_start() sollte ganz am Anfang des Scriptes stehen.
|
|
|
27.12.2003, 01:32
|
#3
|
|
TP-Insider
Registriert seit: Dec 2003
Ort: nienburg (raum hannover)
|
session_is_registered() ist veraltet. du solltest dein sessionmanagement mal auf den neusten stand bringen
http://www.tutorials.de/tutorials9684.html
__________________
in eile kam er,
in schwarzem gewand,
aus den tiefen des waldes,
ein einsamer mann, ein geschoepf der freiheit,
ein geschoepf ohne furcht,
doch alle nannten sie ihn nur T O D
|
|
|
27.12.2003, 12:52
|
#4
|
|
TP-Junior
Registriert seit: Dec 2003
|
Zitat:
Original geschrieben von Strogij
session_start() sollte ganz am Anfang des Scriptes stehen.
|
aber ich möcht ja, dass die session erst startet, wenn man erfolgreich eingeloggt ist. oder kann man das so gar nicht machen?
|
|
|
27.12.2003, 13:23
|
#5
|
|
TP-Veteran
Registriert seit: Jan 2002
|
Zitat:
|
aber ich möcht ja, dass die session erst startet, wenn man erfolgreich eingeloggt ist. oder kann man das so gar nicht machen?
|
Das ist ein prinzipieller Denkfehler: Die Session muss doch schon laufen, um überhaupt feststellen zu können, ob man eingeloggt ist, schließlich werden darin die eingegebenen Zugangsdaten gespeichert. D.h. "Laufende Session" ist nicht gleichzusetzen mit "eingeloggt".
Dein Script funktioniert aus folgenden zwei Gründen nicht:
Erstens werden in der ersten Datei Benutzername und Kennwort überhaupt nicht in der Session gespeichert.
Dazu schreibst du hinter "session_start()" folgendes:
PHP-Code:
$_SESSION["name"] = $name;
$_SESSION["psw"] = $psw;
Und hier die zweite Datei nochmal komplett neu:
PHP-Code:
// session start am Anfang, damit man an die Daten drankommt
session_start();
// und jetzt der Vergleich der in der Session gespeicherten Zugangsdaten mit den festgecodeten gültigen Werten
if($_SESSION["name"] =="kg" && $_SESSION["psw"] =="klar")
{
echo "Erfolgreich eingeloggt";
echo '<a href="seite2.php?' . SID . '">Hier gehts weiter</a>';
}
else
{
echo "Falsches Passwort, Freundchen!";
}
|
|
|
27.12.2003, 13:34
|
#6
|
|
TP-Junior
Registriert seit: Dec 2003
|
Zitat:
Original geschrieben von seb
Die Session muss doch schon laufen, um überhaupt feststellen zu können, ob man eingeloggt ist
|
ah, daran habe ich nicht gedacht. dann werd ich es jetzt mal versuchen, vielen dank für die hilfe! 
|
|
|
27.12.2003, 14:07
|
#7
|
|
TP-Junior
Registriert seit: Dec 2003
|
ok, alles funktioniert, ich habe außerdem noch eine weitere datei mit ins spiel gzogen, die nur, wenn passwort und name stimmen, weiterleitet. das session_is_registered hab ich ersetzt durch session_start(); und hier und da noch was verbessert und ich habe noch einen logout hinzugefügt.
danke an alle für die hilfe.
|
|
|
28.12.2003, 16:31
|
#8
|
|
TP-Junior
Registriert seit: Dec 2003
|
jezt ist ein neues problem aufgetaucht:
wenn ich auf www.kg-design.de.vu gehe, funktioniert das script nicht,
wenn ich aber auf die richtige seite ( www.skateberlin.de/test/kgdesign/index.php ) gehe, klappt es.
das ist doch nicht normal???????????!!!!!!!!!???????
ps: um es zu testen: name: kg, psw: klar
|
|
|
28.12.2003, 16:41
|
#9
|
|
TP-Veteran
Registriert seit: Jan 2003
Ort: München
|
also leute wieso so umständlich?
PHP-Code:
<?
session_start ();
$_SESSION['status'] = "not";
if ($_POST['user'] == "axomento" && $_POST['password'] == "schokoeis") {
$_SESSION['status'] = "logged";
}
else {
echo "blabla";
}
?>
dann in der anderen datei:
PHP-Code:
<?
session_start ();
if ($_SESSION['status'] == "not") {
headder ("Location: [url]http://test.de/login.php[/url]");
}
?>
ganz grob gesagt ist das ziemlich die easy lösung 
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 05:07 Uhr.
|
 |