PHP POST未填写

时间:2019-02-03 18:52:43

标签: php html post

我必须创建的网站有问题。当我用右键调用POST时,我没有找回值。我认为错误是我的POST无法填写。

$id = isset($_GET['id']) && is_numeric($_GET['id']) ? (int) $_GET['id'] : 0; 

此行位于代码的顶部,并提供正确的ID,我通过回显检查了这一点。

<form method="POST" action="Index.php">
<input type="hidden" name="Entryid" value="<?php echo $id; ?>">
<a type="submit" name="delete" class="btn btn-success" href="Index.php" data-toggle="modal" data-target="#myModal" style="cursor: pointer;">Löschen</a>
</form>

在这里,我将id的值放入键“ Entryid”中,并在单击按钮时切换到“ Index.php”。 在“ Index.php”内部,我尝试获取类似的值。

$id = isset($_POST['Entryid']) && is_numeric($_POST['Entryid']) ? (int) $_PST['Entryid'] : 0;

此处id的值可能未设置,如果我通过echo检查它的输出为0。 您认为我的错误在哪里?

2 个答案:

答案 0 :(得分:1)

请勿使用a进行提交。那不会处理表格。它只是链接到页面。使用:

<input type="submit" ...

并根据需要设置样式。

type的{​​{1}}与其处理表单https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a的方式无关。

  

以MIME类型的形式指定链接URL的媒体类型。它纯粹是建议性的,没有内置功能。<​​/ p>

答案 1 :(得分:1)

我认为这是因为您使用<a>标签作为按钮,而不是input

因此更改此行:

<a type="submit" name="delete" class="btn btn-success" data-toggle="modal" data-target="#myModal" style="cursor: pointer;">Löschen</a>

对此:

<input type="submit" name="delete" class="btn btn-success" style="cursor: pointer;" value="Löschen" />

发生错误,是因为您用<a>制作了href,这意味着您不是在向目的地提交表单,而是只是将其链接(带有不带任何其他参数的常规get-request)。 This page对此进行了解释(有关“方法属性”的部分)。


但是正如阿里所说。尝试在index.php-page上写:

<?php
echo '<pre>';
print_r($_POST);
echo '</pre>';
?>

看看您得到了什么,看看您的变量是否已定义。