2015-10-19 47 views
0

我一直在试图创建一个PHP脚本,它从文本形式获取任意数字,并将其放入数组中。然后我想遍历数组并输出每个数字。

到目前为止,我在Google上搜索了一些代码。不幸的是它不起作用。奇怪的是,我确实在某个时候开始工作,但不知怎么的,代码不会在没有实际改变脚本中的任何东西的情况下运行。

任何人都可以帮我完成这个,我有我的版本,在某些时候工作,但现在不再。

(我知道我应该过滤输入,但由于这仅仅是一个锻炼它其实并不重要。)

<html> 
<head> 
    <title>13.13</title> 

<body> 
    <h2> Inputting numbers into array through form</h2> 
    <br> 
    <br> 

    <form> 
     <input type="text" name="number" /> 
     <input type="button" value="submit" name="submit" /> 
    </form> 

<?php 
    session_start();  

     if (isset($_REQUEST['submit'])) { 
      $number = $_REQUEST['number']; 

      if (!isSet($_SESSION['number'])) { 
       $_SESSION['number'] = array(); 
      } 
     array_push($_SESSION['number'], $number); 

     foreach($_SESSION['number'] as $key => $val) { 
      echo $key . ">" . $val; 
     } 
    } 

?>  

</body> 
</html> 
+0

你可以发布样本输入和样本输出吗? – Akshay

+0

当我提交表格时,它不显示任何内容。 – Dennis1679

回答

0

你需要在你的形式来定义method

这里的完整代码,也总是将session_start放在页面顶部。

<?php 
    session_start();  

     if (isset($_REQUEST['submit'])) { 
      $number = $_REQUEST['number']; 

      if (!isSet($_SESSION['number'])) { 
       $_SESSION['number'] = array(); 
      } 
     array_push($_SESSION['number'], $number); 

     /* foreach($_SESSION['number'] as $key => $val) { 
      echo $key . ">" . $val; 
     } 
     */ 
     var_dump($_SESSION['number']); 
    } 

?>  

<html> 
<head> 
    <title>13.13</title> 

<body> 
    <h2> Inputting numbers into array through form</h2> 
    <br> 
    <br> 

    <form method="post" action="#"> 
     <input type="text" name="number" /> 
     <input type="submit" value="submit" name="submit" /> 
    </form> 



</body> 

输出 enter image description here

+1

FWIW,它在评论中解释说,“method =”post“'是不需要的,因为显然形式默认到'method =“get”'。这可以从'$ _REQUEST'中读取。 – HPierce

1

移动session_start()你的代码的任何HTML输出之前的顶部。标题已经发送后,您无法启动会话 - 并且已经发送了它们,因为已经发送了HTML输出。

无论如何这只是一个好习惯。