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
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
require 'pippo.php' or ....
prova, forse non è giusto (probabilmente)
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....
come hai fatto??
Scusa, non è che potresti provare come ho detto io x curiosità??
Come hai detto tu non va...Originalmente inviato da mythologia
Io ho fatto così:
Codice PHP:
if (!(include ('pippo.php'))) {
header("Location: sbagliato.html");
} else
include ('pippo.php');
okiz, :smile:
Ultima modifica di mythologia : 19-03-2005 alle ore 19.24.46
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....
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... OLDOriginalmente inviato da *******da
EDIT: ahahahah!!!! ti viene mezzo censurato il nick nei quote!!!
Ultima modifica di mystico : 19-03-2005 alle ore 19.30.36
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...Originalmente inviato da mythologia
infatti, solo il nome della pag.
es home.php
Funzia grazie!
Però hai fatto un errore gravissimo!!!
Così da sempre falso come risultato, l'istruzione giusta èif(!basename($PHP_SELF) == "pagina dove è inclusa questa")
{
Header(Location:.....);
}
Codice PHP:
if(!(basename($PHP_SELF) == "pagina dove è inclusa questa"))
{
Header(Location:.....);
}
hai ragione, ma ho buttato il codice velocemente :D
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!Originalmente inviato da mavericckweb