Login is not working. Please help....
| From: | twistednetadmin | Date: | Fri, 14 Oct 2005 01:42:32 +0000 |
| Subject: | Login is not working. Please help.... | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-224099@lists.php.net to get a copy of this message | ||
When I fill in the form with user and password, it goes to the
loginerror.php anyway.
Is this because I use switch with only one case(I'm going to make more
later), and if it is. What should I use instead?
This is my first php-script. I have tested this on both php4 and php5.
Please help.
(login.php)
<?php
include ("connection"); // obvious
session_start();
switch (@$_GET['action']) // Gets set by the form action
{
case "login":
$sql = "SELECT name FROM DB
WHERE name='$_POST[user]'";
$result = mysql_query($sql) or die("Couldn't execute query.");
$num = mysql_num_rows($result);
if ($num ==1) // loginname found
{
$sql = "SELECT name FROM DB
WHERE name='$_POST[user]'
AND pass=password('$_POST[pass]')";
$result2 = mysql_query($sql) or die("Couldn't execute query 2.");
$num2 = mysql_num_rows($result2);
if ($num2 > 0) // password is correct
{
$_SESSION['auth']="yes";
$logname=$_POST['user'];
$_SESSION['logname'] = $logname;
header("Location: page1.php");
}
else // password is not correct
{
unset($action);
header("Location: loginerror.php");
}
}
elseif ($num == 0) // Wrong name. Name not in db
{
unset($action);
header("Location: loginerror.php");
}
}
?>
--------------------------------------------
(form.php)
<table>
<form action="login.php?action=login" method="post">
<tr>
<td align="center" valign="middle" class="maintext">
Login as:<input type=text name="name">
</td>
</tr>
<tr>
<td align="center" valign="middle" class="maintext">
Password:<input type="password" name="pass"><br>
</td>
</tr>
<tr>
<td align="center" valign="middle" class="maintext">
<input name="log" type="submit" value="Enter"></td>
</tr>
</form>
</table>
----------------------------