1

ユーザーがコードを入力したときに使用しているスクリプトがありますが、データベースの合計に追加したいのですが、何も起こりません。

これまでの私のコードは次のとおりです。

$err = array();
if (isset($_POST['doSubmit4']) === true ) // Was if ($_POST['access']=='submit')
{
$code = mysql_real_escape_string($_POST['access-key']); // Was $data['access-key']
$result = mysql_query("SELECT `akid`,`key`,`total_access` FROM access_keys WHERE id='$_SESSION[user_id]' AND type='1'") or die (mysql_error()); 
$num = mysql_num_rows($result);
// Match row found with more than 1 results  - the key exists. 
if ( $num > 0 ) {   
    list($akid,$key,$total_access) = mysql_fetch_row($result);
    if ($code == $key) { 
        if(empty($err)){
            $total_access++;
            mysql_query("update access_keys set total_access='$total_access' where akid='$akid'") or die(mysql_error());
            header("Location: ./");
        }
    } else {
        $err[] = "Invalid Access Key. Please try again with correct access key.";
    }
} else {
    $err[] = "Error - Invalid Access Key. No access exists for your user ID.";
}       
}

ユーザーが正しいコードを入力するたびに Total Access フィールドに追加したいのですが、うまくいきません。

これは私のフォームコードです:

<form name="postAccess" id="postAccess" method="post" action="access.php">
    <input type="password" name="access-key" id="access-key" style="background-color:black;color:white;" size="40" /><br/>
    <input name="doSubmit4" type="submit" id="doSubmit4" value="submit">
</form>
4

1 に答える 1

1

括弧内はあなたの親かもしれません。

試す:

if (isset($_POST['access']) === true )

それ以外の

if ( $_POST['access']=='submit' )

それでもうまくいかない場合は、デバッグを行ってください。

if 括弧内にいくつかの echo ステートメントを投げて、どの条件が true で何がそうでないかを確認します。

編集:

私はちょうど別の問題に気づきました。

フォーム アクションが無効です。これは、データを投稿するページへのパスである必要があります。そう:

それ以外の:

<form name="access" id="access" method="post" action="access">

あなたが持っている必要があります:

<form name="access" id="access" method="post" action="your-php-path-here.php">

上記のコードのhow action= "your-php-path-here.php" に注意してください。

于 2012-07-24T00:34:31.870 に答える