2014-11-06 66 views
-2

我有一个if else语句。代码逻辑是,第一个if语句将获得所需的所有必要信息,第二个if语句将打印在第一个if语句中生成的所有信息。问题是,当它触发第二个if语句时,它会忽略存储在第一个if语句中的所有数据。 任何人都可以帮助我解决这个问题吗?谢谢如果语句php不能正常工作

这只是一个示例代码,但代码的过程和逻辑在某种程度上是相同的。

<head> 
    <title>Sample PHP Web</title> 
</head> 

<body> 
    <form method = "post"> 
    <input type = "submit" value = "submit" name = "submit"> 
    <?php 
    if(isset($_POST['submit'])) 
    { 
     $nn[0] = "man"; 
     $nn[1]= "men"; 
     echo'<input type = "submit" value = "print" name = "print">'; 
    } 
    ?> 
    </form> 
    <?php 
    if(isset($_POST['print'])) 
    { 
     echo $nn[0]; 
     echo $nn[1]; 
    } 
    ?> 
</body> 

回答

2

初始表单提交处理到PHP变量设置的值后会丢失。它们不会在页面请求中持续存在。如果你想让他们坚持下去,你需要使用sessions

<?php 
session_start(); 
?> 
<head> 
    <title>Sample PHP Web</title> 
</head> 

<body> 
    <form method = "post"> 
    <input type = "submit" value = "submit" name = "submit"> 
    <?php 
    if(isset($_POST['submit'])) 
    { 
     $_SESSION['nn'][0] = "man"; 
     $_SESSION['nn'][1]= "men"; 
     echo'<input type = "submit" value = "print" name = "print">'; 
    } 
    ?> 
    </form> 
    <?php 
    if(isset($_POST['print'])) 
    { 
     echo $_SESSION['nn'][0]; 
     echo " "; // seperate words with a space 
     echo $_SESSION['nn'][1]; 
    } 
    ?> 
</body> 
+0

*啊,*我知道会议会是最好的。 Numero uno。 – 2014-11-06 02:24:42

+0

也可以工作。 – mainstreetmark 2014-11-06 02:25:24

+0

@mainstreetmark当您可以在会话中保存这些值时,无需添加开销 – 2014-11-06 02:27:23