我有一個網站,用戶必須已經存在於數據庫中才能進入下一頁。我做了一個查詢,檢查他們的名字,姓氏和電子郵件地址與存儲在數據庫中的人的關係,如果他們匹配,我可以得到它打印結果,但我無法得到它返回一個真正的或我的東西可以合作以執行某項操作。我需要發送一封電子郵件給用戶,然後將他們重定向到另一頁,你是否也可以幫忙?將表單數據與數據庫進行比較並執行操作
這裏是我的代碼
<?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) : " ") . "</td>\n";
}
print "</tr>\n";
}
print "</table>\n";
oci_free_statement($stid);
oci_close($connect);
?>
如果你能請幫我運行一個行動,如果真(發送電子郵件和重定向),如果用戶不存在於數據庫中顯示錯誤。謝謝 - 我很新的PHP
好吧,如果你的數據庫查詢的心不是空的,結果還是0,你可以繼續到下一個頁面? – Matheno 2014-09-19 12:51:36
使用http://php.net/manual/en/function.oci-num-rows.php檢查行數。如果計數爲1(或更大),請執行您的操作。如果0顯示錯誤消息。 – 2014-09-19 12:51:37
我不明白你的問題。如果您從數據庫中獲取信息,爲什麼不將它們與給定的用戶輸入進行比較?如果它們匹配,則可以將變量設置爲true。只需將您從查詢中獲得的數據推送到變量中即可。 – 2014-09-19 12:52:34