Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Reindirizzare ad altra pagina se il db è caduto

    Tutti conosciamo la funzione die() di php, ora, ciò che vorrei è che quando mysql è giù anziché fare comparire il classico messaggio di errore di warning, l'utente venga reindirizzati ad una specifica pagina.

    Qualcuno sa dirmi come posso fare?

    Grazie,
    ciao.

  2. #2
    Codice PHP:
    $link mysql_connect('server''user''password');
    if (!
    $link) {
        
    header('Location: http://'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\\\\\').'/errore_db.html');
        die();

    http://www.php.net/mysql_connect
    http://www.php.net/header

  3. #3
    Ho provato lo script ma non funziona lo stesso, mi restituisce:

    Warning: mysql_connect(): Can't connect to MySQL server on 'localhost' (10061) in c:\www\servizio1\function\connessione.php on line 9

    Warning: Cannot modify header information - headers already sent by (output started at c:\www\servizio1\function\connessione.php:9) in c:\www\servizio1\function\connessione.php on line 12


    La mia funzione è:
    Codice PHP:
    function connetti()
    {
        
    $connessione mysql_connect($db_host,$db_user,$db_pass);
        if (!
    $connessione)
        {
            
    header('Location: [url]http://[/url]'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\').'/errore_db.php'); 
            die();
        } else {
            
    mysql_select_db($db_name,$connessione);
            return 
    $connessione;
        }


  4. #4
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    Codice PHP:
    $link = @mysql_connect('server''user''password');
    if (!
    $link) {
        
    header('Location: [url]http://[/url]'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\').'/errore_db.html');
        die();


  5. #5
    non è meglio usare try-catch e pdo?

  6. #6
    Ho trovato questa soluzione:
    Codice PHP:
    ob_start();
    $connessione mysql_connect($db_host,$db_user,$db_pass) or die (header('Location: [url]http://[/url]'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\').'errore_db.php));
    mysql_select_db($db_name,$connessione);
    return $connessione;
    ob_end_flush(); 
    se il servizio mysql è off-line dovrebbe reindirizzarmi alla pagina errore_db.php ma il risultato nella querystring è:

    http://localhost:8080/nomesito/

    non mi trova la pagina, perché?

    N.B. non tenete conto di (<a href="http://" target="_blank">), non so perché lo inserisce in automatico il forum.

  7. #7
    Originariamente inviato da Bartjsp
    Ho provato lo script ma non funziona lo stesso, mi restituisce:

    Warning: mysql_connect(): Can't connect to MySQL server on 'localhost' (10061) in c:\www\servizio1\function\connessione.php on line 9

    Warning: Cannot modify header information - headers already sent by (output started at c:\www\servizio1\function\connessione.php:9) in c:\www\servizio1\function\connessione.php on line 12


    La mia funzione è:
    Codice PHP:
    function connetti()
    {
        
    $connessione mysql_connect($db_host,$db_user,$db_pass);
        if (!
    $connessione)
        {
            
    header('Location: [url]http://[/url]'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\').'/errore_db.php'); 
            die();
        } else {
            
    mysql_select_db($db_name,$connessione);
            return 
    $connessione;
        }

    Ops, giusto, dimenticato il @ come postato da Ranma2.

    Per il reindirizzamento: prova a cambiare header() con echo(), per vedere cosa da.

  8. #8
    ci riprovo...

    non è meglio usare try-catch e pdo?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.