2013-05-27 3 views
-1

Привет, я не могу заставить скрипт входа в phpbb работать, если ($_POST['login']), строка, которую я только что опубликовал, - это как-то не работает? Я честно не знаю, почему, но мне действительно нужно это для моего основного сайта, вы можете помочь? www.zaoby.co.ukPHP скрипт входа в систему не работает?

<?php 

//ob 
ob_start(); 

//session 
session_start(); 

//connect 
$error = 'Zaoby Database ERROR! connection failture!'; 
mysql_connect('localhost','root','') or die ($error); 
mysql_select_db('phpbbtest') or die($error); 

//include functions.php php script 
require 'forums/includes/functions.php'; 

if ($_POST['login']) "THIS PART IS COMING UP IN A ERROR BOX" 
{ 
//get form data 
$username = addslashes(strip_tags(strtolower($_POST['username']))); 
$password = addslashes(strip_tags($_POST['password'])); 

if (!$username||!$password) 
echo "please enter a username and password<p />"; 
else 
{ 
    //find username 
    $find = mysql_query("SELECT * FROM phpbb_users WHERE username_clean='$username'"); 
    if (mysql_num_rows($find)==0) 
    echo "username not found<p />"; 
    else 
    { 
    while ($find_row = mysql_fetch_assoc($find)) 
    { 
    // grab password hash for user 
    $password_hash = $find_row['user_password']; 
    } 

    $check = phpbb_check_hash($password, $password_hash); 
    if ($check==FALSE) 
    echo "Incorrect password<p />"; 
else if ($check==TRUE) 
{ 
    $_SESSION['username']=$username; 
    header("Location: main.php"); 
    exit(); 
} 

    } 
} 
} 
?> 

<form action="login.php" method="POST"> 
Username:<br /> 
<input type="text" name="username"><p /> 
Password:<br /> 
<input type="password" name="password"><p /> 
<input type="submit" name="login" value="Log in"> 
</form> 
+2

Вы не закрыло '<входной тип =«представить»' тег - это опечатка? – andrewsi

+0

Проверьте, отправляете ли вы с помощью '$ _SERVER ['REQUEST_METHOD'] ===" POST "'. –

+0

Что это значит, что он не работает? У вас есть белая страница? Вы отправляете, но остаетесь нелегальными? Объясните сами, или мы не можем помочь. Но прежде всего, закрытие тегов, как указано в первом комментарии, должно решить некоторые проблемы ... – ffarquet

ответ

0

Иногда это правило до этого фактически вызывает ошибку.
require '../forums/includes/functions.php';

Я предполагаю, что вы используете functions.php для использования этого: phpbb_check_hash(); ?

Если он не загружает функции functions.php, он полностью остановится, потому что вы используете require и не будете показывать какие-либо эхо-сигналы как неправильный пароль, потому что даже если проверка $ была ложной, сценарий останавливается. Вы можете попробовать и поставить ../и до вашего пути, и вы можете попытаться использовать include, чтобы узнать, имеет ли это значение.

От W3Schools:
Включить и требует идентичны, за исключением случаев отказа

  • требует произведет фатальную ошибку (E_COMPILE_ERROR) и остановить скрипт
  • включает будет производить только предупреждение (E_WARNING) и скрипт продолжит

Приветствия