2012-08-06 77 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