所以我有这个关键的赠品脚本,现在我想要显示的键从数据库中删除。我如何在我写的代码中工作?删除从数据库中显示的密钥在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