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!
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!