| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

05-11-2003, 13:53
|
|
g0n
Newbie
|
|
Registriert seit: Jul 2003
Beiträge: 63
|
|
Login-Script Problem
hallo
Ich habe ein Login Script, aber leider funktioniert das irgendwie nicht. Wenn ich mich einlogge, egal was ich eingebe, spuckt er mir immer heraus "Ihre Anmeldedaten waren nicht korrekt". Hier mal die beiden scripte config.php und login.php
PHP-Code:
//config.php
$dbname = "newsscript";
$con= mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('newsscript',$con) or die(mysql_error());
function connect()
{
$con= mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('newsscript',$con) or die(mysql_error());
}
function check_user($name, $pass)
{
$sql="SELECT UserId
FROM users
WHERE UserName='".$name."' AND UserPass=MD5('".$pass."')
LIMIT 1";
$result= mysql_query($sql) or die(mysql_error());
if ( mysql_num_rows($result)==1)
{
$user=mysql_fetch_assoc($result);
return $user['UserId'];
}
else
return false;
}
function login($userid)
{
$sql="UPDATE users
SET UserSession='".session_id()."'
WHERE UserId=".$userid;
mysql_query($sql);
}
//
//login.php:
<?
session_start();
include ("config.php");
if (isset($_POST['login']))
{
$userid=check_user($_POST['username'], $_POST['userpass']);
if ($userid!=false)
login($userid);
else
echo 'Ihre Anmeldedaten waren nicht korrekt!';
}
if (!logged_in())
echo '<form method="post" action="login.php">
<table>
<tr>
<td>
<label>Benutzername:</label>
</td>
<td>
<input name="username" type="text"><br>
</td>
<tr>
<td>
<label>Passwort:</label>
</td>
<td>
<input name="userpass" type="password" id="userpass"><br>
</td>
</tr>
</table>
<input name="login" type="submit" id="login" value="Einloggen">
</form>
';
else
echo "Du wurdest erfolgreich eingeloggt...<a href=\"logged_in.php\"><b>hier</b></a> geht´s weiter";
echo "<br><br>";
echo '<a href="logout.php">Ausloggen</a>';
?>
//
Ich hoffe ihr könnt mir helfen!!
mfg
|

05-11-2003, 14:01
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
mach in der funktion check_user vor dem $result= mal ausgabe?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

05-11-2003, 14:19
|
|
g0n
Newbie
|
|
Registriert seit: Jul 2003
Beiträge: 63
|
|
SELECT UserId FROM users WHERE UserName='go' AND UserPass=MD5('go') LIMIT 1Ihre Anmeldedaten waren nicht korrekt!
?
|

05-11-2003, 14:20
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
und wie sieht der datensatz in der tabelle dazu aus?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

05-11-2003, 14:25
|
|
g0n
Newbie
|
|
Registriert seit: Jul 2003
Beiträge: 63
|
|
PHP-Code:
<?
include("config.inc.php");
$db_name = "newsscript";
mysql_select_db($db_name);
$sql = "
CREATE TABLE users ( UserID int(11) PRIMARY KEY auto_increment,
UserName varchar(30) NOT NULL default '', UserPass varchar(32) NOT NULL
default '', UserSession varchar(32), UserMail varchar(150) NOT NULL default
'', UNIQUE KEY NickName (UserName), UNIQUE KEY UserMail (UserMail) )";
$ergebnis = mysql_query($sql) or DIE(mysql_error());
?>
Damit habe ich die tabelle und Datenbank erstellt.
|

05-11-2003, 14:27
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
damit hast du die tabelle erstellt, aber noch keinen datensatz da reingeschrieben
schau dir mein tut nochmal an (ich denke mal, es war meins, wodu das her hast, kommt mir so bekannt vor), da is auch ein INSERT-statement, mit dem ein benutzer angelegt wird
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

05-11-2003, 14:54
|
|
g0n
Newbie
|
|
Registriert seit: Jul 2003
Beiträge: 63
|
|
achso, das was du meinst ist wahrscheinlich das hier:
PHP-Code:
<?
include("config.php");
mysql_select_db($db_name, $con);
$sql = "INSERT INTO users SET UserName='$user_name', UserPass=MD5('§passwort'),
UserMail='$mail' ";
$ergebnis = mysql_query($sql, $con);
echo mysql_error();
?>
<form action="<?=$PHP_SELF?>" method="post">
<table border=0 cellpadding=0 cellspacing=0>
<tr>
<td>
User Name:
</td>
<td>
<input type="text" name="user_name" size="24">
</td>
</tr>
<tr>
<td>
Passwort:
</td>
<td>
<input type="text" name="passwort" size="24">
</td>
</tr>
<tr>
<td>
E-Mail:
</td>
<td>
<input type="text" name="mail" size="24">
</td>
</tr>
</table>
<input type="submit" name="sql" value="Abschicken">
</form>
|

05-11-2003, 15:01
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
nein, ich meine, dass, was momentan in der tabelle steht
schau doch einfach mal mit phpmyadmin nach
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

05-11-2003, 15:06
|
|
g0n
Newbie
|
|
Registriert seit: Jul 2003
Beiträge: 63
|
|
Hab mal von der "users" tabelle n screen gemacht. findest im Anhang.
|

05-11-2003, 15:10
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Zitat:
Original geschrieben von g0n
SELECT UserId FROM users WHERE UserName='go' AND UserPass=MD5('go') LIMIT 1Ihre Anmeldedaten waren nicht korrekt!
|
durchaus verständlich, du hast ja keinen user namens "go" in der datenbank, sondern nur einen user mit dem namen "me"
und wenn du "go" md5-verschlüsselst, kommt "34d1f91fb2e514b8576fab1a75a89a6b" raus und nicht das, was in deinem screenshot zu sehen is
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

05-11-2003, 15:12
|
|
g0n
Newbie
|
|
Registriert seit: Jul 2003
Beiträge: 63
|
|
mh sorry, hab nach dem screenshot machen den user go gelöscht udn den "me" angelegt.
Erklär bitte nochmal das mit dem verschlüsseln genauer ? Was hab ich da jetzt falsch gemacht ?
|

05-11-2003, 15:46
|
|
marc75
PHP Senior
|
|
Registriert seit: Jul 2003
Ort: daheim
Beiträge: 1.366
|
|
mhh muss man bei php nicht gross und kleinschreibung beachten?
Siehe Tabelle UserID und abfrage UserId oder ist das egal gewesen?
__________________
mfg
marc75
<Platz für anderes>
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|