0

Win 7 で XAMPP に多くの問題があることは知っています。

HTML に単純な -tag があります

<form method="post" action="site.php">
  <input type="text" name="NAME">
</form>

また、私の PHP コードも非常にシンプルです。

<?php 
  $something = $_POST['NAME'];
?>

XAMPP を起動して「htdocs」でこの HTML を開くと、問題/通知があります。

注意: 未定義のインデックス: C:\xampp\htdocs\test.php の 40 行目の wert

それは単なるXAMPPエラーですか?? 私はこれまでこの問題を経験したことがなく、静かに正しいと思われるからです。私はXAMPP 1.7.7を使用していると思います。

ご挨拶:)

4

2 に答える 2

2

それまで設定されていなかった配列インデックスの値を使用すると、「未定義のインデックス」通知がポップアップ表示されます。

<?php
$myarray = array('a'=>1, 'b'=>2);
var_dump($myarray['a']); //outputs int(1) as this is defined
var_dump($myarray['c']); //we defined 'a' and 'b' but not 'c'.
?>

3 行目は次のようになります。

これは通常、$_GET または $_POST 配列にアクセスするときに発生します。ほとんどの場合、その理由は、インデックスのスペルを間違えた (たとえば、 の$_POST['tset']代わりに入力した$_POST['test']) か<input>、情報を送信する HTML フォーム内の要素を編集してから、PHP コードを再調整するのを忘れたためです。

isset()次のように使用してインデックスが存在するかどうかをテストすることにより、すべてが正常に機能していることを確認できます。

if( isset($_POST['test']) ) {
    $myvar = $_POST['test'];
    //and then whatever else you intended
}
else {
    //the index wasn't defined - you made a mistake, or possibly the user deliberately removed an input from the submitting form
    $error = "POST-array is missing the index 'test'!";
    //and now make sure that things after this which rely on the 'test' value don't run
}

多くのスクリプトで見られる非常に一般的な行:

$myvar = isset($_POST['test']) ? $_POST['test'] : 'N/A';

これは、if-else 構造の特別な PHP 短縮形を使用します。この行は、次とほとんど同じです。

if( isset($_POST['test']) ) {
    $myvar = $_POST['test'];
}
else {
    $myvar = 'N/A';
}
于 2012-04-17T18:15:59.647 に答える
0

これを行う必要があります:

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

そのページを開くと、$_POST['NAME']そのデータを送信するまで何もありません。

于 2012-04-17T18:02:17.710 に答える