注册表单的php mysql邀请代码

时间:2012-12-30 00:39:35

标签: php mysql registration invite

如果有人可以帮助我,我会再次感激!我正在制作一份工作正常的注册表格,但我也希望在那里实施邀请码检查。

我从来没有这样做过,因为我是新手,我只是寻找解决方案,试图理解并采用......所以请不要评判我:)我只是想学习每一步!

我正在努力做的事情很快 - >

  1. 用户在邀请代码中输入内容 2.如果不正确(在数据库中检查,然后 - >错误消息)
  2. 如果正确(在数据库中检查 - >然后使用)
  3. 代码数据库更新,代码不再可用
  4. 这是我的代码:

    $invite_code = ($_POST['invite_code']);
    // Validate invite code
    if (empty($_POST['invite_code'])) {
    $err7 = "Wrong invitation code";
    }  
    //check if invitation code is valid in the database and not already taken
    $rs_check = mysql_query("SELECT `code` from tableinvitecodes WHERE '$invite_code' 
    AND `taken` = '0'") or die (mysql_error()); 
    $num = mysql_num_rows($rs_check);
    // Match row found with more than 0 results  - the code is invalid. 
    if ( $num <= 0) { 
    $err7 = "Invite code is invalid";
    }
    else {
    $invite_code = $_POST['invite_code'];
    }
    

    什么不起作用是检查“已经使用”,它在数据库中得到更新......这工作正常。错误必须是检查,但我不知道如何连接它与“if(空($ _ POST ['invite_code']))...”: - /

    提前感谢您的帮助!

    那部分有效! - &GT;

    //set approved code to 1 to block that code
    if(empty($err7)) {
    $rs_invite_code = mysql_query("update tableinvitecodes set `taken` = '1' WHERE 
    code='$invite_code' ") or die(mysql_error());
    }
    

1 个答案:

答案 0 :(得分:1)

您的查询似乎格式不正确。你有:

SELECT `code` from tableinvitecodes WHERE '$invite_code' AND `taken` = '0'

我认为你应该有类似的东西:

SELECT `code` from tableinvitecodes WHERE <<SOMETHING HERE>> = '$invite_code' AND `taken` = '0'