2015-10-19 55 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輸出。

無論如何這只是一個好習慣。