检查数据库中的凭证编号是否正确,然后将订户数据插入另一个数据库

时间:2016-06-25 04:53:25

标签: mysql database

嗨我有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>

1 个答案:

答案 0 :(得分:0)

INSERT查询中的变量是错误的。而不是('$user', '$pass', '$mycardnum'),它应该是('$myusername', '$mypassword', '$mycardnum')

此外,检查“如果数字正确则插入凭证编号”似乎不在您的代码中的任何位置。你也没有检查vouchers表。

评论后编辑:

你有一个查询$query = "SELECT * FROM cardnumbers WHERE cardnumo='$mycardnum'";,但你没有执行它。

然后你正在检查if($mycardnum = $_POST['cardnum']){但是只检查你所做的stripslashes相同的卡号 - 所以它们无论如何都不匹配。相反,您需要执行查询并检查是否获得了正确的卡号。此外,您的if支票必须是两个==标志,而不是一个。

有太多非相关问题导致您的代码无效。我不认为你会在StackOverflow上得到答案。修复上述内容并重试。