会话中可能出错

时间:2017-07-27 18:49:57

标签: php forms session-variables form-submit submit-button

我只是想问一下SESSION中可能出现的错误...因为我已经遭受了我的错误!我的代码是正确的,但我不知道为什么它发生了,当我点击提交按钮它应该传递我声明的值,但它总是声明我声明的最后一个值(这意味着我可以& #39; t更新价值!一旦我宣布我的价值是永久性的,这是错误的,因为每次你点击提交它假设给出新的变量)

home.php

<form method="post" action="1home.php">
<label id="checkinD">
                    <h3>Day</h3>
                        <Input id="chiD" name="chiD" type="number" min="<?php echo $_SESSION["day_today"]; ?>" max="<?php echo $_SESSION["day_count"]; ?>" required />
            </label>
</form>

$chiD = $_POST['chiD'];
$_SESSION["chiD"] = "$chiD";

1home.php

<form method="post"  action="2home.php" onsubmit="return validate()">
<label id="checkinD">
                    <h3>Day</h3>
                        <Input id="chiD" name="chiD" type="text" value = " <?php echo $_SESSION["chiD"]; ?>"  readonly />
            </label>
</form>

BTW我的代码上还有一个疯狂的代码,它工作非常顺利,没有逻辑错误,但每4个小时,我的代码就会出现逻辑错误而不会出错!它像每小时出现的自动化错误一样。

有时为了使其工作我需要删除我的表单的名称然后再次替换它并键入我删除的单词。这是什么样的狗屎?

1 个答案:

答案 0 :(得分:0)

  

PHP,在为您的值分配值之前,您需要 session_start()   会话变量。 date_today变量保存当前日期时间,而date_count变量保存随机数。

     

虽然我看不到你的完整代码,但这是工作解决方案。

<强> home.php

<?php
session_start();
$_SESSION["day_today"] = date("Y-m-d H:i:s");
$_SESSION["day_count"] = rand();
?>
<form method="post" action="1home.php">
<label id="checkinD"><h3>Day</h3></label>
     <Input id="chiD" name="chiD" type="number" min="<?php echo $_SESSION["day_today"]; ?>" max="<?php echo $_SESSION["day_count"]; ?>" required />
     <input type="submit" value="FORM 2" name="btn_form2" >
</form>

<强> home1.php

<?php 
session_start();
if(isset($_POST['chiD'])): 
$chiD = $_POST['chiD'];
$_SESSION["chiD"] = $chiD;
?>
<form method="post"  action="2home.php" onsubmit="return validate()">
<label id="checkinD"><h3>Day</h3></label>
<input id="chiD" name="chiD" type="text" value = "<?php echo $_SESSION["chiD"]; ?>"  readonly />
</form>
<?php echo "Day: ". $_SESSION['day_today']; ?>
<br>
<?php echo "Day Count: ". $_SESSION['day_count']; ?>

<?php else: ?>
<h4> Sorry! Somethinh went wrong. </h4>
<?php endif; ?>

这是结果的屏幕截图 enter image description here

希望这有帮助