Login script funktioniert nicht immer

allsports

Grünschnabel
Hallo

Ich habe ein Problem mit meinem (ersten) Login Script.

Es klappt leider nicht auf allen Computern. Wieso kann ich leider nicht sagen. Ausserdem ein problem ist, dass es auf allen mir zugänglichen PCs klappt, d.h. es ist schwieriger für mich den Fehler zu finden.

Aber wie gesagt, ganz falsch kann es ja nicht sein, da es auf meherern PCs funktioniert. Ich hoffe nun, dass mir hier jemand sagen kann warum das nicht überall klappt, und was dagegen zu tun ist.

Der Code, der am anfang jeder Seite geladen wird:
PHP:
<?php

    session_start();

      if(!isset($_SESSION['IP'])){
        $_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
      }

//Richtige IP
      if($_SESSION['IP'] == $_SERVER['REMOTE_ADDR']){
//Login per Cookies
	     if(isset($_COOKIE['User'], $_COOKIE['PWord']) AND
   	        check_login($_COOKIE['User'], $_COOKIE['PWord'])) {
          $_SESSION['ID'] = $_COOKIE['User'];
         } else {
//Login per Login-Formular / set Cookies
	       if(isset($_POST['User'], $_POST['PWord']) AND
	          check_login(addslashes($_POST['User']), 
                         MD5(addslashes($_POST['PWord']))))
          {
             setcookie("User", addslashes($_POST['User']), 
                       time() + (6*30*24*60*60));
		       setcookie("PWord", MD5(addslashes($_POST['PWord'])),
                       time() + (6*30*24*60*60));
	        $_SESSION['ID'] = $_POST['User'];
	       }
	     }
      } else {
	  session_destroy();
      }
?>

Mit isset($_SESSION['ID']) kann ich in der Seite abfragen ob man eingeloggt ist.
Die $_POST, Funktionen sind eigentlich alle korrekt, sie funktionieren bei mir ja auch!

MfG Simon
 
Entschuldige wenn ich mich irre, aber ist session['id'] nicht eigentlich eine resavierte Variable von PHP für die ID der usersession (also der hash aufe dem Serevr wo er die Daten findet)

Versuch wenn dann doch einfach anstatt ID einen anderen Namen zu benutzen.

Solte ich falsch liegen habe ich nichts geschrieben ^^
 
Zuletzt bearbeitet:
ich glaube
HTML:
session_id
ist eine reservierte variable!

Auch bei mir gilt wenn es falsch ist hab ich nichts geschrieben!:)
 
Danke für die Tipps, aber der richtige war wohl noch nicht dabei.

wenn $_Session['id'] reserviert wäre, würde das dann nicht überall nicht funktionieren?
wäre ja ein serverseitiges problem...


Eine Fehlermeldung erscheint nicht.
Es ist, als ob man das Passwort falsch eingegeben hätte. Kann mir ehrlich gesagt, aber nicht vorstellen dass jemand das passwort 10 mal falsch eingibt, ausserdem ist man nach erfolgreichem Registrieren automatisch eingeloggt. und da kann man ja das PW nicht falsch eingeben ;)
 
Ok, so wies aussieht, hatte ich mal (als die betroffenen User sich registrierten), einen fehler im registrier-code, so dass das passwort in der datenbank falsch eingetragen wurde.

Ich glaube das wars, war also nicht wirklich ein fehler im Skript. Falls es doch noch probleme gibt, melde ich mich wieder!

Danke trotzdem für die Tipps
 
Zurück