PHP -HTML形式未提交PHP生成
我正在借助另一种形式生成HTML形式, 当我选中一些框并按下提交按钮时,页面只是刷新而没有任何结果,
我的代码列出了一些订单,因此我们可以使用复选框选择它们,然后我可以接收checkedorder的值[ ],并做其他事情。
在这里,生成的代码
<form class="form_f" method="post">
<div class="orders"><?php
while ($i != count($id_order_F))
{
?>
<label for="checkedOrder<?php echo $i; ?>">
<div class="order">
<input id="checkedOrder<?php echo $i; ?>" type="checkbox" name="checkedOrder[]" value="<?php echo $id_order_F[$i]; ?>">
<span>Commande N°<?php echo $id_order_F[$i]; ?></span><br>
<span>Référence : <?php echo $reference_F[$i]; ?></span><br>
<span>Statut : <?php echo $order_state_name_F[$i]; ?></span><br>
<span>ID Adresse livraison : <?php echo $id_address_delivery_F[$i]; ?></span><br>
<span><?php echo number_format($total_paid_tax_excl_F[$i], 2, ',', ''); ?>€ HT</span><br>
<span><?php echo number_format($total_paid_tax_incl_F[$i], 2, ',', ''); ?>€ TTC</span><br>
</div>
</label>
<?php
$i++;
}
?> </div>
<div class="btn_f">
<input class="input-b" type="submit" name="fusion" value="Fusionner les commandes">
</div>
</form>
<?php
// nothing display !
if (isset($_POST['fusion'])) {
echo "fusion set";
$order_checked = $_POST['checkedOrder'];
foreach ($order_checked as $order_display)
{
echo $order_display . "<br />";
}
}
HTML看起来像这样:
<form class="form_f" method="post" action="/script.php">
<div class="orders">
<label for="checkedOrder0">
<div class="order">
<input id="checkedOrder0" type="checkbox" name="checkedOrder[]" value="5818">
<span>Commande N°5818</span><br>
<span>Référence : SRFYGXCTD</span><br>
<span>Statut : Commande acceptée</span><br>
<span>ID Adresse livraison : 17434</span><br>
<span>1016,69€ HT</span><br>
<span>1220,02€ TTC</span><br>
</div>
</label>
<label for="checkedOrder1">
<div class="order">
<input id="checkedOrder1" type="checkbox" name="checkedOrder[]" value="5821">
<span>Commande N°5821</span><br>
<span>Référence : GOQBCCPSL</span><br>
<span>Statut : En cours de traitement</span><br>
<span>ID Adresse livraison : 17434</span><br>
<span>1360,80€ HT</span><br>
<span>1632,96€ TTC</span><br>
</div>
</label>
<label for="checkedOrder2">
<div class="order">
<input id="checkedOrder2" type="checkbox" name="checkedOrder[]" value="5857">
<span>Commande N°5857</span><br>
<span>Référence : EQALZUQNH</span><br>
<span>Statut : En cours de traitement</span><br>
<span>ID Adresse livraison : 17434</span><br>
<span>44,68€ HT</span><br>
<span>53,62€ TTC</span><br>
</div>
</label>
<label for="checkedOrder3">
<div class="order">
<input id="checkedOrder3" type="checkbox" name="checkedOrder[]" value="5858">
<span>Commande N°5858</span><br>
<span>Référence : KMQESFABG</span><br>
<span>Statut : En cours de traitement</span><br>
<span>ID Adresse livraison : 17434</span><br>
<span>607,71€ HT</span><br>
<span>729,25€ TTC</span><br>
</div>
</label>
<label for="checkedOrder4">
<div class="order">
<input id="checkedOrder4" type="checkbox" name="checkedOrder[]" value="5819">
<span>Commande N°5819</span><br>
<span>Référence : NFHSUXBZG</span><br>
<span>Statut : En attente d'autorisation</span><br>
<span>ID Adresse livraison : 17434</span><br>
<span>250,00€ HT</span><br>
<span>300,00€ TTC</span><br>
</div>
</label></div>
<div class="btn_f">
<input class="input-b" type="submit" name="fusion" value="Fusionner les commandes">
</div>
</form>
编辑:PHP脚本可以处理2个表单吗?在这里,用户键入ID,然后按提交,创建表格,并使用订单列表,用户检查他想要的所有订单,然后按提交。似乎在提交第一次后,我的脚本没有检测到其他任何内容
I'm generating an HTML form with the help of another form,
when i check some boxes and press on submit button, the page just refresh without any result,
My code list some orders, so we can choose them with the check boxes, then i could receive values of checkedOrder[], and do other things.
Here a bit of code
<form class="form_f" method="post">
<div class="orders"><?php
while ($i != count($id_order_F))
{
?>
<label for="checkedOrder<?php echo $i; ?>">
<div class="order">
<input id="checkedOrder<?php echo $i; ?>" type="checkbox" name="checkedOrder[]" value="<?php echo $id_order_F[$i]; ?>">
<span>Commande N°<?php echo $id_order_F[$i]; ?></span><br>
<span>Référence : <?php echo $reference_F[$i]; ?></span><br>
<span>Statut : <?php echo $order_state_name_F[$i]; ?></span><br>
<span>ID Adresse livraison : <?php echo $id_address_delivery_F[$i]; ?></span><br>
<span><?php echo number_format($total_paid_tax_excl_F[$i], 2, ',', ''); ?>€ HT</span><br>
<span><?php echo number_format($total_paid_tax_incl_F[$i], 2, ',', ''); ?>€ TTC</span><br>
</div>
</label>
<?php
$i++;
}
?> </div>
<div class="btn_f">
<input class="input-b" type="submit" name="fusion" value="Fusionner les commandes">
</div>
</form>
<?php
// nothing display !
if (isset($_POST['fusion'])) {
echo "fusion set";
$order_checked = $_POST['checkedOrder'];
foreach ($order_checked as $order_display)
{
echo $order_display . "<br />";
}
}
HTML generated look like that :
<form class="form_f" method="post" action="/script.php">
<div class="orders">
<label for="checkedOrder0">
<div class="order">
<input id="checkedOrder0" type="checkbox" name="checkedOrder[]" value="5818">
<span>Commande N°5818</span><br>
<span>Référence : SRFYGXCTD</span><br>
<span>Statut : Commande acceptée</span><br>
<span>ID Adresse livraison : 17434</span><br>
<span>1016,69€ HT</span><br>
<span>1220,02€ TTC</span><br>
</div>
</label>
<label for="checkedOrder1">
<div class="order">
<input id="checkedOrder1" type="checkbox" name="checkedOrder[]" value="5821">
<span>Commande N°5821</span><br>
<span>Référence : GOQBCCPSL</span><br>
<span>Statut : En cours de traitement</span><br>
<span>ID Adresse livraison : 17434</span><br>
<span>1360,80€ HT</span><br>
<span>1632,96€ TTC</span><br>
</div>
</label>
<label for="checkedOrder2">
<div class="order">
<input id="checkedOrder2" type="checkbox" name="checkedOrder[]" value="5857">
<span>Commande N°5857</span><br>
<span>Référence : EQALZUQNH</span><br>
<span>Statut : En cours de traitement</span><br>
<span>ID Adresse livraison : 17434</span><br>
<span>44,68€ HT</span><br>
<span>53,62€ TTC</span><br>
</div>
</label>
<label for="checkedOrder3">
<div class="order">
<input id="checkedOrder3" type="checkbox" name="checkedOrder[]" value="5858">
<span>Commande N°5858</span><br>
<span>Référence : KMQESFABG</span><br>
<span>Statut : En cours de traitement</span><br>
<span>ID Adresse livraison : 17434</span><br>
<span>607,71€ HT</span><br>
<span>729,25€ TTC</span><br>
</div>
</label>
<label for="checkedOrder4">
<div class="order">
<input id="checkedOrder4" type="checkbox" name="checkedOrder[]" value="5819">
<span>Commande N°5819</span><br>
<span>Référence : NFHSUXBZG</span><br>
<span>Statut : En attente d'autorisation</span><br>
<span>ID Adresse livraison : 17434</span><br>
<span>250,00€ HT</span><br>
<span>300,00€ TTC</span><br>
</div>
</label></div>
<div class="btn_f">
<input class="input-b" type="submit" name="fusion" value="Fusionner les commandes">
</div>
</form>
edit : Does a php script can handle 2 forms ? Here the user type an id, then press submit, a form is created with a list of orders, the user check all orders he want and then press submit. It seems like after submitting the first time, my script don't detect anything else
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我将您的HTML复制为PHPSTORM,以复制您的问题。我注意到您的帖子部分有错字。在我更改后,帖子请求正常工作后
应该是:
如果您将php和html写入同一文件中,我建议将您的逻辑代码放在顶部,然后将您的HTML代码放在最后。我还应该编写不同的HTML,以更好地概述。提供SEC,我将发布有关如何进行
编辑的信息:
在代码下方,如何将PHP与1个文件中的HTML组合编写。我更喜欢在逻辑结束时关闭PHP标签,以便可以键入普通的HTML。当我需要PHP功能或变量时,您可以再次打开PHP。要回声一个变量,您可以简单地使用
&lt;?= $ var;?&gt;?
对于函数,我喜欢
如果其他
我喜欢使用柯林斯而不是浅色以获得更好的可读性,所以您可以做:您可以做:
清楚这不是您应该写代码的方法,但也许它可以帮助您在1个文件中使用PHP和HTML时,提高代码的可读性。如果它变得复杂,我建议使用MVC结构或框架。
I copied your HTML and your PHP post part into PHPstorm to reproduce your problem. I noticed you have a typo in your post part. After I changed that the post request worked just fine
Should be:
If you write PHP and HTML into the same file I would suggest putting your logic code in top and your html code at the end. I should also write the HTML different for a better overview. Give a sec and I will post on how I should do it
Edit:
Below the code how you could also write your PHP in combinatio with HTML in 1 file. I prefer to close the PHP tag at the end of my logic so I can type normal HTML. When I need a PHP function or variable You can open PHP again. To just echo out a variable you can simply use
<?= $var;?>
The=
is in this case a shorthand to echo.For functions I like
if else
I like to use collins instead of breackets for better readability so instead of:You can do:
To be clear this is not how you should write your code but maybe it can help you to improve the readability of your code when you use PHP and HTML in 1 file. If it gets to complex I would suggest going to use a MVC structure or framework.