【发布时间】:2015-09-28 23:12:51
【问题描述】:
我有这个代码
<form action="" method="POST">
PIN:
<input type="text" name="pin"><br />
E-Mail:
<input type="text" name="email"><br />
<input type="submit" value="Claim" name="submit" />
</form>
<?php
if(isset($_POST["submit"])){
if(!empty($_POST['pin']) && !empty($_POST['email'])) {
$pin=$_POST['pin'];
$email=$_POST['email'];
$con=mysql_connect('localhost','root','admin') or die(mysql_error());
mysql_select_db('user_codevalidation') or die("cannot select DB");
$sql="INSERT INTO codes(email) VALUES('$email') WHERE pin='".$dbpin."'";
mysql_query($sql);
echo "Successfully claimed!";
{
while($row=mysql_fetch_assoc($query))
{
$dbpin=$row['pin'];
}
if($pin == $dbpin)
{
$sql="INSERT INTO codes(email,claimed) VALUES('$email','1') WHERE pin = $dbpin";
echo "Successfully claimed!";
}
} else {
echo "Invalid pin or it has already been claimed once!";
}
} else {
echo "All fields are required!";
}
}
?>
我希望能够验证pin AND 如果在$pin 行中的数据库中声明= 0,其中pin 等于pin 文本框$pin 中的值,如果相等,则执行$sql 是将 email 中的值插入到 sql $email 是电子邮件文本框,然后将 claimed 的值更改为 '1',在数据库中默认为 0。
一切正常,它显示“已成功认领!”但它不会改变我在数据库中的值。请帮忙!
编辑:我添加了执行 MySQL 查询,它仍然给我相同的结果!
【问题讨论】:
标签: php mysql sql forms validation