Source: lesson_11_h_set_error_handler_function_5.php | Résultat |
<?php error_reporting(E_ALL); ini_set("display_errors", 1); //bug php5 : set_error_handler ne capte pas les erreurs fatales // custom error handler function eh($type, $msg, $file, $line) { // on lit les principales variables d'environnement // pour ecrire leur contenu dans le log global $HTTP_HOST, $HTTP_USER_AGENT, $REMOTE_ADDR, $REQUEST_URI; // on donne un nom au fichier d'erreur $errorLog = "erreur.log"; // construction du contenu du fichier d'erreur $errorString = "Date: " . date("d-m-Y H:i:s", mktime()) . "\n"; $errorString .= "Type d'erreur: $type\n"; $errorString .= "Message d'erreur: $msg\n"; $errorString .= "Fichier: $file($line)\n"; $errorString .= "Host: $HTTP_HOST\n"; $errorString .= "Client: $HTTP_USER_AGENT\n"; $errorString .= "Client IP: $REMOTE_ADDR\n"; $errorString .= "Request URI: $REQUEST_URI\n\n"; // ecriture du log dans le fichier erreur.log $fp = fopen($errorLog, "a+"); fwrite($fp, $errorString); fclose($fp);
// on pourrait aussi envoyer $errorString par mail
// display error message echo "<h4>Erreur (<small>$msg</small>)</h4>"; echo "Nous sommes désolés, mais cette page ne peut être affichée à cause d'une erreur interne. cette erreur a été enregistrée et sera corrigée dès que possible. <br/> <a href=# onClick='history.go(-1)'>Cliquer ici pour revenir au menu précédent.</a>";
} // define a custom handler set_error_handler("eh"); // attempt a MySQL connection to get the error $connection = mysql_connect("localhost", "toto", "xyz"); //mysql_select_db("content");
// generate and execute query $query = "SELECT * FROM news ORDER BY timestamp DESC"; $result = mysqli_query($mysqli,$query, $connection);
// if resultset exists if (mysqli_num_rows($result) > 0) { ?>
<ul>
<?php // iterate through query results // print data while($row = mysql_fetch_object($result)) { ?> <li><b><?php $row->slug ?></b> <br/> <font size=-1><i><?php $row->timestamp ?></i></font> <p> <font size=-1><?php echo "***".substr($row->content, 0, 150); ?>... <a href=story.php?id=<?php $row->id ?> >Read more</a></font> <p> <?php } ?> </ul> <?php } else { echo "Impossible de continuer !"; } ?>
|
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /home/marchons/autres_sites/atelierphp_net/exercises/lesson_11_h_set_error_handler_function_5.php:39
Stack trace:
#0 /home/marchons/autres_sites/atelierphp_net/commons/show_exercises.php(172): require()
#1 {main}
thrown in /home/marchons/autres_sites/atelierphp_net/exercises/lesson_11_h_set_error_handler_function_5.php on line 39
|