我是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的文件,在那里我得到了这两行,并用它们来计算目录等中的文件。
<?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>
这应该会让我构建一个看起来更不像这样的php文件:
<?php
if(isset($_POST['finalSubmit'])){
//loop and other stuff
$temp = $_POST['imie1'];
echo $temp;
}
?>
所以问题是,在这个最终文件中,我想获得所有放入gather.php文件中文本字段的数据。但是我在build.php上得到了一个未定义的索引错误,说$_POST['imie1']中没有任何内容。你能告诉我为什么吗?有没有办法把这些数据从第二个文件传到第三个文件?
编辑:thx作为答案,因为我只能接受1,并且多个是相同的,所以我选择代表性最小的用户来支持她:)
您需要在表单标记中添加输入,否则将不会发送。
<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>
用替换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>
您在表单外回声输入框,所以现在它将在
我认为第二个表单上的<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>