ahoj.
povedzme, ze by mi nastala chyba v skripte aa nechcem ju vypisat na stranke, ale chcem ju ulozit do db, abo do suboru. ako to spravim?
na sql som to spravil takto:
if(mysql_error()!=""){
  $ip=$_SERVER['REMOTE_ADDR'];
  $file=fopen("./log","a+");
  $logmessage="$snick($ip)::".date("j. n. Y,G:i",time())."::\n".mysql_errno()."::".mysql_error()."::\n$variables\n";
  fwrite($file,$logmessage);
  echo $logmessage;
  fclose($file);
}
ale jak to spravim n a chybu v php scripte? pls napiste niekto :)
                                 
                                 
                               
               
                              
                                 
                                      Vetsina funkci neco vraci. Takze pokud nastane chyba, tak funkce nevraci nic, nebo -1(0). Tuto chybu lze vetsinou odchytit zapisem $er = neco(); if(!$er) { chyba; }, nebo zkracene if(!neco()) { chyba }.
Aby se chyba nezobrazovala na strance, lze ji potlacit @ umistenou pred funkci. To jest if(!@neco()) { chyba }
                                 
                                 
                               
               
                              
                                 
                                      <HTML>funkce pro zpracovani chyb:
function myErrorHandler($errno, $errstr, $errfile, $errline) 
{
 $errortype = array (
                E_ERROR           => "Error",
                E_WARNING         => "Warning",
                E_PARSE           => "Parsing Error",
                E_NOTICE          => "Notice",
                E_CORE_ERROR      => "Core Error",
                E_CORE_WARNING    => "Core Warning",
                E_COMPILE_ERROR   => "Compile Error",
                E_COMPILE_WARNING => "Compile Warning",
                E_USER_ERROR      => "User Error",
                E_USER_WARNING    => "User Warning",
                E_USER_NOTICE     => "User Notice",
                E_STRICT          => "Runtime Notice"
                );
     
    $errmes = "<b>".$errortype[$errno]."</b> [$errno] $errstr<br />\n";
    $errmes .= "  Error in line $errline of file $errfile";
    
    if ($errno != E_NOTICE && $errno != E_COMPILE_WARNING && $errno != E_USER_NOTICE && $errno != E_STRICT)
   
/* ULOZENI DO DB */
mysql_query("INSERT INTO log SET chyba='$errmes'");
}
zachytavani chybovych hlaseni a predani funkci myErrorHandler():
<b>set_error_handler("myErrorHandler");</b></HTML>