我有一個時間表數據庫,志願者可以檢查他們的班次。我會通過電子郵件向他們發送指向他們輸入電子郵件地址的頁面的鏈接到HTML表單以訪問此信息。用戶跟蹤/驗證/更新MySQL結果
有沒有一種方法可以跟蹤哪些電子郵件被查詢,以便我可以重新發送計劃鏈接到那些誰沒有訪問數據庫?
如果有必要,我可以添加一個額外的'確認'複選框的結果,並有更新數據庫。我喜歡這個想法,但是我不確定如何實現(或者這個操作的術語)。
編輯:這是我用來實現的代碼。但是,我沒有在確認的專欄中獲得結果。
$db = new mysqli("host", "user", "pass", "db");
$stmt = $db->prepare('UPDATE volConfirm SET confirmed = TRUE WHERE email = ?');
$stmt->bind_param('s', $_POST['email']);
$stmt->execute();
$stmt = $db->prepare('SELECT * from volConfirm WHERE email = ?');
$stmt->bind_param('s', $_POST['email']);
$result = $stmt->get_result();
while ($row = $result->fetch_array(MYSQLI_NUM)) {
// construct your output here using $row to access database record
echo "<h2>" . $row['agreeName'] . "</h2>";
echo "<p> You have been assigned as a volunteer for:" . $row['position'] . "</p>";
echo "<p>Your shift times are scheduled for:" . $row['shift_times'] . "</p>";
echo "<p>Your shift has been confirmed:" . $row['confirmed'] . "</p>";
}
您可以添加一個字段您的表(已訪問),當用戶輸入電子郵件時將其從0更新爲1。 – Leri 2012-04-24 14:01:53
您是否收到任何MySQL錯誤?將第四行改爲'$ result = mysql_query($ query)或者die(mysql_error());'。另外,在上面的代碼中,您應該使用mysql_real_escape_string來轉義用戶輸入。永遠不要相信用戶輸入:) http://en.wikipedia.org/wiki/SQL_injection – Daan 2012-04-24 14:43:37
嗨大安 - 我沒有得到任何錯誤,當我添加'或死'。 (OP中更新的代碼) – Commandrea 2012-04-24 15:16:16