2012-07-05 101 views
0

我一直在我的頁面上收到未定義的索引錯誤。我嘗試過不同的事情,但似乎無法擺脫它。我有一個項目,我必須創建一個運行Server PHP Self的簡單區域轉換。PHP未定義索引PHP自我

<?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 issetif empty,但似乎無法擺脫undefined index error的。

+4

您是否也可以添加錯誤? – andrewsi 2012-07-05 19:35:54

+0

你能發佈你如何實現IF語句 – SmokeyPHP 2012-07-05 19:36:59

+1

'$ number = isset($ _POST ['number'])? $ _POST ['number']:'';' – nickb 2012-07-05 19:39:13

回答

1

試試這個:

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

出現錯誤可能是因爲$_POST中不存在索引number

在使用它之前請檢查$_POST['number']是否存在,或者在使用索引之前檢查$_POST是否爲空,然後才能設置或不設置索引。

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

,或者,如果你是明確檢查,如果「數字」是一個空字符串:

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

對於您的情況,但是,它可能是最好的,只是這樣做:

$number = isset($_POST['number']) ? $_POST['number'] : ''; 
0

ÿ et相同答案的另一個變體,但更短:

$number = empty($_POST['number']) ? '' : $_POST['number'] ;