Login-fejl

Tags:    php

Hvad er der galt her??? Den siger lige meget hvad man skriver at passwordet er forkert...Også selv om man skriver et brugernavn der ikke eksisterer???

<html>
<head>
<link rel="stylesheet" type="text/css" href="style/mainstyle.css">
<title>Login</title>
</head>

<body topmargin="0" leftmargin="0">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="550">
<tr>
<td width="570" background="style/main-name.gif" height="25">
<p class="heading">Login</p>
</tr>
<tr>
<td width="100%"> </td>
</tr>
<tr>
<td width="100%">
<?php

if(isset($_POST["login"])) {

if(trim($_POST["username"]) == "") {
echo "<p class='text'>Indtast brugernavn og password";
exit();
}

if(trim($_POST["password"]) == "") {
echo "<p class='text'>Indtast brugernavn og password</p>";
exit();
}

require("mysql_config.php");
$con = mysql_connect($mysql_host, $mysql_user, $mysql_pw) or die ("Fejl ved connect til DB");
mysql_select_db($mysql_db, $con) or die ("Fejl ved valg af database");

$result_username = mysql_query("select `username` FROM `users` WHERE `username`='". $username ."'") or die (mysql_error());
$result_password = mysql_query("select `password` FROM `users` WHERE `password`='". $password ."'") or die (mysql_error());

$array_username = mysql_fetch_array($result_username);
$array_passname = mysql_fetch_array($result_password);

//Her formår jeg at fejlen ligger

if($array_username == $_POST['username'] && md5($array_password) == md5($_POST['password'])) {
echo "<p class='text'>Du er nu logget ind</p>";
}else{
echo "<p class='text'>Forkert password</p>";
}
}
mysql_close($con);
?>
</tr>
</table>
</body>
</html>



Det ser ud som du mangler :

$password = $_POST["password"];
$username = $_POST["username"];

før du du udfører din sql-forespørgsel..

MvH

Stefan Svensson
http://fusket.frac.dk

[Redigeret d. 01/06-04 19:52:41 af Stefan Svensson]



Det ser ud som du mangler :

$password = $_POST["password"];
$username = $_POST["username"];

før du du udfører din sql-forespørgsel..

MvH

Stefan Svensson
http://fusket.frac.dk

[Redigeret d. 01/06-04 19:52:41 af Stefan Svensson]

www.advancedweb.dk

Den siger stadig forkert password...Kan det være omkring alt det der md5-kryptering?

[Redigeret d. 01/06-04 19:57:30 af AdvancedWeb.dk]



Hey...

Prøv:

$username = $_POST['username'];
$pass = md5($_POST['password']);
$result = mysql_query("SELECT username,password FROM users WHERE username='$username'");
if (!$result) {
echo "det indtastede brugernavn er ikke korrekt";
exit();
} else {
$row = mysql_fetch_array($result);
if ($pass <> $row['password']) {
echo "det indtastede password er ikke korrekt";
} else {
echo "Du er nu logget ind";
}
}

Desuden kan:


if(trim($_POST["username"]) == "") {
echo "<p class='text'>Indtast brugernavn og password";
exit();
}

if(trim($_POST["password"]) == "") {
echo "<p class='text'>Indtast brugernavn og password</p>";
exit();
}


...nok optimeres lidt...

if ((trim($_POST['password']) == "") || (trim($_POST['password']) == "")) {
echo "<p class='text'>Indtast brugernavn og password";
exit();
}

virker dét?



Hey...

Prøv:

$username = $_POST['username'];
$pass = md5($_POST['password']);
$result = mysql_query("SELECT username,password FROM users WHERE username='$username'");
if (!$result) {
echo "det indtastede brugernavn er ikke korrekt";
exit();
} else {
$row = mysql_fetch_array($result);
if ($pass <> $row['password']) {
echo "det indtastede password er ikke korrekt";
} else {
echo "Du er nu logget ind";
}
}

Desuden kan:


if(trim($_POST["username"]) == "") {
echo "<p class='text'>Indtast brugernavn og password";
exit();
}

