2012-08-06 80 views
0

我新的PHP和形式的發展,這裏就是我想實現:PHP發送表單數據

首先我有一個簡單的表格,輸入剛纔兩個文本值:

Form1 
<br> 
<form action="gather.php" method="post"> 
    Catalog: 
    <input type="text" name="folderName" maxlength="50"> 
    <br> 
    File Name: 
    <input type="text" name="fileName" maxlength="50"> 
    <br> 
    <input type="submit" name="formSubmit" value="Submit"> 
</form> 

現在我有一個名爲gather.php第二個文件從哪裏獲得theese兩條線,並利用它們來算目錄裏面等

<?php 
if(isset($_POST['formSubmit'])){ 
    $folderName = $_POST['folderName']; 
    $fileName = $_POST['fileName']; 
    $numberOfImages = count(glob($folderName . "/*.jpg")); 
    for($i = 1; $i <= $numberOfImages; $i++){ 
     echo "<br><input type=\"text\" name=\"imie" . $i . "\"><br/>\n"; 
     echo "<img src=\"" . $folderName . "/0" . $i . ".jpg\" height=\"50px\" width=\"50px\"><br><br>\n"; 
    } 


    echo "\n<br>" . $folderName . "<br>" . $fileName . "\n"; 
} 

?> 
<br> 
Final form 
<br> 
<form action="build.php" method="post"> 
<input type="submit" name="finalSubmit" value="Submit"> 
</form> 

文件,這應該讓我build.php文件,它看起來更不像這樣的:

<?php 
if(isset($_POST['finalSubmit'])){ 
    //loop and other stuff 
    $temp = $_POST['imie1']; 
    echo $temp; 

} 
?> 

所以事情是,在這最後的文件我想獲得所有被放入文本字​​段中gather.php文件中的數據。但是我得到了build.php上未定義的索引錯誤,說$ _POST ['imie1']中沒有任何內容。你能告訴我爲什麼嗎?這是從第二個文件到第三個文件的數據嗎?

編輯:THX的答案,因爲我只能接受1,多是我選擇具有至少代表用戶只是爲了支持同她:)

+0

您需要再次添加表單元素,你的第二個形式,並用正確的價值觀 – 2012-08-06 12:03:52

回答

2

您需要添加表單標籤內的輸入,它不會被髮送,否則。

<br> 
    Final form 
    <br> 
    <form action="build.php" method="post"> 
    <?php 
    if(isset($_POST['formSubmit'])){ 
     $folderName = $_POST['folderName']; 
     $fileName = $_POST['fileName']; 
     $numberOfImages = count(glob($folderName . "/*.jpg")); 
     for($i = 1; $i <= $numberOfImages; $i++){ 
      echo "<br><input type=\"text\" name=\"imie" . $i . "\"><br/>\n"; 
      echo "<img src=\"" . $folderName . "/0" . $i . ".jpg\" height=\"50px\" width=\"50px\"><br><br>\n"; 
     } 


     echo "\n<br>" . $folderName . "<br>" . $fileName . "\n"; 
    } 

    ?> 
    <input type="submit" name="finalSubmit" value="Submit"> 
    </form> 
+0

他們不需要,當你填寫在瀏覽器中,他們將被添加 – EaterOfCode 2012-08-06 12:11:48

+0

THX的答案 – Arek 2012-08-06 12:15:11

+0

預填充它們對,認爲它必須以其他方式填充,而不是手動,然後忽略價值屬性部分。別客氣。 – 2012-08-06 12:16:37

1

替換您gather.php與

<br> 
Final form 
<br> 
<form action="build.php" method="post"> 
<?php 
    if(isset($_POST['formSubmit'])){ 
     $folderName = $_POST['folderName']; 
     $fileName = $_POST['fileName']; 
     $numberOfImages = count(glob($folderName . "/*.jpg")); 
     for($i = 1; $i <= $numberOfImages; $i++){ 
      echo "<br><input type=\"text\" name=\"imie" . $i . "\"><br/>\n"; 
      echo "<img src=\"" . $folderName . "/0" . $i . ".jpg\" height=\"50px\" width=\"50px\"><br><br>\n"; 
     } 


     echo "\n<br>" . $folderName . "<br>" . $fileName . "\n"; 
    } 

    ?> 
<input type="submit" name="finalSubmit" value="Submit"> 
</form> 

你是echo'ing形式之外的輸入框因此現在將工作

+0

大聲笑,謝謝你的答案:) – Arek 2012-08-06 12:09:53

+0

歡迎:) – EaterOfCode 2012-08-06 12:12:19

1

我覺得<form>第二種形式的需要來到文件的頂部 - 它只會在標籤內提交元素,因爲您正在生成HTML並打開表單,所以未提交。

<br> 
Final form 
<br> 
<form action="build.php" method="post"> 
<?php 
if(isset($_POST['formSubmit'])){ 
    $folderName = $_POST['folderName']; 
    $fileName = $_POST['fileName']; 
    $numberOfImages = count(glob($folderName . "/*.jpg")); 
    for($i = 1; $i <= $numberOfImages; $i++){ 
     echo "<br><input type=\"text\" name=\"imie" . $i . "\"><br/>\n"; 
     echo "<img src=\"" . $folderName . "/0" . $i . ".jpg\" height=\"50px\" width=\"50px\"><br><br>\n"; 
    } 


    echo "\n<br>" . $folderName . "<br>" . $fileName . "\n"; 
} 

?> 
<input type="submit" name="finalSubmit" value="Submit"> 
</form> 
+0

thx爲答案 – Arek 2012-08-06 12:16:56