0

ページで未定義のインデックス エラーが発生し続けます。いろいろ試してみたのですが、なかなか抜けません。Server PHP Self を実行する単純なエリア変換を作成する必要があるプロジェクトがあります。

<?php 
if ($_POST['number'] == "") {
    $number = '';
} else {
    $number = $_POST['number'];
 }
?>

 <form method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>">
     <label>Please Select Area Conversion Method</label>
     <select name="con">
         <option selected="selected"></option>
         <option>Square Feet to Square Meters</option>
         <option>Square Yards to Square Meters</option>
         <option>Square Miles to Square Kilometers</option>
         <option>Square Meters to Square Feet</option>
         <option>Square Meters to Square Yards</option>
         <option>Square Kilometers to Square Miles</option>
     </select><br />
     <label>Input Number: </label>
     <input type="text" name="number" size="10" /><br />
     <input type="submit" value="Calculate" name="submit" />
 </form>

if issetとを試してみif emptyましたが、 を取り除くことができないようですundefined index error

4

3 に答える 3

1

これを試して:

    <?php 
if (!isset($_POST['number'] || $_POST['number'] == "") {
 $number = '';
} else {
    $number = $_POST['number'];
 }
 ?>
于 2012-07-05T19:38:27.323 に答える
0

同じ答えのさらに別のバリエーションですが、より短いです:

$number = empty($_POST['number']) ? '' : $_POST['number'] ;
于 2012-07-05T19:42:07.070 に答える
0

にインデックスnumberが存在しないため、エラーが発生した可能性があります$_POST

$_POST['number']使用する前に が存在することを確認するか、設定されているかどう$_POSTかにかかわらずインデックスを使用する前に が空でないことを確認してください。

if ( !empty($_POST) )
{
    if( $_POST['number'] == "" )
    // ...
}

または、'number' が空白文字列かどうかを明示的にチェックしている場合:

if( isset( $_POST['number'] ) && $_POST['number'] == "" )
{
    // ...

ただし、シナリオでは、次のようなことを行うのが最善の場合があります。

$number = isset($_POST['number']) ? $_POST['number'] : '';
于 2012-07-05T19:38:11.350 に答える