4

こんにちは、私はphpが初めてで、学習を始めました。送信ボタンが押されたときに、変数の値を1増やしようとしています。

私のコード:

<?php
    $i=0;
    if($_POST['submit']){
        echo $i+1;  
    }
?>

ありがとう

4

4 に答える 4

5

たとえば、変数 $i はセッションに保存する必要があるため、フォームを送信しても値が失われません。(この回答を確認できますPHP または PHP ベースの Web フレームワークはステートフルまたはステートレスですか? )

また、スクリプトを実行するときに最初に行うことは、スクリプトを$i = 0;実行するたびに変数を 0 に再初期化することです。

session_start();

// if your variable is not yet defined, you assigned it with 0
if (isset($_SESSION['myVariable']))
{
    $_SESSION['myVariable'] = 0;
}

if($_POST['submit'])
{
    echo $_SESSION['myVariable'] +1;  
}
于 2013-07-05T17:52:52.597 に答える
2
<?php
session_start();

    if($_POST['submit']){
        $_SESSION['i'] = isset($_SESSION['i']) ? ++$_SESSION['i'] : 0;
        echo $_SESSION['i'];
    }
?>

これにより、ページ間の最後の値が記憶されます

于 2013-07-05T18:04:49.903 に答える
1
var_dump($IsPost = !strcasecmp($_SERVER['REQUEST_METHOD'], 'POST'));

^ 投稿かどうかを示します。

echo ++$i;

^ インクリメント$Iしてから出力します$I

echo $i++;

^ 印刷$Iしてインクリメント$I

empty($_POST['submit']); // or isset($_POST['submit']);

^['submit']存在する場合は$_POST予告なくお知らせします。

于 2013-07-05T17:52:51.113 に答える
1
<?php
if(!isset($_SESSION['i'])) $_SESSION['i'] = 0;
if(isset($_POST['submit'])){
    $_SESSION['i']++;
}
echo $_SESSION['i'];
?>
于 2013-07-05T17:57:40.470 に答える