POST在每个var上抛出未定义的索引

时间:2014-08-04 10:00:40

标签: php post echo

我在这里定义POST:

else if(isset($_POST["Edit"])){
    $result_set = $sqlConn->query("SELECT Art, Ime, Cijena, Kol FROM permatable WHERE Art='{$_POST["Art"]}' LIMIT 1");
    $Item = $result_set->fetch_array();
    $_POST["Art"] = $Item["Art"];
    $_POST["Ime"] = $Item["Ime"];
    $_POST["Cijena"] = $Item["Cijena"];
    $_POST["Kol"] = $Item["Kol"];   
    header("Location: EditP.php");
}

现在发布"编辑"并且if语句被称为正常。我还检查了查询,它返回了所需的一切。 现在在标题位置,我得到所有这些变量的未定义索引,并且来自以下代码:

echo "<input type='text' placeholder=".$_POST["Art"]." name='Art'>
    <input type='text' placeholder=".$_POST["Ime"]. "name='Ime'>
    <input type='text' placeholder=".$_POST["Cijena"]." name='Cijena'>
    <input type='text' placeholder=".$_POST["Kol"]." name='Kol'>";

我做错了吗?我自己也看不到任何错误,这一直困扰着我一段时间。

4 个答案:

答案 0 :(得分:0)

那不行。

您无法使用标头位置发送POST

您可以尝试将它们添加到您的网址

    foreach($item as $key=>$value)
    {
      $items .= $key."&".$value ;
    }
header("Location: EditP.php?".$items);

并在edit.php页面中

echo "<input type='text' placeholder=".$_GET["Art"]." name='Art'>
    <input type='text' placeholder=".$_GET["Ime"]. "name='Ime'>
    <input type='text' placeholder=".$_GET["Cijena"]." name='Cijena'>
    <input type='text' placeholder=".$_GET["Kol"]." name='Kol'>";

答案 1 :(得分:0)

您无法重定向具有POST变量的用户。不起作用。 Read here。最好的方法是创建一个表单,然后在页面加载后立即通过JavaScript自动提交。例如:

<form id="my_form" action="http://example.com" method="post">
    <input type="hidden" name="name" value="<?php echo htmlspecialchars($name); ?>">
    <input type="hidden" name="email" value="<?php echo htmlspecialchars($email); ?>">
    <input type="hidden" name="etc" value="<?php echo htmlspecialchars($etc); ?>">
</form>

<script type="text/javascript">
    //Our form submission function.
    function submitForm() {
        document.getElementById('my_form').submit();
    }
    //Call the function submitForm() as soon as the page has loaded.
    window.onload = submitForm;
</script>

答案 2 :(得分:0)

$result_set = $sqlConn->query("SELECT Art, Ime, Cijena, Kol FROM permatable WHERE Art='($_POST["Art"])' LIMIT 1");

尝试将花括号更改为小括号。

答案 3 :(得分:0)

好吧,我最后使用了SESSION,所以我只是将代码更改为以下内容:

$result_set = $sqlConn->query("SELECT Art, Ime, Cijena, Kol FROM permatable WHERE Art='{$_POST["Art"]}' LIMIT 1");
    $Item = $result_set->fetch_array();
    $_SESSION["Art"] = $Item["Art"];
    $_SESSION["Ime"] = $Item["Ime"];
    $_SESSION["Cijena"] = $Item["Cijena"];
    $_SESSION["Kol"] = $Item["Kol"];    
    header("Location: EditP.php");

对于EditP:

echo "<input type='text' placeholder=".$_SESSION["Art"]." name='Art'>
<input type='text' placeholder=".$_SESSION["Ime"]. "name='Ime'>
<input type='text' placeholder=".$_SESSION["Cijena"]." name='Cijena'>
<input type='text' placeholder=".$_SESSION["Kol"]." name='Kol'>";