Pagina 1 di 1

problemi con i caratteri speciali

Inviato: 12/11/2013, 21:25
da crio
Buona sera , ho un problema con il seguente codice:

Codice: Seleziona tutto


$prod=$nomep
<a href='cercaprodotto.php?nomep=$prod' id='a'>

il seguente codice in pratica assegna alla variabile prod un certo valore preso da un database e poi stampa e con un link cliccando sopra di esso mi porta ad una pagina dove tramite un GET prendo il valore che gli passo in questo modo:

Codice: Seleziona tutto


$prodotto=mysql_real_escape_string($_GET['nomep']);

ora ho un grandissimo problema , per quanto rigurda parole del tipo : " bracciale d'oro " per capirci con dei caratteri speciali quando vado a cliccare sul link nella barra dell url vedo visualizzato cercaprodotto.php?nomep=bracciale%20d
e mi tronca tutto quello che c'è dopo e quindi lo script che eseguo in base all'url che riceve non va a buon fine, mentre in altri casi è perfetto ovvero se inserisco prova uno lui mi fa cercaprodotto.php?nomep=prova+uno e riconosce e mi stampa tutto.

come posso far vedere all'url una cosa del genere: cercaprodotto.php?nomep=bracciale d'oro e quindi far funzionare il tutto? N.B. nel database io salvo il valore con un mysql_real_escape_string(nomep) e quindi nel DB ho bracciale d'oro scritto cosi come è.

sto diventando matto !!!

Re: problemi con i caratteri speciali

Inviato: 12/11/2013, 21:42
da brunino
Se nell'ahref usi gli apici come hai scritto prima, quando incontra un apice nella variabile interrompe il link... usa l'ahref con le virgolette <a href="link" id="a"></a>
Questo se il risultato non contiene anche le virgolette...

In alternativa potresti fare un form del tipo

Codice: Seleziona tutto

<form action="link senza ?" method="get"><input type="hidden" name="nomep" value="$prodotto"><input type="submit" value="testo_ottone"></form>
. Genera un bottone invece che un link però...

Re: problemi con i caratteri speciali

Inviato: 12/11/2013, 23:38
da Barrnet
L'escape dovresti farlo al momento di utilizzare la richiesta GET per la ricerca nel database, non in fase di generazione dell'URL, altrimenti basterebbe modificare la richiesta GET per bucarti il database.