在提交表单时遇到了一些问题。
形式:
<form action='warenkorb_aktual.php' method="post">
PHP-片断(warenkorb.php):
<?php
session_start();
if( !isset($_SESSION['menge']) ){
$menge = '1'; //standard value
}
else{
$menge = $_SESSION['menge'];
}
.
.
.
echo "
<td class='produktpadding'>
<input name='inputanzahl' value='" . $menge . "' id='inputanzahl' type='number' min='1' max='10' class='input_anzahl form-control' />
</td>
<td>
<div >
<button type='submit' class='btn btn-default'><i class='fa fa-refresh'></i></button>
</div>
</td>
";
.
.
.
?>
warenkorb_aktual.php:
<?php
session_start();
$menge = $_POST['inputanzahl'];
$_SESSION['menge'] = $menge;
header("Location: warenkorb.php");
?>
我想要实现的目标:
输入字段中的数字应通过在输入字段中键入数字来设置。提交表单后,应使用warenkorb_aktual.php进行设置(出于原因)。但这不起作用
答案 0 :(得分:0)
我找到了问题的答案。 首先,问题是什么: 我在我的网站上有几个输入字段,每个字段都以相同的形式存在(如上所述,但它们处于循环中)。事情:所有输入字段都具有相同的名称,因此代码(在warenkorb_aktual.php中)总是覆盖后变量。
修正: 1)
if(isset($_SESSION['menge'])){
foreach($_SESSION['menge'] as $einzel){
$menge[] = $einzel;
}
print_r($_SESSION['menge']);
unset($_SESSION['menge']);
}
2)
$i=0;
while(..condition..){
if( !isset($_SESSION['menge']) ){
$menge[$i] = 1;
}
.
.
.
echo "
<td class='produktpadding'>
<input name='inputanzahl[]' value='" . $menge[$i] . "' type='number' min='1' max='10' class='input_anzahl form-control' />
</td>
<td>
<div >
<button type='submit' class='btn btn-default'><i class='fa fa-refresh'></i></button>
</div>
</td>
";
$i++;
}
我希望这可以帮助一些人