【问题标题】:Form submit does not set POST-variable of number input表单提交未设置数字输入的 POST 变量
【发布时间】:2016-06-11 11:54:46
【问题描述】:

提交表单时遇到了一点问题。

表格:

<form action='warenkorb_aktual.php' method="post">

PHP-sn-p(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 进行设置(出于原因)。但这不起作用

【问题讨论】:

  • 您在脚本warenkorb.php 中缺少session_start();
  • session_start();包含在外部文件中。只是忘了提
  • 如果您需要真正的帮助,请尝试发布一些真实的代码。
  • 修正你在 echo 中的引用 ...
  • 我应该在多大程度上发布代码?我不想(也不能)发布整个代码

标签: php forms session post


【解决方案1】:

我找到了问题的答案。 首先,问题是什么: 我的网站上有几个输入字段,每个输入字段都采用相同的形式(如上,但它们处于循环中)。问题:所有输入字段都具有相同的名称,因此代码(在 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++;
}

我希望这可以帮助一些人

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多