if(trim($_POST["password"]) == "") {
echo "<p class='text'>Indtast brugernavn og password</p>";
exit();
}


...nok optimeres lidt...

if ((trim($_POST['password']) == "") || (trim($_POST['password']) == "")) {
echo "<p class='text'>Indtast brugernavn og password";
exit();
}

virker dét?


Nu ser det sådan ud...Nu siger den at der er fwejl på linie 56???...fint...bortset fra at det er der hvor der står </html>???

<html>
<head>
<link rel="stylesheet" type="text/css" href="style/mainstyle.css">
<title>Login</title>
</head>

<body topmargin="0" leftmargin="0">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="550">
<tr>
<td width="570" background="style/main-name.gif" height="25">
<p class="heading">Login</p>
</tr>
<tr>
<td width="100%"> </td>
</tr>
<tr>
<td width="100%">
<?php

if(isset($_POST["login"])) {

if(trim($_POST["username"]) == "") {
echo "<p class='text'>Indtast brugernavn og password";
exit();
}

if(trim($_POST["password"]) == "") {
echo "<p class='text'>Indtast brugernavn og password</p>";
exit();
}

require("mysql_config.php");
$con = mysql_connect($mysql_host, $mysql_user, $mysql_pw) or die ("Fejl ved connect til DB");
mysql_select_db($mysql_db, $con) or die ("Fejl ved valg af database");

$username = $_POST['username'];
$pass = md5($_POST['password']);
$result = mysql_query("SELECT username,password FROM users WHERE username='$username'");
if (!$result) {
echo "det indtastede brugernavn er ikke korrekt";
exit();
} else {
$row = mysql_fetch_array($result);
if ($pass <> $row['password']) {
echo "det indtastede password er ikke korrekt";
} else {
echo "Du er nu logget ind";
}
}

mysql_close($con);
?>
</tr>
</table>
</body>
</html> //Her er linie 56???




Du mangler bare lige at afslutte din første if-sætning...
Skulle jeg da mene :-)



Du mangler bare lige at afslutte din første if-sætning...
Skulle jeg da mene :-)


Det endte altså med at blive sådan her...Efter jeg lige har kigget det igennem og rettet lidt :-)
Men alligevel tak for indsatsen ;-p

<html>
<head>
<link rel="stylesheet" type="text/css" href="../style/mainstyle.css">
<title>Login</title>
</head>

<body topmargin="0" leftmargin="0">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="550">
<tr>
<td width="570" background="../style/main-name.gif" height="25">
<p class="heading">Login</p>
</tr>
<tr>
<td width="100%"> </td>
</tr>
<tr>
<td width="100%">
<?php

if(isset($_POST["login"])) {

if ((trim($_POST['password']) == "") || (trim($_POST['password']) == "")) {
echo "<p class='text'>Indtast brugernavn og password";
exit();
}

require("../mysql_config.php");
$con = mysql_connect($mysql_host, $mysql_user, $mysql_pw) or die ("Fejl ved connect til DB");
mysql_select_db($mysql_db, $con) or die ("Fejl ved valg af database");

$username = $_POST['username'];
$password = md5($_POST['password']);

$result = mysql_query("SELECT username,password FROM users WHERE username='$username'");

if (!$result) {
echo "<p class='text'>Det indtastede brugernavn er ikke korrekt</p>";
exit();
}

$row = mysql_fetch_array($result);

if($password == $row['password']) {
echo "<p class='text'>Du er nu logget ind</p>";
} else {
echo "<p class='text'>Forkert password</p>";
}
}
mysql_close($con);
?>
</tr>
</table>
</body>
</html>

http://advancedweb.dk/



session_start();
SESSION['username']=$row['username'];
SESSION['usertype']=$row['usertype'];

Hvad er der så galt her...Jeg har redigeret $result så den også henter usertype.

OG:

Når den så er logget ind, så skal der åbnes en side i den samme iframe usercontrol.php... Ligesom her på udvikleren, når man logger ind

Det er vel en eller andet autolink, eller hvad???



t