我对php有点新意,所以也许这个问题很愚蠢。
说我有一张表格:
<form id="createNewGallery" name="newgallery" method="GET" action="code.php"><p><strong>please choose the number of pictures you want to upload:
</strong>
<select name="numOfPictures" id="numOfPictures">
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select></p>
<input name="submitNumOfPictures" type="submit" />
</form>
通过提交此表单我想在之后添加另一个表单,我知道我可以在这个特定的页面中执行它但我只是希望我的代码不要乱,所以我想在另一个页面中执行它,比如code.php
这是代码:
<?php
if (isset($_GET['numOfPictures'])){
$times = $_GET['numOfPictures'];
for ($i = 1; $i <= $times; $i++){
echo '<br />select picture number '.$i.': <br />';
echo '<input name="file'.$i.'" type="file" />';
}
echo '</br><input name="submitFiles" type="submit" />';
}
结果我得到的是一个新页面中的输出,code.php,但是我希望它之后创建一个表格,因为我在我的索引php上。
如果我在索引页面中进行PHP编码,我会得到所需的结果。
答案 0 :(得分:0)
正如Filippo Toso所说,您可以在code.php中包含HTML文件。
也许,如果你不想拥有两个文件,你可以只创建一个文件并将表单设置为这样:
<form id="createNewGallery" name="newgallery" method="GET" action="./"><p><strong>please choose the number of pictures you want to upload:
</strong>
<select name="numOfPictures" id="numOfPictures">
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select></p>
<input name="submitNumOfPictures" type="submit" />
</form>
<?php
if (isset($_GET['numOfPictures'])){
$times = $_GET['numOfPictures'];
for ($i = 1; $i <= $times; $i++){
echo '<br />select picture number '.$i.': <br />';
echo '<input name="file'.$i.'" type="file" />';
}
echo '</br><input name="submitFiles" type="submit" />';
}
?>
(注意表格的“行动”)
与以前的解决方案相比,这可能毫无意义,但如果您不想拥有两个文件,则可以一次性完成,这样一旦提交,您将立即获得结果,而无需任何其他页面!
编辑:忘了提一下,我想你的文件名为“index.php”。如果没有,只需将“./”替换为正确的地址!
答案 1 :(得分:0)
试试这个
<form id="createNewGallery" name="newgallery" method="post" action="code.php">
<p><strong>
please choose the number of pictures you want to upload:
</strong>
<select name="numOfPictures" id="numOfPictures">
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select></p>
<input name="submitNumOfPictures" type="submit" />
</form>
code.php
<?php
$times = $_POST['numOfPictures'];
echo $times;
?>
答案 2 :(得分:0)
根据您的最终目标,有多种方法可以对此进行管理。
您可以使用单独的文件,当用户提交表单时,它会转到下一页,即。 firstform.php - &gt; SUBMIT转到 - &gt; secondform.php,依此类推。 这样,如果您检查他们的输入而不是您喜欢的内容,您可以将它们发送回上一页/表单,并附上一些错误消息以纠正他们的选择。
您可以像现在一样使用GET,也可以使用POST
您可以使用一个页面/文件(比如forms.php)并使用PHP来确定用户所处的阶段。 示例 - 假设您有用户输入他们想要的图片数量,然后询问他们的详细信息(可能不是您需要的,但您可以获得流程概念)
//FORM 1 - get number of pictures
if ($_GET['whichform'] == '')
{
echo '<form id="createNewGallery" name="newgallery" method="GET"
action="'.$_SERVER['PHP_SELF'].'"">';
echo '<input type="hidden" name="whichform" value="form1" />';
echo '<input name="submitNumOfPictures" type="submit" />';
}
//FORM 2 - number of pictures submitted so ask for their details
elseif ($_GET['whichform'] == 'form1')
{
echo '<form id="GetUserDetails" name="userdetails" method="GET"
action="'.$_SERVER['PHP_SELF'].'"">';
echo '<input type="hidden" name="whichform" value="form2" />';
echo '<input name="userdetails" type="submit" />';
}
这将让你从FORM1开始,一旦提交,GET信息将返回true,如果是FORM1,那么它将显示FORM 2,依此类推FORM 3,4,5等 这在某些方面是粗糙的,需要调整(即测试提交的数据是否符合您的预期等),但它可以让您了解如何在一个页面上管理多个表单。