2013-02-11 82 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