2

私は今何時間も探していましたが、それでも正しい答えを見つけることができませんでした。これは簡単に思えるかもしれませんが、助けが必要です。問題は次のとおりです。1。)インクリメントボタンと2.)デクリメント(減算)ボタンの2つのボタンがあり、ボタン1をクリックすると、値$aはクリックすると+1になります。ボタン2、$aは-1を取得します。

簡単そうですね。

値$aを変更して、同じページに戻る(リロード)必要があります

例:$ a = 0;
1.)インクリメントボタンをクリックします。2。)ページをリロードします$ a = 1; 3.)デクリメントボタンをクリックします$ a = 0

非常に単純です。自分でそれを理解するのはあまり得意ではありません。

4

2 に答える 2

0

私はphp開発者ではありませんが、あなたの質問から、変数がリロードされ、すべての変数がデフォルト値にリセットされるため、変数の値が失われることを理解しています。あなたが確実に行うことは、永続化することです(Cookie、セッション、またはサーバーにあり、常にこれらのストアから値をロードできます)。

于 2012-12-27T17:34:06.400 に答える
0

リロード/ページの変更後に使用する変数を保存する場合は、その変数を Cookie またはセッションに保存する必要があります。そんな方にオススメなのがセッションです。だからここにこれの例があります:

スクリプト名: index.php

<?PHP
    /* You need to start a session in order to 
    *  store an retrieve variables. 
    */
    session_start();
    if(!isset($_SESSION['value'])) { // If no session var exists, we create it.
        $_SESSION['value'] = 0; // In this case, the session value start on 0.
    }

    if(isset($_GET['action'])) {
        switch($_GET['action']) {
            case 'add': // Yeah, PHP allows Strings on switchs.
                $_SESSION['value'] ++;
            break;
            case 'remove':
                $_SESSION['value'] --;
            break;
        }
        /* If you avoid the next two lines, you'll be adding or removing when
        *  you refresh, so we'll redirect the user to this same page.
        *  You should change the 'index.php' for the name of your php file.
        */
        header("Location: index.php");
        exit();
    }
?>

<html>
    <head>
        <title>:: Storing user values in session ::</title>
    </head>
    <body>
        <p>The current value is: <?PHP echo $_SESSION['value']; ?></p>
        <p><a href="?action=add" target="_SELF">Increase value</a></p>
        <p><a href="?action=remove" target="_SELF">Decrease value</a></p>
    </body>
</html>

そのコードを「index.php」という 1 つの php ファイルに保存すると、探している動作が表示されます。

これがあなたのお役に立てば幸いです。

PS: この場合、アクションにシングルのみを使用したことに注意してください。質問のタイトルに PHP と書かれているため、ここでは Javascript を使用していません。Javascript または JQuery を使用してこれを行いたい場合は、お知らせください。

于 2012-12-27T17:36:22.650 に答える