2013-02-11 81 views
0

我是PHP的新手。我正試圖執行這個簡單的代碼。從一個PHP頁面獲取文本域值,我想在另一個PHP頁面中顯示它。但是,它不工作。我的錯誤在哪裏?

new1.php

<html xmlns="http://www.w3.org/1999/xhtml"> 

    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
     <title>Untitled Document</title> 
    </head> 

    <body> 
     <form action="welcome1.php" method="POST"> 
      <input name="Name" type="text" /> 
      <input name="submit" type="submit" value="Submit" /> 
     </form> 
    </body> 
    <?php 
     SESSION_START(); 
     $var=""; 
      if(!empty($_POST['Name'])){ 
      $var=$_POST['Name']; 
     } else { 
      $var="NOT SET"; 
     } 
     $_SESSION['name11']=$var; 
    ?> 
</html> 

welcome1.php

<html> 
    <body> 
     <?php 
     session_start(); 
     $n=""; 
     if(isset($_SESSION['name11'])){ 
      $n=$_SESSION['name11']; 
      echo $n; 
     } else { 
      echo "no session"; 
     } 
     ?> 
    </body> 
</html> 
+0

答案是下面給出Montycarlo。我想建議'session_start()'應該是頁面的第一行,這是一個很好的做法,並且使調試更容易。另請閱讀PHP中的'sessions'和'forms'。 – vedarthk 2013-02-11 05:46:31

+0

什麼是所有後綴'1'的 – 2013-02-11 05:53:32

+0

,它沒有顯示任何錯誤????? – 2013-02-11 07:03:44

回答

1

你的代碼是在錯誤的文件。

這應該都在welcome1.php中,目前它在new1.php中。

<?php 
    SESSION_START(); 
    $var=""; 
    if(!empty($_POST['Name'])){ 
     $var=$_POST['Name']; 
    } 
    else 
    { 
     $var="NOT SET"; 
    } 
    $_SESSION['name11']=$var; 
?> 
+0

不,我想要做的就是從一個頁面(Here new1.php)訪問文本框的值,將其顯示在另一個頁面(welcome1.php)中。如果你善意地闡述你的解決方案...... – 2013-02-14 15:30:09

+0

PHP不會像你相信的那樣工作。它在服務器端執行一次。如果你按照我的解決方案,textfield仍然會在頁面new1.php上,但是會在welcome1.php中處理。 – Montycarlo 2013-02-15 03:35:43

+0

非常感謝。我有我的錯。 – 2013-02-15 12:53:08

0

您的代碼是錯誤的。僅僅因爲session_start()需要在頭文件發送之前運行。

你的情況的解決方案是:

Move session_start();上述< HTML ...

請訪問: Why can't I use session_start() in my php script? It says headers are already sent

+0

不,它仍然無法工作。我已經把腳本部分放在首位。 '<?php session_start(); ....'new1.php的else部分正在執行。因此,在welcome1.php中它顯示'NOT SET'。這不是預期的結果。 – 2013-02-14 15:35:47

0

問題是因爲你張貼的形式welcome1.php(表單的動作)和代碼來獲得崗位價值爲new1.php。你的文件

變化:

new1.php

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
     <title>Untitled Document</title> 
    </head> 
    <body> 
     <form action="welcome1.php" method="POST"> 
      <input name="Name" type="text" /> 
      <input name="submit" type="submit" value="Submit" /> 
     </form> 
    </body> 
</html> 

welcome1.php

<?php 
    session_start(); 
    $var=""; 
    if(!empty($_POST['Name'])){ 
     $var=$_POST['Name']; 
    } else { 
     $var="NOT SET"; 
    } 
    $_SESSION['name11']=$var; 

    echo $_SESSION['name11']; /// you get this $_SESSION['name11'] in all the pages. 
?> 
+0

我建議你通過表單提交和會話的基礎知識,請參閱http://www.w3schools.com/ – 2013-02-15 04:50:51

+0

謝謝它的工作原理 – 2013-02-15 12:53:57

+0

在堆棧中,我們通過接受答案並投票表示感謝:D – 2013-02-15 12:55:06