1

PHPを学んでいます。これがソースコードです。

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

echo $text;
?>

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

これが結果です。どこに問題があるのか​​わからない。

注意: 未定義のインデックス: C:\xampp\htdocs\faisal\index.php の 2 行目のテキスト

4

5 に答える 5

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>
于 2014-02-10T19:41:21.790 に答える
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>
于 2014-02-10T19:41:48.383 に答える
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>
于 2014-02-10T19:42:05.053 に答える
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') {...
于 2014-02-10T19:42:30.807 に答える
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>
于 2014-02-10T19:48:33.497 に答える