2014-09-19 93 views
0

我有一個網站,用戶必須已經存在於數據庫中才能進入下一頁。我做了一個查詢,檢查他們的名字,姓氏和電子郵件地址與存儲在數據庫中的人的關係,如果他們匹配,我可以得到它打印結果,但我無法得到它返回一個真正的或我的東西可以合作以執行某項操作。我需要發送一封電子郵件給用戶,然後將他們重定向到另一頁,你是否也可以幫忙?將表單數據與數據庫進行比較並執行操作

這裏是我的代碼

<?php 

include("dbconnect.php"); 

$firstname=$_POST["firstname"]; 
$lastname=$_POST["lastname"]; 
$email=$_POST["email"]; 

$connect = $conn; 
if (!$connect) { 
    $e = oci_error(); 
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); 
} 

// Prepare the statement 
$stid = oci_parse($connect, "SELECT * FROM USERS WHERE firstname = '$firstname' AND lastname = '$lastname' AND email = '$email'"); 

if (!$stid) { 
    $e = oci_error($connect); 
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); 
} 

// Perform the logic of the query 
$r = oci_execute($stid); 
if (!$r) { 
    $e = oci_error($stid); 
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); 
} 

// Fetch the results of the query 
print "<table border='1'>\n"; 
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) { 
    print "<tr>\n"; 
    foreach ($row as $item) { 
     print " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n"; 
    } 
    print "</tr>\n"; 
} 
print "</table>\n"; 

oci_free_statement($stid); 
oci_close($connect); 

?> 

如果你能請幫我運行一個行動,如果真(發送電子郵件和重定向),如果用戶不存在於數據庫中顯示錯誤。謝謝 - 我很新的PHP

+0

好吧,如果你的數據庫查詢的心不是空的,結果還是0,你可以繼續到下一個頁面? – Matheno 2014-09-19 12:51:36

+0

使用http://php.net/manual/en/function.oci-num-rows.php檢查行數。如果計數爲1(或更大),請執行您的操作。如果0顯示錯誤消息。 – 2014-09-19 12:51:37

+0

我不明白你的問題。如果您從數據庫中獲取信息,爲什麼不將它們與給定的用戶輸入進行比較?如果它們匹配,則可以將變量設置爲true。只需將您從查詢中獲得的數據推送到變量中即可。 – 2014-09-19 12:52:34

回答

1

您可以通過多種解決方案解決您的問題。 我會給你兩個建議。 第一個是使用SQL select來計算已執行查詢的返回行。 試試這個:

SELECT * FROM YOUR_TABLE WHERE SURNAME LIKE '%姓%' AND NAME LIKE '%名字%' AND電子郵件like '%郵件%'

執行這一點,並執行命令後插入這樣的: echo oci_num_rows($ stid)。 「有這個數據的人。」 \ n「;

如果它是1,那麼你的數據庫中有這樣的人。

您還可以使用JavaScript。如果你想我也可以解釋一下。 編輯:在這裏你去使用純JavaScript:

A short example of comparasion in JS 
http://jsfiddle.net/marcusrommel/tcm4ak1p/ 
+0

我對Javascript的使用感覺更舒服一些,請問您可以用Js來解釋一下嗎? – BrownEye 2014-09-19 15:49:22

+0

我添加了一個jsfiddle的鏈接。 – 2014-09-19 17:39:52

相關問題