2013-06-29 27 views
0

我的代碼有問題。當我張貼的東西,然後它會顯示:SCREAM:||的錯誤抑制被忽略未定義的變量:後綴

SCREAM:錯誤抑制忽略

注意:未定義的變量:後綴...

,但我有我的代碼定義我的變量。 ..那麼我怎樣才能解決這個錯誤?

<?php 

$conn = mysql_connect("localhost", "root", "") or die(mysql_error()); 
mysql_select_db("test", $conn); 
$time = time(); 

if(isset($_POST['pateikti'])) { 
    if(empty($_POST['tekstas'])) { echo "Tekstas per trumpas!"; } 
    else { 
     mysql_query("INSERT INTO tsp (timestamp, text) VALUES ('".time()."', '$_POST[tekstas]')"); 
    } 
} 

$query = mysql_query("SELECT * FROM tsp"); 

while($row = mysql_fetch_assoc($query)) { 

    $diff = $time - $row['timestamp']; 

    switch(1) { 
      case ($diff < 60): 
     $ago = $diff; 
     if($ago == 0) 
      $ago == "akimirką"; 
     else if($diff < 10) 
      $suffix = "sekundes"; 
     else 
      $suffix = "sekundžių"; 
     break; 

    } 

     echo $row['text']." buvo parasytas prieš ".$diff." ".$suffix."</br>"; 

} 

?> 

<form action="" method="POST" > 
    <input type="text" name="tekstas" /><br> 
    <input type="submit" name="pateikti" value="Pateikti" /> 
</form> 

先謝謝您幫助我!

+0

你上哪兒去定義它?只有三個「f' /'else」分支中的兩個,或者不是? – mario

+0

定義'$ suffix ='';'__before__'switch'語句 –

回答

1

,因爲你沒有把它定義之前的開關,然後使用默認設置的情況下,差異大於60

switch(1) { 
    case ($diff < 60): 
     $ago = $diff; 
     if($ago == 0) 
      $ago == "akimirką"; 
     else if($diff < 10) 
      $suffix = "sekundes"; 
     else 
      $suffix = "sekundžių"; 
    break; 
    default: 
      $suffix ="default text"; 
    break; 
} 
0

您有以下開關:

switch(1) { 
     case ($diff < 60): 
    $ago = $diff; 
    if($ago == 0) 
     $ago == "akimirką"; 
    else if($diff < 10) 
     $suffix = "sekundes"; 
    else 
     $suffix = "sekundžių"; 
    break; 

} 

這裏,如果$diff等於0,您的$suffix永遠不會被定義。

簡單地改變開關:

$suffix = ''; // <-- define "suffix" 

switch(1) { 
    case ($diff < 60): 
    $ago = $diff; 
    if($ago == 0) 
     $ago == "akimirką"; 
    else if($diff < 10) 
     $suffix = "sekundes"; 
    else 
     $suffix = "sekundžių"; 
    break; 
} 

而且,恕我直言,該交換機可以被替換爲:

$suffix = ''; 

if($diff < 60) { 
    $ago = $diff; 

    if($ago == 0) { 
    $ago == "akimirką"; 
    } 
    else if($ago < 10) { 
    $suffix = "sekundes"; 
    } 
    else { 
    $suffix = "sekundžių"; 
    } 
}