2014-11-06 64 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