0

誰かが私を助けてくれたら、もう一度本当に感謝します! 私は正常に機能する登録フォームに取り組んでいますが、そこにも招待コードのチェックを実装したいと考えていました。

私は初心者なので、解決策を探し、理解し、採用しようとしました...だから私を判断しないでください:)私は各ステップで学ぼうとしています!

私がやろうとしていることはとても速いです->

  1. ユーザーが招待コードを入力します 2.間違っている場合 (データベースで確認後 -> エラー メッセージ)
  2. 正しければ (データベースにチェックイン -> その後使用されます)
  3. コードデータベースが更新され、コードが使用できなくなった

ここに私のコードがあります:

$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 (empty($_POST['invite_code']))...」と接続する方法がわかりません:-/

よろしくお願いします。

そしてその部分はうまくいきます!->

//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());
}
4

1 に答える 1

1

クエリの形式が正しくないようです。あなたが持っている:

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

次のようなものが必要だと思います:

SELECT `code` from tableinvitecodes WHERE <<SOMETHING HERE>> = '$invite_code' AND `taken` = '0'
于 2012-12-30T00:45:36.950 に答える