Visualizzazione risultati 1 fino 8 di 8

Discussione: Personalizzare gli errori di PHP

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito Personalizzare gli errori di PHP

    Buonasera,

    ho visto in alcuni siti (che attualmente non ritrovo) delle pagine PHP che permettevano di personalizzare i propri errori.

    Mi spiego meglio:

    Ammettiamo che io abbia questo codice:

    Codice PHP:
    <?php

    echo "Michelangelo Scotto;

    ?>
    Come si può ben notare manca un " prima del punto e virgola. Eseguendo questo codice l'interprete PHP mi mostra la solita pagina bianca dove c'è scritto che alla riga 3 manca una chiusura di apostrofi.

    Ecco in alcuni siti ho visto personalizzare questa cosa e volevo chiedervi come fare ciò...semmai applicando uno stile proprio o cose simili?

    Avrò errato io i termini di ricerca ma su Google non ho trovato un granchè.
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    programmazioned non è connesso Utente attivo
    Data registrazione
    25-03-2008
    Messaggi
    440

    Predefinito

    Vedi Error Handling Functions, in particolare set_error_handler().

    Ciao ciao!

  3. #3
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Ti potrebbe interessare questa funzione: set_error_handler().

    Attenzione, però: funziona solo con gli errori di "runtime" e non di "parsing", come ti servirebbe nell'esempio che hai riportato. In altre parole: modificare l'error handler ti permette di personalizzare gli errori che potrebbero derivare da input non validi, ma non quelli che in altri linguaggi impedirebbero anche la compilazione.

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  4. #4
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Citazione Originalmente inviato da dementialsite Visualizza messaggio
    Ti potrebbe interessare questa funzione: set_error_handler().

    Attenzione, però: funziona solo con gli errori di "runtime" e non di "parsing", come ti servirebbe nell'esempio che hai riportato. In altre parole: modificare l'error handler ti permette di personalizzare gli errori che potrebbero derivare da input non validi, ma non quelli che in altri linguaggi impedirebbero anche la compilazione.

    Stammi bene...
    Capisco...ma per gli altri errori non è proprio possibile? (Considerando comunque che devo fare questo lavoro per un sito hostato al di fuori di AlterVista, su un server virtuale).
    Apprezzi l'aiuto? Offrimi un caffè!

  5. #5
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Temo che non sia possibile: un Error Handler viene ridefinito comunque come una funzione. Ma se questa è errata sintatticamente, chi può segnalarlo, se non l'interprete di PHP?

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  6. #6
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Capisco, vabbè grazie ad entrambi per le risposte.
    Apprezzi l'aiuto? Offrimi un caffè!

  7. #7
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Chiedo venia se riesumo questo mio vecchio post ma mi è sorto un dubbio mentre oggi creavo una sorta di CMS: se io ho due pagine:

    abc.php
    Codice PHP:
    <?php

    echo "Michelangelo Scotto;

    ?>
    index.php
    Codice PHP:
    <?php

    ob_start
    ();

    include(
    "abc.php");

    $file = ob_get_contents();

    ob_end_clean();

    echo
    $file;

    ?>
    Posso fare in modo che prima che la pagina venga mostrata si controlli l'eventualità di un errore di PHP così da personalizzarlo?

    Cioè sopra se io non eseguo echo $file; non accade nulla, posso prima di mostrare il file controllare la presenza di errori (che sia di sintassi o di funzione) e mostrare un apposito errore da me personalizzato?
    Apprezzi l'aiuto? Offrimi un caffè!

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,179

    Predefinito

    non certamente con include("abc.php"), perché ti bloccherebbe lo script!...

    Secondo me l'unico modo è quello di aprire il file e fare un controllo fatto in casa!!! --> parecchio difficile, se fatto bene!

    Ciao!

    EDIT: non mi sono accorto dell' ob_start(); !!

    Comunque secondo me l'unico modo è quello che ti ho indicato: dovresti aprire prima il file con la fopen, oppure get_file_contents() e poi controllare con PHP la sintassi (ma non credo sia una cosa banale ^^)

    Ciao!
    Ultima modifica di alemoppo : 03-04-2010 alle ore 23.44.36

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •