2016-09-17 22 views
0

我正在創建一個PHP文件,我想要做的一件事是擁有一個數組(示例1)。據我所知,Array就像一個列表,我也想在列表中輸入項目(例2)。但數組中的項目數量需要通過一個數字確定,通過HTML表單輸入(例3)。如何根據html表單輸入設置數組中的項目數量?

例1:

<?php 
$a=array("red","green"); 
array_push($a,"blue","yellow"); 
print_r($a); 
?> 

</body> 
</html> 
</code>  

例2:

<!DOCTYPE html> 
<html> 
<body> 

<?php 
$a=array("red","green"); 
array_push($a,"$_POST["color3"]","$_POST["color4"]"); 
print_r($a); 
?> 

</body> 
</html> 

例3

<ol> 
<form action="finished.php" method="post"> 
<li><input type="text" name="color3"></li> 
<li><input type="text" name="color4"></li> 
</form> 
</ol> 

編輯: 我希望這是正確的格式都和你理解這個問題。 重申:第一頁空白只有一個表格;單個輸入框,您可以輸入任何數字(X)。 第二頁有相同的行重複一遍又一遍(取決於前一頁的數字X),它的行是: <li><input type="text" name="color Y"></li>
Y應該從1無限計數到X達到。 最後一頁將其全部打印在列表中(數組?)。

例如:在第一頁我們輸入數字3. 在第二頁上,我們有3個框用於輸入我們所選顏色的名稱:紅色,藍色,黃色。 在最後一頁,我們顯示了我們三種顏色的列表:紅色,藍色和黃色。

希望這會有所幫助。

+0

格式不好看。 :| –

+0

修正了它!對於那個很抱歉。 –

+1

好吧,格式是好的,我不太明白你真正想要什麼。 :) –

回答

1

我想我明白了你想要的東西(後一次閱讀更多)。讓我知道,如果我理解正確。假設你使用3個不同的文件(就像你在你的問題中寫的那樣)。

file1.php(一個簡單的形式具有1輸入和1提交按鈕):

<form action="file2.php" method="post"> 
    <input type="text" name="amount" placeholder="The amount of elements"> 
    <input type="submit" value="Enter"> 
</form> 

file2.php(檢查$_POST並且該值是整數):

if (!empty($_POST['amount'])) { 
    if (!is_int($_POST['amount'])) { 
     exit('Not an integer'); 
    } 
    ?> 
    <form action="file3.php" method="post"> 
    <?php 
    for ($i = 0; $i < $_POST['amount']; $i++) { 
     echo '<input type="text" name="colors[]" placeholder="Enter color name"><br>'; 
    } 
    ?> 
    <input type="submit" value="Done"> 
    </form> 
    <?php 
} else { 
    exit('Only $_POST method is allowed.'); 
} 

file3.php(獲得所有結果並將數組存儲在變量中):

if (!empty($_POST)) { 
    $colors = $_POST['colors']; 
    foreach ($colors as $color => $value) { 
     echo '<li>'.$value.'</li>'; 
    } 
    exit; 
} else { 
    exit('Only $_POST method is allowed.'); 
} 

我們可以增加一些安全性(如檢查它是否爲空等),但我只是添加了基本的東西。

+0

我改變了文件2.php上的第3 + 4行退出('不是整數'); }'通過刪除這個塊。它允許我通過鍵入數字,並創建它。 –

+0

這很好,我們在那裏,但是我的錯。我不知道爲什麼我說上面的數組,我希望他們的第3頁輸入到列表中。 所以行'

  • '從我的例子三我確實需要。所以**第2頁**讓我們編寫_3_顏色^例如^現在在**第3頁**我們希望_3_線的這個'
  • '示例。那有意義嗎? –

    +0

    @WilliamBachynsky然後你可以這樣寫:'foreach($ colors as $ color => $ value){echo'

  • '。$ value。'
  • '; }這將打印出所有顏色的列表。 –

    2
    <ol> 
    <form action="finished.php" method="post"> 
    <li><input type="text" name="data['color3']"></li> 
    <li><input type="text" name="data['color4']"></li> 
    </form> 
    </ol> 
    

    然後在finished.php

    $_POST['data']; 
    
        print_r($_POST);//print out the whole post 
        print_r($_POST['data']); //print out only the data array 
    
    +0

    請參閱主頁面中的編輯。 –

    相關問題