<html>
<head>
<title>Panier</title>
<?php
$tot = 'test';
$m1 = $_POST['montant1'];
?>
</head>
<body>
<h1>Panier</h1>
<table border=1>
<form action="panier.php" method="POST">
<tr><td>Produit</td><td>Quantite</td><td>Prix Unitaire</td><td>Action</td><tr>
<tr><td>Produit 1</td><td><input type='text' name='montant1' value='2'></form></td><td>3.19</td><td><a href=>Supprimer</a></tr>
</form>
</table>
</body>
</html>
由于某种原因,我的变量$ m1无法获得输入文本字段内的内容&#39; montant1&#39;
答案 0 :(得分:0)
如果您向我们展示的文件未被调用&#34; panier.php&#34;,请尝试替换
<form action="panier.php" method="POST">
使用以下代码:
<form action="" method="POST">
将导致表单提交到它来自的相同URL。
答案 1 :(得分:0)
我注意到您没有在表单中添加提交按钮,因此无法向前推送数据!在文本输入标记之后添加(在表单中)。
<input type="submit" value="Submit your form">
假设您要发布到同一页面。用这个替换你的PHP代码:
<?php
if($_POST){
$tot = 'test';
$m1 = $_POST['montant1'];
}
?>
这样,只有存在数据才能处理数据。
此外,如果您要在同一页面上发布,建议放置$_SERVER['PHP_SELF']
而不是页面名称。这样,如果重命名文件,则无需处理代码更改。
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
答案 2 :(得分:0)
首先格式化代码,使其可读。它可以帮助你调试,而不是犯错误。
有几个明显的问题: -
您有2个结束表单标记</form>
至少有一个缺失</td>
您没有提交按钮。
获取逻辑提交内容的代码应该放在脚本的顶部。
您需要某种方法来判断这是否是第一次执行脚本,因为在这种情况下,$ _POST上没有传递数据。
所以试试这个,基本上你的代码有点清理。
<?php
$tot = 'test';
$m1 = isset($_POST['montant1'])
? $_POST['montant1']
: 'First run, the submit button has not been pressed yet';
?>
<html>
<head>
<title>Panier</title>
</head>
<body>
<h1>Panier</h1>
<?php
echo 'You entered : ' . $m1;
?>
<table border=1>
<form action="panier.php" method="POST">
<tr>
<td>Produit</td>
<td>Quantite</td>
<td>Prix Unitaire</td>
<td>Action</td>
<tr>
<tr>
<td>Produit 1</td>
<td><input type='text' name='montant1' value='2'></td>
<td>3.19</td>
<td><a href=>Supprimer</a></td>
<td><input type="submit" name="submit"></td>
</tr>
</form>
</table>
</body>
</html>