簡體   English   中英

存儲變量會話php

[英]store variable session php

嗨,我在理解會話是如何工作方面遇到了麻煩。 我正在嘗試編寫一個程序,它將重復請求輸入一個數字,每次輸入數字時,程序都要打印出來:

  1. 那個數字
  2. 輸入的所有數字的總和
  3. 我提交的次數

到目前為止這是我的代碼:

<?php
session_start();
if(isset($_session['count']))
{
    $_session['count'] = $count;
}else{
    $_session['count'] = 0; 
}
?>

<html>
    <head>
        <title>number</Title>
            <style>
            </style>
        <body>
            <form action = "numbers.php" method = "post">
                Numbers: <input type "text" name = "number" size = "6"/>
                <input type = "submit" value = "submit" name = "submit"/>
                <p>
            </form>
        </body> 
    </head>
</Html>
<?php   
    if(isset($_POST["submit"]))
    {
        $number = $_POST['number'];
        If (is_numeric($number))
        {   
            $count = $_session['count'] + $number;
            print "Last number entered: ".$number;
            print "<br>Total internal numbers: ".$count;
        }
    }   
?>

我試圖存儲我的$count變量,所以每次我提交它輸出輸入的數字的總和

你設置$_session['count'] = $count; 在你有一個名為$count的變量之前。 在設置$count之后,您必須更新會話值:

$count = $_session['count'] + $number;
$_session['count'] = $count;

然后,您可以使用以下命令替換腳本的頂部:

if(!isset($_session['count']))
{
    $_session['count'] = 0; 
}
<?php   
    if(isset($_POST["submit"]))
    {
        $number = $_POST['number'];
        If (is_numeric($number))
        {   
            $count = $_session['count'] + $number;
            $_session['count'] = $count;
            print "Last number entered: ".$number;
            print "<br>Total internal numbers: ".$count;
        }
    }   
?>

一開始你使用未定義的變量$ count。 編輯為:

if(!isset($_session['count']))
    $_session['count'] = 0; 

然后添加一個新行:

If (is_numeric($number))
{   
    $count = $_SESSION['count'] + $number;
    $_SESSION['count'] = $count;
    print "Last number entered: ".$number;
    print "<br>Total internal numbers: ".$count;
}

或第二部分編輯為:

If (is_numeric($number))
{   
    $_SESSION['count'] += $number;
    print "Last number entered: ".$number;
    print "<br>Total internal numbers: ".$_SESSION['count'];
}

這是工作示例。 [TESTED]

你必須分配$_SESSION['count']=$count;

<?php
session_start();
//Code commented as not required.
/*if(isset($_session['count']))
{
    $_session['count'] = $count;
}else{
    $_session['count'] = 0;
}
*/?>

<html>
<head>
    <title>number</Title>
    <style>
    </style>
    <body>
    <form action = "" method = "post">
        Numbers: <input type "text" name = "number" size = "6"/>
        <input type = "submit" value = "submit" name = "submit"/>
        <p>
    </form>
    </body>
</head>
</Html>
<?php
if(isset($_POST["submit"]))
{
    $number = $_POST['number'];
    if (is_numeric($number))
    {

        $count = $_SESSION['count'] + $number;
        $_SESSION['count']=$count;
        print "Last number entered: ".$number;
        print "<br>Total internal numbers: ".$count;
    }
}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM