ciao a tutti
dovrei gestire l'inserimento e l'estrazione dal database di campi che possono contenere gli apici
come potrei fare? grazie!
ciao a tutti
dovrei gestire l'inserimento e l'estrazione dal database di campi che possono contenere gli apici
come potrei fare? grazie!
Usa la funzione "string mysql_escape_string ( string $unescaped_string )" per inserire i valori nel db (nel nostro caso, mysql).
Poi dovresti essere in grado di leggere normalmente i valori quali anche l'apice.
Prova e fammi sapere.
allora, anche qui č bene che spieghi meglio!
per farti l'esempio contreto segui questi passaggi:
1) vai qui ed aggiungi il prodotto al carrello: http://www.lampada-videoproiettore.i...=XR-10S&tipo=5
2) appena visualizzi il carrello fai come se volessi procedere
3) inserisci dei campi a caso come indirizzi di fatturazione/spedizione che contengano il carattere '
4) conferma e poi clicca su modifica indirizzi (come se volessi tornare indietro)
noti che nei campi dov'era presente l'apice, č stato aggiunto il campo \
come posso risolvere? grazie!
Quando leggi un file elaborato con gli "escape" (come nel tuo caso) dopo devi utilizzare la funzione:
sulla stringa che intendi visualizzare.codice:string stripslashes ( string $str )
Brutta abitudine quella di inserire a database l'escape dell'apice.
L'inserimento dei dati, dopo aver aperto la connessione, fallo con:
In questo modo i dati vengono inseriti "puliti" e non hai bisogno di filtrarli quando li richiami e stampi a video.Codice PHP:
apri la connesisne al db...
$campo1 = mysql_real_escape_string($_POST["campo1"]);
$query = "INSERT INTO...
intendi per inserire il dato dentro la casella di testo dove all'interno viene visualizzata?Originariamente inviato da Corwin86
Quando leggi un file elaborato con gli "escape" (come nel tuo caso) dopo devi utilizzare la funzione:
sulla stringa che intendi visualizzare.codice:string stripslashes ( string $str )
questa funziona cosa fā esattamente? eliminando gli escape non si rischia di inserire un valore "pericoloso" nel database?
cioč io non capisco se č meglio:Originariamente inviato da Dirk Pitt
Brutta abitudine quella di inserire a database l'escape dell'apice.
L'inserimento dei dati, dopo aver aperto la connessione, fallo con:
In questo modo i dati vengono inseriti "puliti" e non hai bisogno di filtrarli quando li richiami e stampi a video.Codice PHP:
apri la connesisne al db...
$campo1 = mysql_real_escape_string($_POST["campo1"]);
$query = "INSERT INTO...
- inserire nel database i dati con l'escape e fare in modo che quando il dato viene richiamato per essere visualizzato dentro la casella di testo, viene eliminato l'escape (solo per essere visualizzato). in questo caso poi, nel caso in cui fosse modificata la casella di testo per aggiornare il valore sul database, devo usare una funzione per rimettere l'escape nel db
- non inserire alcun escape nč in scrittura, nč in lettura sul db
Inserisci il dato pulito (ovvero filtrato dalla funzione che ti ho consigliato), richiami il dato pulito nella casella di testo. Quando fai l'update, filtri nuovamente il nuovo valore del campo con la stessa funzione di cui sopra.