簡體   English   中英

將表單輸入存儲在 Session 變量中

[英]store form input in a Session variable

我在使用變量 $_SESSION['number'] 時遇到問題。 用戶可以在表單中設置它,但在點擊提交后它會消失。 該字段為空兩次或更多次? 點擊提交后如何保留 $_SESSION['number']? 謝謝

<form action=" <?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

    <input type="text" name="number"/>
    <input type="submit" name="Submit" value="Submit!" />
</form>

<?php 

// starting the session
session_start();

$_SESSION['number']=0;

if (isset($_POST['Submit'])){ 
    if($_POST['number'] != ''){
        $_SESSION['number'] = $_POST['number'];            
    }

    $_SESSION['number'] = $_SESSION['number'];    
}
echo 'number='.$_SESSION['number'];

你的代碼應該是這樣的,

<?php
 // starting the session
 session_start();

 $num = 0;

 if (isset($_POST['Submit'])) {
  if ($_POST['number'] == '') {
    $_SESSION['number'] = $num;
   } else {
    $_SESSION['number'] = $_POST['number'];
   }
  echo 'number = '.$_SESSION['number'];
}

?>
 <form action=" <?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

  <input type="text" name="number"/>
  <input type="submit" name="Submit" value="Submit!" />
 </form>

並認為它會幫助你。

感謝 Lakmal,我使用了您的代碼,發現如果我在“if else 循環”之前設置 $_SESSION 變量並保持“if else”邏輯非常簡單,它就可以工作。 $_SESSION 變量非常適合這種類型的代碼。

<?php
 //starting the session
 session_start();
 $num = 0;

if(!isset($_SESSION['number'])) $_SESSION['number']=0;
if(isset($_POST['Submit'])){
    if($_POST['number'] != ''){
        $_SESSION['number'] = $_POST['number'];
    }
    echo 'number='.$_SESSION['number'];
}
?>
<form action=" <?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <input type="text" name="number"/>
    <input type="submit" name="Submit" value="Submit!" />
</form>

暫無
暫無

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

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