Login ohne Cookies

steht es überall in der ersten zeile?
hast du auch keinen fehler in der settings.php? stimmt der pfad zur settings.php? hast du dir auch mal das tutorial auf http://www.webmaster-resource.de angeschaut, oder das von tutorials.de?

und dann.... was genau geht denn nicht? die aussage, geht nicht, is bissl schwammig. wo haperts denn, wirst du widererwarten auf diese phplogin.php?loginfirst=yes seite weitergeleitet? oder ist der login von anfang an nicht korrekt, kommst du auf die seite phplogin.php?loginfalse=yes? dann wäre der fehler nämlich ganz wo anders zu suchen. drück dich mal bitte etwas präzieser aus, dass wir dir hier auch präzise antworten können.
 
also, ich komme wenn ich mich mit name und pw einlogge, rein, d.h. es kommt sie sind angemeldet. Öffne ich dann eine geschützte Seite, downlods, dann kommt bitte zuerst einloggen, also loginfirst=yes
schlurpsel
 
Also deine Links sehen jetzt überall so aus?

Code:
login.php?SESS_ID=asödfljafslkjasfl235235

oder zumindest so ähnlich? Sprich es ist ein md5 code hinten dran an jede url?

Die settings.php die dir BigManu "gemacht" hat ist überall (in jedem Script) in der allerersten Zeile?
Es hat funktioniert als du noch mit COOKIEs gearbeitet hast?
Nicht dass es ein Programmierfehler ist und kein Fehler von der Session.
 
Das hatte ich mal in eine Site eingefügt um mir Cookies zu ersaparen

PHP:
<?php if(isset($_GET['Nick'])) {
        $Header = "?Nick=".$_GET['Nick'];
          if(isset($_GET['SES'])){
            $Header = "?Nick=".$_GET['Nick']."&SES=".$_GET['SES'];
          }
      }
?>

Nick und SES füllst du beim login

PHP:
$Nick = $_POST['Nick'];
$PW = md5($_POST['Password']);

$Check = mysql_query("SELECT * FROM Usertable");
  
 while ($row = mysql_fetch_assoc($Check)) {
    if ($row['NN'] == $Nick) {
      if ($row['PW'] == $PW) {
         if ($row['KEY'] != "") {
          $Header = "?Nick=".$row['NN']."&SES=".$row['KEY'];}
         else {
          $Header = "?Nick=".$row['NN'];}
          header ("Location: ../index.html".$Header);
         $Into = true;
          break;
        }
    }
     if(!isset($Into)) {
      header ("Location: ../index.html");
      }
   }
exit;


Solltest aber vorher nicht vergessen mit der DB zu connecten!!

Dann kannst du so beim login die Daten an die URL hängen und mit dem Script oben auf jeder Seite abfragen, wenn sie nicht da sind oder nur teilweise hat der User halt nur enstsprechende Rechte!!

PS: So brauchst du auch in keiner ini oder ähnlichem rumzuhacken..

Lg Mohag
 
Zuletzt bearbeitet:
Hmm ich schreib jetzt hier mein problem mal rein:

Ich hab in ner Test Datenbank drei member:

Member: Passwort:

kev röll
konk karl
blubb l

Wenn ich mich mit kev einloggen will, funktioniert das.
Jedoch bei den anderen zweien nicht, was ich komisch finde.

Ich habe bei der Funktion überall ein echo etc schon hinplatziert, die Parameter stimmen und sollten eigentlich bei der Abfrage auch stimmen, denn die Variablen haben überall wo ich das echo eingefügt habe den richtigen Wert gehabt. jetzt verstehe ich nicht ,warum das nicht funktioniert:

Funktion:

PHP:
function login($name,$password)
    {
        connect();
        echo "<br>";
        echo "<br>";
        
        $hol_mem = "SELECT * from member;";
        $hol_mod = "SELECT * from moderator;";
        
        $result=mysql_query($hol_mem) or die(mysql_error());
        $result2=mysql_query($hol_mod) or die(mysql_error());
        $row_mem=mysql_fetch_assoc($result);
        $row_mod=mysql_fetch_assoc($result2);
        
        // Hier waren die Werte korrekt beim echo         

        if($name == $row_mem['nick'] && $password == $row_mem['password'])
        {
              echo "Member Login erfolgreich<br>";
              $_SESSION['member_id']=$row_mem['id'];
        }
        else
        {
              if($name == $row_mod['nick'] && $password == $row_mod['password'])
              {  
                  $_SESSION['mod_id']=$row_mod['id'];
                  echo "Moderator Login erfolgreich<br>";
              }
              else
              {
                // Hier waren die Werte korrekt beim echo 
                 echo "Login hat nicht gefuntzt<br>";
              }
        }
   }

Da wo ich die Kommentare platziere, habe ich ein echo mit $name und $password angefügt, und die Werten stimmten, dennoch komm ich immer zu dem else, dass der Login nicht gefuntzt hat.
Obwohl alle werte stimmen, is doch komisch oder?
 
Kann da nur sagen, hab da shon mal was zu gepostet ;)

hier kannste mal schaun, ob dir diese lösung gefällt, dann kann ich dir ja noch ein zwei sachen dazu posten...

Vorteil ist, du braust keinen logoff.
Nachteil ist, es ist schwer zu überprfüen ob der user (noch) auf der Seite ist..

Du kannst zwar beim login einen boolschen Wert setzen (on, offline), jedoch musst du über einen zyklusrequest abfragen ob er noch da ist oder nicht.. zumindest hab ich mir das mal in meinem Spatzenhirn ausgedacht.. ;)

Habs aber noch nich umgesetzt, zu viel Arbeit momentan...

Lg Mohag
 
naja aber warum sollte ich was ändern, versteh halt ned warum er den ersten tabellen eintrag durchlässt und die anderen nicht. moderatoren login funtzt ja auch.
aber warum will er die neuen namen nicht die ich grad hinzugefügt hab?
Die Lösung von dir ist schon schön, aber ich will es auf meine art lösen um weiterzulernen, insofern brauche ich da einen tipp von euch. es geht ja nur darum, warum er den einen user durchlässt, aber die anderen nicht.
 
Zuletzt bearbeitet:
Gut, zu der Sache mit dem erklären können.

Er hat einen Zusatzspalte in der er das Adminrecht verwaltet, wenn du nun die Session öffnest gibst du einen boolschen Wert mit in das Array der und fragst dann ab ob true oder false, wenn true dann Admin, wenn false dann nicht..

Mohag
 
Zurück