2016-08-22 77 views
-3

用这个例子我回顾一下我的问题: 我第一次执行这个php页面我想回显“我有两个按钮”。当用户点击按钮“next”或“next1 “我想回声”我已经说过我有两个按钮“,而不是”我必须按钮“。我也证明了隐藏的输入文本,但它不起作用。 THK求助如何控制执行PHP代码

<?php 
if ($_SESSION['already_said'] == false){ 
    echo "I have two buttons". date('h:i:s')."<br>"; 
} 

$_SESSION['already_said']=true; 

if(isset($_GET["next"]) || isset($_GET["next1"])) { 
    echo "I already said I have two buttons". date('h:i:s')."<br>"; 
} 
?> 
<html> 
<body> 
<form name="form" method="GET" action="" > 

<button type="submit" name="next"> 
<span class="label">Next</span> 
</button> 

<button type="submit" name="next1"> 
<span class="label">Next1</span> 
</button> 

</form> 
</body> 
</html> 
+0

你忘了'session_start()'。 –

+0

@MarcB - 100次中有99次,说“究竟”是什么?啊,是的,*“我正在使用session_start()”*。但是没有把它放在那里。那么,你站在50%的权利;-) –

+0

里约游戏结束了(没有更多的金币),但“绿色仍然继续”,我怀疑在这里看到。 –

回答

1

当然,重要的是要记住把session_start()在使用该会话的任何脚本的顶部。事实上,把它放在所有的脚本中是一个好主意,即使有一些不使用会话只是为了保持会话活着。

<?php 
session_start(); 

$msg = "I have two buttons ". date('h:i:s')."<br>"; 

if (! isset($_SESSION['already_said'])){ 
    $_SESSION['already_said'] = true; 
} 

if((isset($_GET["next"]) || isset($_GET["next1"])) && isset($_SESSION['already_said'])) { 
    $msg = "I already said " . $msg; 
} 
?> 
<html> 
<body> 
    <div> <?php echo $msg; ?></div> 
<form name="form" method="GET" action="" > 

<button type="submit" name="next"> 
<span class="label">Next</span> 
</button> 

<button type="submit" name="next1"> 
<span class="label">Next1</span> 
</button> 

</form> 
</body> 
</html>