se ti mette gli slash sui valori GET e POST vuol dire che è attivato dal php.ini che è una cosa buona dato che molto spesso gli apici singoli e doppi non vengono controllati e vengono passati cosi come sono alle query permettendo le cosi dette SQL Injection!
Per risolvere il tuo problema, ESCLUSIVAMENTE al momento della visualizzazione, utilizzi stripslashes ( www.php.net/stripslashes )
la riga
<input TYPE="text" name="search" value="<?php echo $searchText;?>">
diventa
<input TYPE="text" name="search" value="<?php echo stripslashes($searchText);?>">
Inoltre considera che l'eventuale inserimento in quel campo di un valore tipo
"><script src="malicious/script.js" type="text/javascript"></script><input type="hidden
trasformerebbe quella la riga del form in
<input TYPE="text" name="search" value=""><script src="malicious/script.js" type="text/javascript"></script><input type="hidden">
che come puoi ben vedere potrebbe benissimo richiamare uno script o potrebbe direttamente iniettare codice javascript!
richiamare l'url tipo
http://sub.domain.ext/path/to/page.p...t type="hidden
farebbe lo stesso effetto!
quindi se per esempio tu sei loggato tramite le sessioni di php io posso leggere i tuoi cookie e settarmi nel mio browser con il risultato che la tua sessione la andrei ad utilizzare anch'io avendo accesso dove hai accesso tu che nel caso dell'ammiinstratore significa che ho accesso a tutto
Se il codice malevolo recuperasse i cookie e tramite una xmlhttprequest li prende e li spedisce a me succede un gran bel patacrack!
Ovviamente sta li a te di non cliccare sull'indirizzo che ricevi cosi ... però permane che è molto pericoloso!
Dovresti quindi usare i POST, innanzi tutto, per evitare questo tipo di problemi, e poi direi che una passata con strip_tags non nuocerebbe
http://it.php.net/stripslashes
http://it.php.net/strip_tags