Login Probs bei mehreren Usern

maa
ich bin so am verzweifeln jetzt sagt er mir immer das mein pw falsch ist

<?php
session_start (); // Starte eine Session.

include("db.php");

// Generiere und starte die Abfrage
$res = mysql_query("SELECT * FROM poster where admin='$admin'");
$res_ar = mysql_fetch_array($res);
if($res < 1){
print "In der Datenbank ist dein name nicht vorhanden"; }
else
{
if($password != $res_ar[password]){
print "Das passwort ist falsch";
} else {

// Ein Datensatz wurde gefunden.
$datenrichtig = true;

// Variable $user_eingeloggt erstellen.
$user_eingeloggt = true;

}
}
// Variable $user_eingeloggt in der Session registrieren.
session_register ("user_eingeloggt");
session_register ("admin");
?>
 
bist du dir sicher das die werte in deiner datenbank identisch mit den eingegebenen sind ? schau lieber nochmal nach

ansonsten kannst du noch if('$password' != '$res_ar[password]')

probieren.. aber der code ist so korrekt, schau nochmal ob pwd usw stimmen.
 
ja die stimmen überein
hab ich vieleicht die tabell falsch angelegt`? ( wenn sowas geht )$validate = mysql_query("SELECT * FROM poster");

hierbei sagt er mir auch dass mein pw falsch ist ist

while ($row = mysql_fetch_array($validate))
{
$dbusername = $row['admin'];
$dbpassword = $row['password'];
}

// Session starten
session_start ();

// Benutzername und Passwort prüfen
if (($admin == "$dbusername") && ($password == "dbpassword")) {


}
 
while ($row = mysql_fetch_array($validate))
{
$dbusername = $row['admin'];
$dbpassword = $row['password'];
// Session starten
session_start ();

// Benutzername und Passwort prüfen
if (($admin == "$dbusername") && ($password == "dbpassword")) {
}
}

machs mit in die schlefe rein.

wie schaut denn deine tabelle aus? also was für "flags" haben admin und password ?
 
flags?
ka :(
kennn mich mit mysql nicht aus
hab mit phpadmin die tabell "poster" gemacht
darin 3 spalten email,admin,poster varchar30
und sonst nix eingestellt
 
admin und password haben nix ?
mach halt admin und password auch mal TEXT oder so.... also
admin TEXT,
passwort TEXT,
poster TEXT
 
Habe irgendwie Mitleid:
Nimm mal diese Tabelle:

CREATE TABLE users (
id int(11) NOT NULL auto_increment,
nickname varchar(20) NOT NULL default '',
passwort varchar(20) NOT NULL default '',
email varchar(35) NOT NULL default '',
frage varchar(40) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;

die daten kannste ja erstmal zum testen manuell reinschreiben und dann später
ein simples script dazu schreiben



und dann mal den Code dazu:

<?
ob_start(); // Öffnet einen Puffer, damit der Header erst am schluss gesendet wird...keine cookie probleme
?>

<?
//////////////////////////
//Session Einstellungen///

//////////////////////////
session_name("sID");
// Session-id-name ... wir imer vergeben/wieder aufgenommen
session_start("tut");
// Session Name ... wir imer vergeben/wieder aufgenommen


//////////////////////////
//Einstellungen Mysql /////

//////////////////////////
$server = "localhost"; // db server name

$user = "deinUsername"; // der Mysql-Username
$pass = "deinPasswort"; // das Mysql-Password


$db = "deineDataBase"; // db Name

$tab = "users"; // tabellenname

$mc = mysql_pconnect($server, $user, $pass); // öffnet eine permanente Verbindung zum db-Server


mysql_select_db($db, $mc); // wählt die Database aus

//////////////////////////
//Funktionen definieren///
//////////////////////////


function formular($fehler) { // die Funktion formular mit der Variabel $fehler, die ist dazu da, wenn z.B dass PW falsch ist...


Print("<FORM method=post action=default.php>
<TABLE WIDTH='38%' ALIGN='CENTER' BORDER='0' CELLPADDING='0' CELLSPACING='1'>
<TR BGCOLOR='#cccccc' VALIGN='MIDDLE'><TD COLSPAN='2' HEIGHT='20' CLASS='normal'>
<DIV ALIGN='left'>Bitte loggen Sie sich zu Ihrem Administrationssystem ein:<br><br><B>$fehler</B></DIV></TD></TR>
<td>&nbsp;</TD>
<TR BGCOLOR='#ffffff'>
<TD CLASS='normal' WIDTH='200'>Ihr Benutzername:</TD>
<TD BGCOLOR='#ffffff' WIDTH='136'>
<DIV ALIGN='LEFT'><INPUT TYPE='text'
NAME='_name' SIZE='25'></DIV></TD></TR>
<TR BGCOLOR='#ffffff'><TD
CLASS='normal'>Ihr Passwort:</TD><TD><DIV ALIGN='LEFT'>
<INPUT TYPE='PASSWORD' NAME='_pass' SIZE='25'></DIV></TD></TR>
<TR BGCOLOR='#ffffff'>
<TD CLASS='normal'>&nbsp;</TD><TD><DIV ALIGN='RIGHT'>
<INPUT TYPE='submit' VALUE='Login' NAME='submit'></DIV></TD></TR><td>&nbsp;</TD></TABLE>
<table width =50% align=center border=1 cellpadding=0 cellspacing=0<tr><TD
CLASS='normal'><center>Passwort vergessen?</TD><TD><center><a href=make_mail.php>hier können Sie Ihr Passwort anfordern</a></TD>
</tr>
<TD
CLASS='normal'><center><b>Master-Admin Login:</b><br>
Sie benötigen das Masterpasswort</TD><TD valign=bottom><div align=center ><a href=master_login_form.php>Benutzer anlegen, ändern und löschen</a></div></TD>
</tr>
</table>
");
include ("footer.html");

}

function testpw($id, $nickname, $passwort) {

global $tab;
$check = mysql_query("SELECT * FROM $tab WHERE id='$id' AND nickname='$nickname' AND password='$passwort'");
// Es wird eine Anfrage an die database gesendet, wo die daten der database entsprechen...


if(mysql_num_rows($check))
{ // wenn die Anfrage erfolgreich war....

echo "<center>
<table WIDTH='38%' ALIGN='CENTER' BORDER='1' CELLPADDING='0' CELLSPACING='0'>
<tr bgcolor=#cccccc>
<td colspan=2 height=20 with=100 class=normal <div align=left><b>Sie sind im System eingeloggt</b></div></td></tr>
<tr>
<td height=20 with=100 class=normal <div align=left<b>Benutzername: </b></div>
<td with=100 class=normal><div align=left>$nickname</div></td></tr>
<tr>
<td height=20 class=normal <div align=left<b>Passwort: </b></div>
<td class=normal><div align=left>$passwort</div></td></tr>
<tr>
<td height=20 class=normal <div align=left<b>Ihre ID: </b></div>
<td class=normal><div align=left>$id</div></td></tr>
</table>";

?>
<table WIDTH="38%" ALIGN="CENTER" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<tr><td>&nbsp;</td></tr>
</table>
<table WIDTH="38%" ALIGN="CENTER" BORDER="1" CELLPADDING="0" CELLSPACING="0">
<tr><td><center><A HREF=index.php3?sID=<? echo (session_id()) ?>>weiter zur Administration...</A></td></tr>
</table>
<table WIDTH="38%" ALIGN="CENTER" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<tr><td>&nbsp;</td></tr>
</table>
<table WIDTH="38%" ALIGN="CENTER" BORDER="1" CELLPADDING="0" CELLSPACING="0">
<tr><td><center><A HREF=<? echo "$PHP_SELF?mode=logout" ?>>Logout</A></td></tr>
</table>
<?
include ("footer.html");
} // ende if
elseif(!mysql_num_rows($checkt)) { // wenn nicht wird die session zerstört

echo "No way, netter Versuch";
session_destroy("tut");

} //ende elseif
} //ende Function
//////////////////////////
////////Styledatei////////
//////////////////////////
echo
"<LINK REL='stylesheet' HREF='style.css' TYPE='text/css'>"; //style datei...muss ja auch ein bisschen nach was aussehen


//////////////////////////
//////Der Hauptcode///////

//////////////////////////
if($mode == "logout")
{
session_destroy("tut");
setcookie(session_name(), session_id(),
time() - 60*10); // setzt cookie auf MINUS 10min..sodass der keks gelöscht wird

formular("Bitte neu einloggen!"); // Formular wird neu geldaen
}
elseif(session_is_registered("login"))
{
testpw($login[id], $login[nickname], $login[passwort]); // führt die Funktion mit den Variabeln aus der Session aus.

}

elseif(isset($_name)
&& isset($_pass)) {
$get = mysql_query("select * from $tab where
nickname='$_name' AND passwort='$_pass'"); // Es wird eine Anfrage an die database gesendet, wo die daten der database entsprechen...

if(mysql_num_rows($get))
{ // wenn die Anfrage erfolgreich war....
$login = mysql_fetch_array($get);

session_register(login); //Registriert den array
setcookie(session_name(),session_id(), time() + 60*10); // setzt cookie auf 10min

echo "<center>
<table WIDTH='38%' ALIGN='CENTER' BORDER='1' CELLPADDING='0' CELLSPACING='0'>
<tr bgcolor=#cccccc>
<td colspan=2 height=20 with=100 class=normal <div align=left><b>Sie sind im System eingeloggt</b></div></td></tr>
<tr>
<td height=20 with=100 class=normal <div align=left<b>Benutzername: </b></div>
<td with=100 class=normal><div align=left>$login[nickname]</div></td></tr>
<tr>
<td height=20 class=normal <div align=left<b>Passwort: </b></div>
<td class=normal><div align=left>$login[passwort]</div></td></tr>
<tr>
<td height=20 class=normal <div align=left<b>Ihre ID: </b></div>
<td class=normal><div align=left>$login[id]</div></td></tr>
</table>";

?>
<table WIDTH="38%" ALIGN="CENTER" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<tr><td>&nbsp;</td></tr>
</table>
<table WIDTH="38%" ALIGN="CENTER" BORDER="1" CELLPADDING="0" CELLSPACING="0">
<tr><td><center><A HREF=index.php3?sID=<? echo (session_id()) ?>>weiter zur Administration...</A></td></tr>
</table>
<table WIDTH="38%" ALIGN="CENTER" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<tr><td>&nbsp;</td></tr>
</table>
<table WIDTH="38%" ALIGN="CENTER" BORDER="1" CELLPADDING="0" CELLSPACING="0">
<tr><td><center><A HREF=<? echo "$PHP_SELF?mode=logout" ?>>Logout</A></td></tr>
</table>
<?
include ("footer.html");

} // end if $get...
elseif(!mysql_num_rows($get)) {
formular("Benutzername
oder Passwort falsch!");
} // end elseif $get...
} // end isset...
else
{
formular("Loginsystem");
}
?>
<? ob_end_flush(); //beendet den puffer(wg. cookies) und gibt die daten aus...
?>

Läuft wie ne eins.
 
Zuletzt bearbeitet:
also ich hab dei tabelle nochmal neu gemacht und mir die abfrage aus dem script geholt. und... geht immer noch nicht.
ich post jetzt mal kurz die login.html und die checkuser.php

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<div align="center">Adminzugang f&uuml;r Newsposter </div>
<form name="form1" method="post" action="check.php">
<table width="75%" border="0" cellspacing="1" cellpadding="1" align="center">
<tr>
<td>
<div align="center">Admin</div>
</td>
<td>
<div align="center">Password</div>
</td>
</tr>
<tr>
<td>
<div align="center">
<input type="text" name="admin">
</div>
</td>
<td>
<div align="center">
<input type="text" name="password">
</div>
</td>
</tr>
</table>
<p align="center">
<input type="submit" name="Abschicken" value="Abschicken">
</p>
<p>&nbsp; </p>
</form>
</body>
</html>

<?php
session_start (); // Starte eine Session.

include("db.php");

// Generiere und starte die Abfrage
$ergebnis = mysql_query("select * from admin") or die(mysql_error());
while ($row = mysql_fetch_array($ergebnis)){
if ($row[admin]== $admin){
if ($row[password]==$password){
$loggedin="ja";
$ID=$row[ID];
session_register(loggedin,ID);
if ($admin==$ADMIN){
$is_admin ="yeha";
session_register(is_admin);
}
$loggin_erfolgreich="ja";
}
}
}
if($loggin_erfolgreich=="ja"){


// Ein Datensatz wurde gefunden.
$datenrichtig = true;

// Variable $user_eingeloggt erstellen.
$user_eingeloggt = true;
} else {
// Die Benutzerdaten waren falsch.
$datenrichtig = false;

// Variable $user_eingeloggt erstellen.
$user_eingeloggt = false;
}

// Variable $user_eingeloggt in der Session registrieren.
session_register ("user_eingeloggt");
session_register ("admin");
?>

<html>
<head>
<?php if ($datenrichtig) { ?>
<meta http-equiv="Refresh" content="2; url=eintrag.php?<?=session_name()?>=<?=session_id()?>">
<?php } ?>
</head>

<body>
<?php

if ($datenrichtig) {
echo "Vielen Dank für’s Einloggen. Sie werden weitergeleitet...";
} else {
echo "Die Daten waren falsch.";
}
?>
 
Zurück