2014-12-04 78 views
0

我处于使用php创建日志形式的早期阶段。创建日志形式

这是我迄今为止所做的代码。我正在使用一个使用mysql函数的教程。但是我需要使用my_sqli。我认为这可能是我遇到问题的地方。当我点击提交按钮时,它只是刷新页面,我需要它显示'OK'。

这是包含在另一个页面,所以它有其他包括像我的数据库连接那里。这些都很好,工作顺序。

<?php 
 

 
if (isset($_POST['email'])&&isset($_POST['password'])) { 
 
\t $email = $_POST['email']; 
 
\t $password = $_POST['password']; 
 

 
\t $password_hash = md5($password); 
 

 
\t if (!empty($email)&&!empty($password)) { 
 
\t \t 
 
\t \t $query = "SELECT 'userID' FROM registeredusers WHERE email='$email' AND password='$password_hash'"; 
 
\t \t if ($query_run = mysqli_query($query)) { 
 
\t \t \t $query_run_rows = mysqli_num_rows($query_run); 
 
\t \t \t \t if ($query_run_rows==0) { 
 
\t \t \t \t \t echo 'Invalid email or password.'; 
 
\t \t \t \t } else { 
 
\t \t \t \t \t echo 'OK.'; 
 
\t \t \t \t } 
 

 
\t \t } 
 

 
\t } else { 
 
\t \t echo 'Please enter email and password'; 
 
\t } 
 
} 
 

 
?> 
 

 
\t \t \t \t \t <form action="<?php echo $current_file ?>" method="POST"> 
 
\t \t \t \t \t <p>Email: <input type="email" name="email"></p> 
 
\t \t \t \t \t <p>Password: <input type="password" name="password"></p> 
 
\t \t \t \t \t <input type="submit" value="Log In"> 
 
\t \t \t \t \t </form>

+0

开始通过学习哪些表和列标识符http://dev.mysql.com/doc /refman/5.0/en/identifier-qualifiers.html你会发现你出错的地方。 – 2014-12-04 21:24:33

+0

@ Fred-ii-与他的问题无关。 – 2014-12-04 21:33:43

+0

@JoeSwindell我非常怀疑,而不是通过将列名包装在引号中。你告诉我这是有效的? 'SELECT'userID'' – 2014-12-05 01:07:40

回答

0

到目前为止您可以更改几件事情。

mysqli_query()需要2个参数和可选的第三个参数。

mysqli_query(connection,query) <-- Probably 99% using this. 

mysqli_query(connection,query, resultmode) 

一个例子可能是:

$dbc = defined_elsewhere_database_connection; 
$q = "SELECT 'userID' FROM registeredusers WHERE email='$email' AND password='$password_hash'"; 
$r = mysqli_query($dbc, $q); 

现在处理结果:

if(mysqli_num_rows($r) ===1) { 
    $row = mysqli_fetch_array($r, MYSQLI_ASSOC); 
    validate $row with whatever; 
} else { 
    echo 'invalid password/email'; 
} 
+0

谢谢,多数民众赞成在工作! – alwaystrying 2014-12-04 22:09:06

1

您的查询基本不运转很正常。

你应该有mysqli_query.First参数2参数是连接到数据库,第二个参数是查询itself.So,只是这样做,如果你是在本地主机服务器

$connect=mysqli_connect('localhost','root','','database_name'); 

$query = "SELECT userID FROM registeredusers WHERE email='$email' AND password='$password_hash'"; 
if ($query_run = mysqli_query($connect,$query)) { 
................................ 
............................... 


} 

这应该工作

+0

多数民众赞成它!我曾经这样做过,但接受了连接到我的数据库的参数!不能相信我没有想过像它以前那样尝试它。谢谢您的帮助! – alwaystrying 2014-12-04 22:08:46