[PHP] form con select che non invia dati se con apostrofo

asevenx

Utente Attivo
7 Nov 2009
312
0
16
Salve, ho un problema con le parole apostrofate per una select di un form. Le opzioni vengono prese direttamente dal database (caricate da un altro form), la select funziona correttamente, ma se viene selezionata una parola apostrofata il valore inviato al database viene troncato proprio all'altezza dell'apostrofo. Se ad esempio la scelta è D'Artagnan, nel database troverò solamente D.

In un altro caso ho un input di testo che dovrebbe leggere (in fase di sola lettura) le informazioni provenienti dal database, ma in questo caso ho il problema inverso, nel database trovo D'Artagnan e nella casella ho solo D.

Mentre in altri casi la lettura e l'invio avvengono in modo corretto..

In entrambi i casi ho usato mysqlI_real_escape_string, ho provato anche a sostituire gli apostrofi nel comando di invio con le virgolette, ma niente, ho sempre le parole troncate. Riporto le righe della select:
PHP:
<?php
//prendo i dati inviati dal form
$cavallo = mysqlI_real_escape_string($mysqli_connect, $_POST['cavallo']);
...
//invio i dati al database
  $query = "INSERT INTO $tableAssegnaDiete (id, dieta, cavallo, data, creato_da, azione, ultima_modifica, inizio, fine, note)VALUES ('', '$dieta', '$cavallo', '$date', '$sessionUser', '1', '', '$inizio', '$fine', '$note')";
...
?>
<select name = "cavallo">
           <option value=''></option>
<?php
//gruppo esterno                   
$sql = "SELECT descrizione FROM cavalli ORDER BY descrizione"; //qui estrae correttamente D'Artagnan
            if ($result = mysqli_query($mysqli_connect, $sql))
            {
                     while ($row = mysqli_fetch_array($result))
                    {
?>
                        <option <?php echo "value='$row[0]'";><?php echo "$row[0]"; ?></option>
<?php
                       }
              }
?>           
</select>

Come posso risolvere?
Grazie mille
 

web-image-1947

Nuovo Utente
26 Giu 2016
13
2
3
76
Salve,
hai provato a mettere lo slash ?
esempio D\'Artagnan in fase di inserimento per poi trovarlo nel database ?
 

asevenx

Utente Attivo
7 Nov 2009
312
0
16
Allora in fase di creazione del record nella tabella 'cavalli' se inserisco D\'Artagnan nel database mi ritrovo esattamente D\'Artagnan, e anche nella select lo leggo con lo slash...

Mentre se seleziono D\'Artagnan nella select e invio i dati, nel database mi ritrovo D\
In poche parole lo slash viene trattato come un normale carattere, probabilmente per via della funzione mysqlI_real_escape_string. Se tolgo la funzione ottengo l'errore:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near...
Mentre, se seleziono D'Artagnan senza la funzione, nel database leggo comunque D.
 

web-image-1947

Nuovo Utente
26 Giu 2016
13
2
3
76
Ciao,
effettivamente l'apostrofo viene considerato un carattere da pulire.
Ho effettuato delle prove e anche a me genera lo stesso errore.
Un semplice modo provato (ma ovviamente non so se poi a te va bene...) è quello di unire le due parti della parola/nome/o quello che è con l'underscore es: D'Artagnan scriverlo: D_Artagnan.
Viene inserito e letto in modo corretto.
Se luminari di php che ne sanno certo più di noi hanno una soluzione migliore sono anch'io tutto orecchi.
Buona giornata
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova ad usare addslashes e stripslashes
PHP:
<?php
//....
$cavallo = addslashes($_POST['cavallo']);
//e dove ti serve
//........
?>
        <option value='<?php echo stripslashes($row[0]);?>'><?php echo stripslashes($row[0]); ?></option>
<?php
    }
}
//... eccetera
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
S passare un valore da un form a un file .php con metodo post PHP 4
G Invio form con PHP PHP 3
S [PHP] Recupero nome immagine da Form con input file PHP 3
C [PHP] Form con Inserimento dati dalla maschera e un menù a discesa che prende i dati dal db PHP 1
I [PHP] inviare form con allegato tramite una mail PHP 1
P PHP - Leggere una pagina passata con Form e Captcha PHP 0
alessandra86 [PHP] Popolamento database con form ricorsivi - problema array (foreach ) PHP 5
U [PHP] Form stessa pagina con qualche complicazione PHP 0
S [PHP] form con metodo get e recupero id PHP 4
michela90 [PHP] Refresh page on submit - Form con Swiftmailer PHP 14
G [PHP] FORM INVIO VALORI A QUERY CON TRE CONDIZIONI PHP 2
F [PHP] Validare form prenotazione appuntamento tattoo con upload image PHP 0
S Html con form e action .php PHP 6
bubino8 [PHP] Auto Submit form con dati PHP 7
Matteo Lorenzon [PHP][WORDPRESS] Form in Wordpress, creazione PDF con dati del form ed invio tramite email WordPress 1
zammaeng [PHP] Problema form con lista PHP 8
V [PHP] Form con elenco a tendina con dati DB PHP 20
SimooRu [PHP] Non riesco a far passare i dati con i form PHP 4
S [PHP] Form iscrizione senza DB con comandi deprecated PHP 10
Fuego2806 [PHP] Stampare dati Form su immagine di sfondo con html PHP 70
C [PHP] Upload immagine in un form con target _blank: non funziona PHP 7
M form php con checkbox PHP 4
D form php con chapta PHP 1
P invio mail da form con dati php PHP 7
P PHP mailer invio form con 2 allegati. PHP 3
F controllo form php con restituzione errori nella form PHP 10
S Form invio mail html, con invio tramite file denominato invio.php PHP 8
P Verifica form solo con php senza javascript PHP 15
F Form Multipli con PHP e SQL PHP 0
M Tabella PHP con sorgente dati csv: selezionare le riche e compilare Form eMail PHP 1
elpirata Generazione dinamica righe form con php PHP 2
L come passare il campo allegato dal file html al fiel php per spedirlo con un form PHP 12
S Problema php con form PHP 0
A Pulsante per compilare una form php in automatico con dati presi da un db PHP 6
S Problema con l'invio del form in php PHP 0
P controllo dati form con jquery e php PHP 8
S Form PHP e validazione con ritorno di parametro PHP 0
A problema con un semplice form per un loggin in php PHP 2
C problema invio mail con form php PHP 0
alessandro1997 Form con campi multipli in PHP PHP 5
B Creare form contatti con php PHP 4
M [Cerco retribuito] Form info varie con allegato FLASH + PHP Offerte e Richieste di Lavoro e/o Collaborazione 0
I [PHP]Problema sito con form login in ogni pagina PHP 7
A Form per alimentare un DB con PHP: aiuto!! PHP 17
W [Php - MySql] ricerca con form select diversi PHP 14
A Nascondere gli elementi di un form con php PHP 5
P Problema moduli Form.php con browser diversi PHP 2
SolidSnake4 invio file video con form php PHP 8
T ho un problema con un form in php PHP 1
F ordinare una form con uno script php PHP 2

Discussioni simili