Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: fermate gli errori!!!

  1. #1
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130

    fermate gli errori!!!

    allora io interrogo il mio db:

    $db = mysql_connect($host, $user, $password);

    mysql_select_db($database, $db);

    $result = mysql_query("SELECT * FROM nucleus_item ORDER BY itime desc LIMIT 0,5", $db);

    adesso può accedere che il db non sia disponibile. quindi php da un errore di un cero tipo (non ricordo neanche quale). come faccio a bloccarlo? il messaggio di errore oltre a fare schifo mi incasina il layout del blog in modo terribile!

    ho provato con @ tipo:

    $db = @mysql_connect($host, $user, $password);

    @mysql_select_db($database, $db);

    $result = @mysql_query("SELECT * FROM nucleus_item ORDER BY itime desc LIMIT 0,5", $db);

    pero gli errori non si fermano! come mai?

  2. #2

    Re: fermate gli errori!!!

    Originariamente inviato da nourdine
    ho provato con @ tipo:

    $db = @mysql_connect($host, $user, $password);
    al posto dell'@
    prova a fare così:
    Codice PHP:
    $db mysql_connect($host$user$password) or die (''); 

  3. #3
    la # esclude i messaggi di errore di quella funzione.. ma è chiaro che se quella funzione ha fallito (silenziosamente) può darsi che quello che vieen dopo, in mancanza dell'esecuzione di quella funzione, fallisca a sua volta o non abbia senso.

    quindi devi fare...

    $db = @mysql_connect($host, $user, $password) or die("database non disponibile. Riprovare tra poco");

    oppure

    $db = @mysql_connect($host, $user, $password);
    if(!$db) echo "gestisco l'errore a modo mio";



  4. #4

    Re: Re: fermate gli errori!!!

    Originariamente inviato da Tony512
    al posto dell'@
    prova a fare così:
    Codice PHP:
    $db mysql_connect($host$user$password) or die (''); 
    non "al posto".. se leva la @ mi pare che gli restituisca comunque degli errori, al di là del fatto che poi il flusso del programma venga interrotto.


  5. #5
    Originariamente inviato da }gu|do[z]{®©
    $db = @mysql_connect($host, $user, $password) or die("database non disponibile. Riprovare tra poco");
    per non incasinare il layout del sito potresti fare:
    Codice PHP:
    $db = @mysql_connect($host$user$password) or die("<script language=javascript> window.alert('errore di databse');</script>"); 

  6. #6
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    ok ci sono adesso tutto funziona! un'altra cosa adesso:

    io ho un blog fatto con nucleus: tutto php! Ora ... quando si genera un errore posso arginarne i messaggi che produce (mi avete appena istruito a riguardo) ma come posso fare per non assassinare il parsing. infatti con errori di accesso al db il parser si ferma (sto mona) e mi visualizza solo mezzo template. ce un modo per dirgli "ok .. se qua ce un errore tu saltalo e vammi avanti con la lettura del codice?"

    grazie

  7. #7
    Originariamente inviato da Tony512
    per non incasinare il layout del sito potresti fare:
    Codice PHP:
    $db = @mysql_connect($host$user$password) or die("<script language=javascript> window.alert('errore di databse');</script>"); 
    anche così magari non chiude tabelle (se il sito è fatto alla maniera "classica") e il layout gli viene uno schifo.
    E' per quello che ho messo la seconda soluzione senza die..in mdo che si gestisca anche la "chiusura" del layout..

    poi uno da il consiglio generico.. il caso specifico dipende da mille cose

  8. #8
    Originariamente inviato da nourdine
    ok ci sono adesso tutto funziona! un'altra cosa adesso:

    io ho un blog fatto con nucleus: tutto php! Ora ... quando si genera un errore posso arginarne i messaggi che produce (mi avete appena istruito a riguardo) ma come posso fare per non assassinare il parsing. infatti con errori di accesso al db il parser si ferma (sto mona) e mi visualizza solo mezzo template. ce un modo per dirgli "ok .. se qua ce un errore tu saltalo e vammi avanti con la lettura del codice?"

    grazie
    come ho appena detto: ti gestisci l'errore con il secondo modo che ti ho consigliato... e a quel punto dopo aver stampato l'errore puoi invocare funzoni o quant'altro per la "chiusura" del layout

  9. #9
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    ma la chiusura del layout (che comunque è tableless per la precisione ) deve essere affidata a javascript per forza? php non offre soluzioni a riguardo?

    cheers

  10. #10
    Originariamente inviato da nourdine
    ma la chiusura del layout (che comunque è tableless per la precisione ) deve essere affidata a javascript per forza? php non offre soluzioni a riguardo?

    cheers
    difficilmente php può implementare funzioni tipo close_nourdine_layout()

    i linguaggi si limitano a fare ele cose più generiche possibili... nel caso specifico php ti mette a disposizione gli strumenti per sopprimere l'errore du mysql_connet() e decidere, con un if, se andare avanti "normalmente" o gestire la pagina in una ltro omdo. Come gestirla sta a te... puoi smeplicemente chiudere tutti i div... o che ne so io.. dipende dal tuo layout

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.