Originariamente inviato da xenox75
Dal manuale PHP emerge che:
<?php
$path = "/home/httpd/html/index.php";
$file = basename($path); // $file is set to "index.php"
$file = basename($path, ".php"); // $file is set to "index"
?>
come puoi vedere la funzione basename restituisce solo la parte finale del path...
nel tuo script per fare il tempalete in PHP hai messo :
$p=$_GET['page'];
if($p!=basename($p) || !preg_match("/^[A-Za-z0-9-_]+$/",$p) || $p=="index" || !file_exists($p.".php"))
$p="error"; //pagina di errore }
quindi inizialmente $p vale "dbricette/search", ma il confronto "$p!=basename($p)" da esito Affermativo inquanto č come se scrivessi "dbricette/search=search"
in tal caso scatta la pagina di errore "error.php"
in questo caso dovresti modificare la IF, in modo semplice togliento $p!=basename($p) cosė non scatta l'eccezione, oppure modificandola in modo adeguato a quello che ti serve.. :-)