Problema inserimento dati con apostrofo

BrunaB

Nuovo Utente
3 Gen 2014
1
0
0
Ciao! Sto sviluppando un piccolo database con pagine php per accedere alle informazioni. Ho incontrato un problema nel passaggio di una variabile contenente un apostrofo da una pagina all'altra e volevo chiedere un aiuto.

Nella prima pagina c'è un form da cui si possono selezionare le diverse opzioni. Nella seconda pagina la query che inserisce tutti i campi nel database. Il problema si presenta con il corso "Palestra sull'acqua" perché alla seconda pagina viene passato solamente "Palestra sull". La conseguenza è che sul database viene salvata solamente la stringa "Palestra sull" che ovviamente non va bene.

Ho provato a usare \ prima dell'apostrofo. A usare delle stringhe e usare la funzione mysql_real_escape_string() ma con scarso successo (l'unica cosa che sono riuscita ad ottenere è salvare "Palestra sull\") probabilmente perché non sono molto pratica e potrei aver commesso degli errori.

Vi posto i pezzi di codice incriminati.

Prima pagina con il form
...
print "Corso:";
print "<select required name='corso'>";
print "<option selected value=''></option>";
print "<option value='CAS'>CAS</option>";
print "<option value='Agonismo'>Agonismo</option>";
print "<option value='Palestra sull'acqua'>Palestra sull'acqua</option>";
print "<option value='Uscite libere'>Uscite libere</option>";
print "<option value='Corso adulti 1'>Corso adulti 1</option>";
print "<option value='Corso adulti 2'>Corso adulti 2</option>";
print "<option value='Corso adulti 3'>Corso adulti 3</option>";
print "</select>";
...

Seconda pagina con la query
...
$query="INSERT INTO iscritti(CF,Nome,Cognome,Telefono,DataNascita,Categoria,NomeCorso,NomeSezione)
VALUES('".$_REQUEST["cf"]."','".$_REQUEST["nome"]."','".$_REQUEST["cognome"]."','".$_REQUEST["telefono"]."',
'".$_REQUEST["datanascita"]."','".$_REQUEST["categoria"]."','".$_REQUEST["corso"]."','Canottaggio');";
...

Grazie mille in anticipo!
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
Il tuo problema inizia da qui:
PHP:
print "<option value='Palestra sull'acqua'>Palestra sull'acqua</option>";

Lato html quell'apostrofo interferisce e dal tuo select, se si sceglie quell'opzione, il form invierà sempre e solo la parte in grassetto:
Codice:
<option value='[B]Palestra sull[/B]'acqua'>Palestra sull'acqua</option>

Ti suggerirei di risolvere cambiando i quotes con gli apostrofi e viceversa qui:
PHP:
print '<option value="Palestra sull\'acqua">Palestra sull\'acqua</option>';


Secondariamente l'apostrofo che viene ora inviato dal form può interferire con la query, e quindi qui è il caso di usare un addslashes per evitare ciò:
PHP:
'". addslashes($_REQUEST["corso"]) ."'



A questo punto ti suggerisco fortemente di informarti sull'uso dei prepared statements dal momento che che la tua query è fortemente vulnerabile alle sql injection (bisogna sempre verificare la validità di ogni input che arriva dall'utente).
 
Discussioni simili
Autore Titolo Forum Risposte Data
T Problema inserimento dati in phpmyadmin PHP 2
M Problema inserimento dati in sqlite Sviluppo app per Android 1
M Problema con modulo registrazione e inserimento dati in database PHP 8
EffeElle Php problema su inserimento dati mysql PHP 47
M problema con l'inserimento di dati in un tag input PHP 3
J Problema con inserimento dati tabella PHP 4
G Help - Problema inserimento dati in maschera MySQL 4
G Problema inserimento dati in una maschera Database 0
G problema con inserimento dati PHP 4
F Problema inserimento dati Classic ASP 1
M Problema inserimento parole con apostrofo nel db PHP 5
beatle [Photoshop] problema inserimento immagini Photoshop 1
G inserimento csv in tabella mysql; problema con struttura PHP 11
P [PHP] Problema inserimento nuove chiavi in array PHP 2
giuseppe_123 [WordPress] Problema inserimento widget nel footer WordPress 0
L Problema Inserimento Azioni Su mappa vettoriale Javascript 0
otto9due Problema inserimento ciclo foreach o while in variabile PHP 1
Marcoingrande Problema inserimento testo in <ul> PHP 0
P Problema inserimento controllo su script multiupload... PHP 2
P Problema Inserimento nuovo element database... MySQL 3
radioButton Problema inserimento stringa con apostrofo in database sql Database 21
O [risolto] Inserimento nuovo campo in mysql. Problema PHP 6
Emix Problema query inserimento... PHP 6
N problema inserimento record multipli col tasto f5 PHP 6
P Problema inserimento articolo con piu' tabelle PHP 1
S Problema inserimento nuovo record da form PHP 5
P problema inserimento dato in rubrica PHP 9
Dexter_90 [AIUTO!] Problema Inserimento Menu Fireworks nell'Header WordPress 11
A problema con l'inserimento di valori in una tabella dopo una ricerca da form Classic ASP 1
E Problema inserimento LIKE BOX facebook HTML e CSS 3
B Problema di inserimento "menu con css" in pagina web "con tabelle" HTML e CSS 5
asevenx problema inserimento database nel sito online MySQL 3
asevenx problema con l'inserimento di un record nel database (caratteri non consentiti) PHP 11
T problema inserimento testo attraverso istruzione insert ASP.NET 1
N [PHP/MySQL] Problema inserimento stringhe ' or ', ' and ' PHP 2
A Problema inserimento in puù tabelle Database 1
S problema con inserimento nuovo record PHP 6
A problema inserimento foto PHP 0
F Problema con il modulo inserimento record Classic ASP 1
C problema seo + cerco esperto SEO e Posizionamento 1
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1

Discussioni simili