Mal geschaut, ob die Session korrekt übernommen wird? Dh. ob der Session Cockie gesetzt ist, und oder der Link die SESSION ID enthält?
Ich hoffe aber, dass du den finalen Code dann noch von der Sicherheit her optimieren wirst. Denn das direkt mit POST übergebene $user hat so nix in einer SQL-Abfrage zu suchen (SQL-Injection-Gefahr!!).
Ergebnis 1 bis 5 von 5
- 16.10.2009, 15:34 #1
Session Problem bei 1&1
Guten Tag,
und zwar habe ein Problem mit meinem Login-Script. Ich hatte zunächst ein ähnliches Script auf einem kostenlosen Server (funpic) getestet, dort hat soweit auch alles funktioniert.
Heute habe ich dann dasselbe auf einem 1&1 Server versucht, doch klaptt es nicht so wie ich möchte.
#1: Die Daten werden in ein Formular eingegeben und an die 2. Seite mittels "$_POST" weitergeschickt. (klappt)
#2: Die eingegebenen Daten werden mit den Daten in der Datenbank vergleicht (klappt)
#3: Sind die Daten gleich wird einen der Session ein username zugeordnet und man wird auf einen 3. Seite weitergeleitet (klappt)
#4: Hier liegt dann mein Problem. $_SESSION['user'] ist leer obwohl es im 3. Schritt zugeordnet wurde. Auf der 2. Seite kann ich $_SESSION['user'] auch ausgeben.
Hier der zugehörige Code:
Login.php
home.php (auszug)Code:session_start(); include('config/config.php'); $user = $_POST['user']; $password = $_POST['pass']; $pass = md5($password); $sql = "SELECT user, password FROM login WHERE user = '$user'"; $login = mysql_query($sql); $daten = mysql_fetch_array($login); if ($daten == "") { echo "Login failed!"; echo "<a href=''>Zurück zum Login</a>"; } else if ($daten['password'] == $pass AND $daten['user'] == $user) { $_SESSION['user'] = $user; echo "Login war erfolgreich - <a href='home.php'>weiter</a>"; } else { echo "Login failed!"; }
Ich habe den gleichen Code noch einmal auf meinem Funpic-Server getestet und dort funktionierte es. Nun komme ich nicht weiterCode:session_start(); include('config/config.php'); $action = $_GET["action"]; // Session überprüfen if (!isset($_SESSION['user'])) { echo "<div class='login' align='center'>"; echo "Bitte erst einloggen<br>"; echo "<a href=''>ZurŸck zum Login</a>"; echo "</div>"; exit; }
so far
John MacBook Pro | 15.4" | 2.8Ghz | 4GB Ram | 500GB HDD | 10.6.4 | Mid 2009
iPhone 4 | 32GB | black
- 16.10.2009, 15:39 #2
- 16.10.2009, 16:13 #3
Okay,
dann werd ich das erstmal ändern, solang ich bei meinem anderen Problem nicht weiter komme.
Danke für den Hinweis MacBook Pro | 15.4" | 2.8Ghz | 4GB Ram | 500GB HDD | 10.6.4 | Mid 2009
iPhone 4 | 32GB | black
- 18.10.2009, 18:17 #4
Kann geschlossen werden. Problem gelöst, lag daran dass ich vor dem PHP-Teil noch ein HTML-Teil hatte. Den sollte ich nach Meinung von 1&1 weglassen. Gesagt, getan und es funktioniert
MacBook Pro | 15.4" | 2.8Ghz | 4GB Ram | 500GB HDD | 10.6.4 | Mid 2009
iPhone 4 | 32GB | black
- 21.10.2009, 14:46 #5
Hehe, dann ist das kein Wunder.
session_start() muss vor jeglicher Ausgabe aufgerufen werden, sonst kann der Header nicht für das erzeugen des Cookies angepasst werden.
Ähnliche Themen
-
session wiederherstellen?
Von knoelg im Forum BrowserAntworten: 1Letzter Beitrag: 14.03.2009, 13:18 -
Session-ID ausblenden
Von wapplegraph im Forum Web-ProgrammierungAntworten: 7Letzter Beitrag: 26.05.2007, 17:10 -
PHP Klasse mit Session Registrierung
Von Applefan88 im Forum Web-ProgrammierungAntworten: 1Letzter Beitrag: 23.01.2007, 20:05


Zitieren
