您好,我有 2 个数据库,一个用于凭证编号,另一个用于新用户 我需要订户插入优惠券号码,如果号码正确,他们就可以完成注册,如果不正确,他们将被要求确认他们拥有的优惠券号码,我使用此代码,但它非常弱并且没有不工作
<?php
$username = "salbota";
$password = "lK8tFIGAJ_Jp";
$hostname = "localhost";
$dbhandle = mysql_connect($hostname, $username, $password) or die("Could not connect to database");
$selected = mysql_select_db("salbota_users", $dbhandle);
$myusername = $_POST['user'];
$mypassword = $_POST['pass'];
$mycardnum = $_POST['cardnum'];
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$mycardnum = stripslashes($mycardnum);
$query = "SELECT * FROM cardnumbers WHERE cardnumo='$mycardnum'";
if($mycardnum = $_POST['cardnum']){
mysql_query("INSERT INTO users (Username, Password, cardnum) VALUES ('$user', '$pass', '$mycardnum')");
}else{
echo 'card number is not correct';
}
mysql_close();
?>
<html>
<body>
<h1>Signup!</h1>
<form action="new_user.php" method="POST">
<p>Username:</p><input type="text" name="user" />
<p>Password:</p><input type="password" name="pass" />
<p>Card Number:</p><input type="text" name="cardnum" />
<br />
<input type="submit" value="Signup!" />
</form>
</body>
</html>
最佳答案
INSERT
查询中的变量有误。而不是 ('$user', '$pass', '$mycardnum')
,它应该是 ('$myusername', '$mypassword', '$mycardnum')
.
此外,“如果号码正确,请插入凭证号码” 的检查似乎不在您的代码中的任何位置。您也不检查 vouchers
表。
评论后编辑:
您有一个查询 $query = "SELECT * FROM cardnumbers WHERE cardnumo='$mycardnum'";
但您没有执行它。
然后您正在检查 if($mycardnum = $_POST['cardnum']){
但这只会检查您在 stripslashes
上执行的相同卡号 -所以他们无论如何都不会匹配。相反,您需要执行查询并检查您是否获得了正确的卡号。此外,您的 if
检查需要是两个 ==
符号,而不是一个。
您的代码无法运行的原因有太多不相关的问题。我认为您不会在 StackOverflow 上得到答案。修复以上问题,然后重试。
关于mysql - 检查数据库中的凭证号是否正确,然后将订户数据插入另一个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38025090/