привет, я создал базовую систему входа php (не используя PDO), так как я не получил доступа к базовому php.PHP basic login system login borken
проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь войти в систему, она просто перенаправляет меня на страницу php и ничего не делает.
пожалуйста нежный: S
вот мой код.
<?php
if($logged_in == 1)
{
die('You are already logged in, '.$_SESSION['name'].'.');
}
//----------------------------------------------------------------
//Escape any Dangerous SQL Characters in the text
//----------------------------------------------------------------
function QuoteSmart($value, $handle)
{
if (get_magic_quotes_gpc())
{
$value = stripslashes($value);
}
if (!is_numeric($value))
{
$value = "'" . mysql_real_escape_string($value, $handle) . "'";
}
return $value;
}
if (isset($_POST['submit'])) //if the form has been submitted
{ // check they filled in what they were supposed to and authenticate */
if(!$_POST['txt_email'] | !$_POST['txt_password'])
{
die('You did not fill in a required field.');
}
// authenticate the username and passsword.
$email = $_POST['txt_email'];
$password = $_POST['txt_password'];
//------------------------------
//Connect to the database
//-----------------------------
$server = "zzz";
$schema = "Marwick";
$uid = "xxx";
$pwd = "yyy";
$password =$_POST["txt_password"];
$email =$_POST["txt_email"];
$db_connect = mysql_connect($server , $UserID , $PassWord);
$db_select = mysql_select_db($schema, $db_connect);
if ($db_select)
{
$email = QuoteSmart($email, $db_connect);
$password = QuoteSmart($password, $db_connect);
$SQL = "SELECT * FROM account WHERE email = $email AND password = $passwordword";
$Result = mysql_query($SQL);
$NumberRows = mysql_num_rows($Result);
//------------------------------------------------------------------------
// Check to see if the value of the $result variable is true
//-----------------------------------------------------------------------
if ($Result)
{
if ($NumberRows == 1)
{
$ErrorMessage = "Logged On";
header("Location: home.html"); //The page to go to
}
else
{
$ErrorMessage = "Not logged on";
header("Location: login.html"); //Try to login again
}
}
mysql_close($db_connect);
}
else
{
$ErrorMessage = "Error with the Form!";
}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<input name="btn_login" type="submit" class="btn_ragister" value="Submit"; onclick="" />
</form>
form id="form4" name="form4" method="post" action="">
<input name="btn_register" type="button" class="btn_ragister" value="Register"
onclick= "window.location ='../Pages/register.html' "/>
</form>
</div>
</body>
</html>
'$ SQL =" SELECT * FROM account WHERE email = $ email AND password = $ passwordword ";' выглядит как опечатка ... Вы действительно имели в виду '$ passwordword'? –
Вам нужно выполнить некоторую базовую отладку. Вы не проверяете, что ваш запрос преуспел - попробуйте вызвать 'mysql_error()', чтобы увидеть, есть ли что-нибудь там. Кроме того, ваш пароль БД (и я надеюсь, что они не являются живыми учетными данными) находится в '$ pwd', но вы подключаетесь с помощью' $ PassWord'. – andrewsi
Dont для любви к кошкам, храните простые текстовые пароли в базе данных !!! –