Forum
Tipps
News
Menu-Icon

Beim Einloggen: Session doesn´t exist / php

Wir haben ein Problem.


Wir benutzen "Sessions" bei Php. Beim einloggen kommt es vor, dass die Meldung "Session doesn´t exist" erscheint. Das passiert aber immer unregelmäßig: Mal passiert es bei Mozilla, mal nicht. Beim Internetexplorer ist es auch so. Deswegen ist ein Problem mit dem Browser ja ausgeschlossen oder???

Haben auch die Sicherheit bei den Cookies auf "niedrig" gestellt - Problem immer noch da.

http://www.loeningen-gs.de.vu/
ist der Link zur Seite, einloggen kann man sich unter "Schüler" Falls erwünscht lasse ich Loginnamen und PW zukommen.

Danke schon mal für Hilfe.

Grüße Snooker 


Antworten zu Beim Einloggen: Session doesn´t exist / php:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ein Schluck Quellcode des betreffenden Skripts wäre nett... ;)

OK! Hier ist der QC!

<?PHP
session_start();
if ($_SESSION["authenticated"]==1)
{

$name=$_POST["username"];
$pass=$_POST["password"];
$klasse=$_POST["klasse"];
require_once('DB.php');

// Password ist BmhRnHz43Xoc
   $dsn = "mysql://baseme:[email protected]/baseme";
// stellt eine Verbindung zu der Datenbamk
   $db = DB::connect($dsn);

   if(DB::iserror($db))
   {
      die ($db->getMessage());
   }

$sql = "SELECT * FROM $klasse WHERE nname='".$name."' AND password='".$pass."'";
$q = $db->query($sql);
if($q->fetchInto($row))
{
 $id=$row[0];
}
if($id)
{
   $_SESSION["authenticated"]=2;
}
else
echo "Username or Password incorrect";
}

if ($_SESSION["authenticated"]==0)
{
echo "Session doesn’t exist. Maybe has expired";
}

if ($_SESSION["authenticated"]==2)
{
header("Location:user_aufgaben.php?id=$id&klasse=$klasse");
}
?>

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Wo wird denn $_SESSION["authenticated"] auf 1 gesetzt, und unter welchen Bedingungen?

Ach ja ähm, der Login-Mechanismus hat aber auch nur Alibi-Funktion, oder? Ich meine wie kann es sein, dass ich ohne User/PW auf eurem geschützten Bereich rumnavigieren kann? ;D

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

lol^^

Zur Frage:

Also das session_start() schmeißt halt manchmal diese Warnung. Die ist aber nicht weiter schlimm, denn es wird ja ne neue Session gestartet falls noch keine existierte.

Um die Meldung zu unterdrücken, einfach ein "@"-Zeichen vor den Methodennamen, also:

@session_start();

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Also das session_start() schmeißt halt manchmal diese Warnung. 

Sollte aber damit nichts zu tun haben, denn die angegebene Fehlermeldung ist bei den Jungens im Code verankert (siehe Listing) ;)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ups... kommt davon wenn man sich die Listings nicht durchliest ::)

session_start hat glaub ich aber auch manchmal so ne ähnliche Meldung geschmissen, hab bei mir in den Skripten jedenfalls immer son @-Zeichen davor (is aber schon bisl her wo ich das geschrieben hab).

Wenn jetzt $_SESSION["authenticated"] irgendwo noch sinnvoll auf 1 gesetzt wird (da wo das Login-Formular gezeigt wird), müsste man ja dann einfach im '($_SESSION["authenticated"]==0)'-Fall auf das Login-Formular weiterleiten oder so. Ist ja normal, dass irgendwann die Session abläuft. Wenn man dem gegensteuern will, muss man halt ein Autologin über Cookies oder so implementieren.


« Mysql SuchePHP aber wie? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
PHP
PHP steht für Personal Home Page und ist eine Skriptsprache die meist verwendet wird zur dynamischen Erzeugen von Internetseiten. PHP zeichnet sich durch die weite D...

Private Session
Private Session ist ein Modus, in dem kein Verlauf oder Chronik angelegt wird. Diese Funktion gibt es bei den üblichen Internet Browsern wie Internet Explorer, Apple...

Malware
Mit Malware bezeichnet man allgemein Schadprogramme, die dazu entwickelt worden schädliche Funktionen auf Computern auszuführen. Das Wort setzt sich zusammen au...