Login mit Session will nicht funktionieren

Also wenn das Feld "active" in der DB vom Typ BOOLEAN ist muss du (glaub ich)
so pruefen.

Code:
.... (active = true)...
und nicht
Code:
.... (active = 'true')...

Bin mir aber auch nicht ganz sicher

########### EDIT #############
Doch das ist das Problem. Habe es schnell bei mir getestet. (active = 'true') gibt bei mir einen Fehler (MySQL 5).
 
Zuletzt bearbeitet:
Gut, dann Frage 2:

mach mal folgendes:
Was passiert denn, wenn Du ein Select auf den "name" und "passwort" machst ?
Hast Du die gleichen Werte, so wie Du mit md5($zeichenkette) den "$encrypted" erstellst ?

PHP:
if( isset($_POST['name'] && isset($_POST['passwort']) ) {
  $name = md5($_POST['name'];
  $pass  = md5($_POST['passwort']);
  echo $name . $passwort . "<br />";
}

$SQL = "SELECT name,passwort FROM teilnehmer";
$res = mysql_query($SQL);
while( $ret = mysql_fetch_assoc($res) )
  echo $ret['name']." => ".$ret['passwort'] . "<br />";

Damit kannst Du mal vergleichen, was bei Dir rauskommt und was in der DB steht - vielleicht hilfts ja ;)

### EDIT
name und passwort muss in der DB auf TEXT (eher sinnlos) oder VARCHAR (mind. 32 Zeichen) stehen
 
Zuletzt bearbeitet:
²dipsi: ist ein ENUM Feld.

²andy: wo muss ich den Code einfügen ? weil ich glaub hab ihn an der Falschen stelle eingefügt weil ich nur ne weiße seite angezeigt bekomme...

name & passwort sind ein VARCHAR Feld.
 
mach ein include() auf deine db.php und füge danach einfach den code ein ...
am besten erstellst du dafür eine test.php - dann musst du nicht deine (fast) fertigen seiten umbasteln ;)
 
Hm... als kleiner Tip am Rande:
Du solltest - wenn möglich - um Funktionen zu testen, das ganze etwas separieren indem Du Funktionsteile auslagerst ...macht zwar erstmal etwas mehr Arbeit, aber ist bei der Fehlersuche die sich schwer gestaltet doch etwas besser, da man im Code rumwurschteln kann, wie man will und riskiert damit nicht,bereits funktionierenden Code zu zerbasteln ...später kopierst Du die fertige Funktion oder deren Inhalt dann in deine Original-Datei - ich mache das seit langem so, wenn ichauf ein Problem stosse, woich keinen Rat mehr weiss und abendsum 23 Uhr schon etwas müde bin ^^

Warum Du eine weisse Seite bekommst ist mir rätselhaft - hast Du alle Fehlerfunktionen eingeschaltet ? - siehe dazu "error_reporting(E_ALL);"

Deine test.php sollte eigentlich im Moment nur die Funktion "include('db.php')" und meinen
vorherigen Code enthalten, natürlich muss das Formular mit rein, sonst hast Du ja keine Daten ;)

LG
Andy
 
bei meinem editor kann ich immer noch soweit zurück gehen wie die datei war als ich sie geöffnet hatte darum konnte ich sie wieder zurück stellen (;


meine test.php seite sieht momentan so aus:

PHP:
<?php
include("db.php");

if( isset($_POST['name'] && isset($_POST['passwort']) ) {
  $name = md5($_POST['name'];
  $pass  = md5($_POST['passwort']);
  echo $name . $passwort . "<br />";
}

$SQL = "SELECT name,passwort FROM teilnehmer";
$res = mysql_query($SQL);
while( $ret = mysql_fetch_assoc($res) )
  echo $ret['name']." => ".$ret['passwort'] . "<br />"; 


?>

& mit Formular soll ich das halt noch rein include oder wie ?

Sorry aber steh heute auf der Leitung
 
Naja, FAST so ;)

PHP:
<html>
<head>
</head>
<body>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST">
  Name: <input type="TEXT" name="name"><br>
  Passwort: <input type="PASSWORD" name="passwort"><br>
  <input type="SUBMIT" value="login">
</form>

<?php 
include("db.php"); 

if( isset($_POST['name'] && isset($_POST['passwort']) ) { 
  $name = md5($_POST['name']; 
  $pass  = md5($_POST['passwort']); 
  echo $name . $pass . "<br />"; 

  $SQL = "SELECT name,passwort FROM teilnehmer"; 
  $res = mysql_query($SQL); 
  while( $ret = mysql_fetch_assoc($res) ) 
    echo $ret['name']." => ".$ret['passwort'] . "<br />"; 
?>

</body>
</html>

Das speicherst Du als test.php und guckst, was rauskommt ;)
 
Zurück