2017-07-27 66 views
1

我只想问一下SESSION中可能出现的错误......因为我一直在受到我的错误!我的代码是正确的,但我不知道为什么发生这种情况,当我点击提交按钮时,它应该传递我声明的值,但它总是声明我声明的最后一个值(这意味着我无法更新值!一次,我宣布我的值是永久性的这是错误的,因为你每次点击提交它想给新的变量)会话中可能存在的错误

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> 

顺便说一句,还有一个疯狂的发生在我的代码上,它工作得非常顺利,没有逻辑错误,但是每隔4个小时我的代码就会有逻辑错误而没有我的错!这就像自动化错误每小时出现一次。

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

+0

您错过了此处的'action'属性'

' –

+0

$ _SESSION [“chiD”] =“$ chiD”;应该是$ _SESSION [“chiD”] = $ chiD; –

+0

我尝试你的建议,但没有发生:9 – shimo

回答

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

希望这有助于

+0

我试过这个,但没有任何事情发生:( – shimo

+0

我已经更新了我的答案,代码已经过测试。希望这有帮助。 – Oluwaseye