Visualizzazione risultati 1 fino 16 di 16

Discussione: require fallito

  1. #1
    Guest

    Predefinito require fallito

    Se un require fallisce (non mi trova la pagina) posso fare in modo che anzichè darmi l'errore faccia qualcosa da me impostato?

    Avevo provato un if (!(require('pippo.php'))) ma evidentemente è una eresia quello che ho scritto! OLD

  2. #2
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    require 'pippo.php' or ....
    prova, forse non è giusto (probabilmente)

  3. #3
    Guest

    Predefinito

    Scusate, ho risolto da solo!

    Ho provato a mettere un include al posto del require ed è andato... eppure pensavo che fossero esattamente identici, invece credo che l'include restituisca un valore mentre il require no....

  4. #4
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    come hai fatto??

    Scusa, non è che potresti provare come ho detto io x curiosità??

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da mythologia
    come hai fatto??

    Scusa, non è che potresti provare come ho detto io x curiosità??
    Come hai detto tu non va...

    Io ho fatto così:

    Codice PHP:
    if (!(include ('pippo.php'))) {
    header("Location: sbagliato.html");
    } else
    include (
    'pippo.php');

  6. #6
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    okiz, :smile:
    Ultima modifica di mythologia : 19-03-2005 alle ore 19.24.46

  7. #7
    Guest

    Predefinito

    Dato che ci sono un'altra cosa: ho un file che contiene un'unica funzione, però non voglio che si possa arrivare a questo file tramite l'indirizzo (ad esempio digitando pippo.php)

    Come poso fare per fare un redirect?

    P.S.: non posso farlo semplicemente fuori dalla funzione perchè la pagina viene inclusa in un'altra e quindi mi partirebbe ogni volta....

  8. #8
    Guest

    Predefinito

    Il require e include sono quasi la stessa cosa solo che il require come errore genera un fatal erro e quindi blocca i processo mentre l'include genera un warnig e se può continua lostesso il processo,per creare una forzature nel include puoi scrivere anche @include e qualche volta funziona

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da *******da
    Il require e include sono quasi la stessa cosa solo che il require come errore genera un fatal erro e quindi blocca i processo mentre l'include genera un warnig e se può continua lostesso il processo,per creare una forzature nel include puoi scrivere anche @include e qualche volta funziona
    Grazie ma ormai ho risolto, piuttosto mi servirebbero informazioni per l'ultimo quesito... OLD

    EDIT: ahahahah!!!! ti viene mezzo censurato il nick nei quote!!!
    Ultima modifica di mystico : 19-03-2005 alle ore 19.30.36

  10. #10
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    prova con
    if(!basename($PHP_SELF) == "pagina dove è inclusa questa")
    {
    Header(Location:.....);
    }

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da mythologia
    prova con
    if(!basename($PHP_SELF) == "pagina dove è inclusa questa")
    {
    Header(Location:.....);
    }
    ma devo mettere tutto l'indirizzo o solo il nome della pagina? a me sarebbe più utile solo il nome della pagina...

  12. #12
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    infatti, solo il nome della pag.
    es home.php

  13. #13
    Guest

    Predefinito

    Funzia grazie!

    Però hai fatto un errore gravissimo!!!

    if(!basename($PHP_SELF) == "pagina dove è inclusa questa")
    {
    Header(Location:.....);
    }
    Così da sempre falso come risultato, l'istruzione giusta è

    Codice PHP:
    if(!(basename($PHP_SELF) == "pagina dove è inclusa questa"))
    {
    Header(Location:.....);
    }

  14. #14
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    hai ragione, ma ho buttato il codice velocemente :D

  15. #15
    Guest

    Predefinito

    un'altra rapida soluzione usata in molte bulletin board e cms è quella di inserire nell'index principale una definizione di costante

    e inserire in OGNI pagina che non sia l'index un semplice controllo

    if (!(defined(...)))
    die("non puoi accedere direttamente a questo file");

    ampliabile con un controllo anche sul valore della costante, e con un azione diversa dal die da compiere(x es header:location....)

    mavericck

  16. #16
    Guest

    Predefinito

    Citazione Originalmente inviato da mavericckweb
    un'altra rapida soluzione usata in molte bulletin board e cms è quella di inserire nell'index principale una definizione di costante

    e inserire in OGNI pagina che non sia l'index un semplice controllo

    if (!(defined(...)))
    die("non puoi accedere direttamente a questo file");

    ampliabile con un controllo anche sul valore della costante, e con un azione diversa dal die da compiere(x es header:location....)

    mavericck
    Ok, grazie per la segnalazione!

Regole di scrittura

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