PHP $ _POST错误请帮帮我我正在学习PHP

时间:2014-02-10 19:39:54

标签: php html mysql post undefined-index

我正在学习PHP。这是源代码。

<?php
$text = $_POST['text'];

echo $text;
?>

<form action="index.php" method="post">
<input type="text" name="text" />
    <input type="submit">
</form>

结果如下。我不知道问题出在哪里。

注意:未定义的索引:第2行的C:\ xampp \ htdocs \ faisal \ index.php中的文字

5 个答案:

答案 0 :(得分:4)

这意味着$_POST['text']中没有任何内容 - 只有在提交之后才会提交。您需要使用isset()来检查:

<?php
if(isset($_POST['text'])) {
    $text = $_POST['text'];

    echo $text;
}
?>

<form action="index.php" method="post">
<input type="text" name="text" />
    <input type="submit">
</form>

答案 1 :(得分:4)

当您第一次进入页面时,您的特殊变量“$ _POST”为空,这就是您收到错误的原因。你需要检查一下是否有任何东西。

<?php
$text = '';
if(isset($_POST['text']))
{
  $text = $_POST['text'];
}

echo 'The value of text is: '. $text;
?>

<form action="index.php" method="post">
  <input type="text" name="text" />
  <input type="submit">
</form>

答案 2 :(得分:3)

仅在提交表单时填充

$_POST['text']。因此,当页面首次加载时,它不存在,您会收到该错误。为了补偿你需要在执行PHP的其余部分之前检查表单是否已提交:

<?php
if ('POST' === $_SERVER['REQUEST_METHOD']) {
  $text = $_POST['text'];

  echo $text;
}
?>

<form action="index.php" method="post">
<input type="text" name="text" />
    <input type="submit">
</form>

答案 3 :(得分:2)

如果表单已提交,您可能需要确定。

<?php
if (isset($_POST['text'])) {
    $text = $_POST['text'];
    echo $text;
}
?>

<form action="index.php" method="post">
<input type="text" name="text" />
    <input type="submit">
</form>

另外,您可以使用$_SERVER['REQUEST_METHOD']

if ($_SERVER['REQUEST_METHOD'] == 'POST') {...

答案 4 :(得分:0)

我们必须检查用户是否点击了提交按钮,如果是,那么我们必须设置$ test变量。如果我们不使用isset()方法,我们总会得到错误。

<?php
if(isset($_POST['submit']))
{
  $text = $_POST['text'];
  echo $text;
}
?>

<form action="index.php" method="post">
<input type="text" name="text" />
    <input type="submit" name="submit" value="submit">
</form>