2014-12-04 89 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