2013-06-29 29 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ų"; 
    } 
}