所以我有這個關鍵的贈品腳本,現在我想要顯示的鍵從數據庫中刪除。我如何在我寫的代碼中工作?刪除從數據庫中顯示的密鑰在PHP
so $ key是將發送給您並顯示在瀏覽器中的密鑰,但是我希望此密鑰在發送並顯示後從數據庫中刪除,因此無法再次顯示給另一個人用戶。
<?php
//fill in mail
echo "
<form method='post' action=" . $_SERVER['PHP_SELF'] . ">
Email: <input name='email'></input><br>
<input type='submit' value='Get your key' name='submit'> </input><br><br>
</form>";
if(empty($_POST["email"]))
{
echo "Please enter an email adress.";
}
else{
// get key from database
$key = dispres();
//mail key to input mail
$to = $_POST["email"];
$subject = 'Your test key';
$message = 'Your key is: ' . $key;
$headers = 'There you go!';
mail($to, $subject, $message, $headers);
echo "Your code has been sent to your email: " . $_POST["email"] . " \r";
echo $key;
}
function dispres(){
//database connect
$db_host = 'localhost';
$db_user = 'root';
$db_pwd = 'pwd';
$database = 'c3keys';
$table = 'test';
if (!mysql_connect($db_host, $db_user, $db_pwd))
die("Can't connect to database");
if (!mysql_select_db($database))
die("Can't select database");
//grab random key from database
$result = mysql_query("SELECT * FROM {$table} order by RAND() LIMIT 1");
$row = mysql_fetch_row($result);
$result = implode('|',$row);
return $result;
//delete key from database
//had this as a begin
mysqli_query("DELETE FROM test WHERE test='$key'");
//remember ip adress for 1 use only
}
?>
1-你使用的是mysql和mysqli兩個棍子...... 2-你的刪除查詢在'return'之後,所以它永遠不會運行。 3-什麼是$ key?我沒有看到你設置的位置。 4-停止使用'mysql_ *'這些函數已被棄用。在準備好的語句中使用'mysqli'或'PDO'。 – CodeBird 2014-10-28 10:41:24
我是新來的PHP和目前的學習。所以我並不是真正意義上的。 – kaaai3 2014-10-28 10:45:30
@CodeBird我會把所有這些放在OP的一個很好的答案中,特別是在返回後的刪除查詢。 – 2014-10-28 12:57:58