[RISOLTO][Mysql] Problema insert valori apostrofati

elpirata

Utente Attivo
18 Mar 2009
264
7
18
Un saluto a tutti,
ho un problema con l'inserimento di parole apostrofate all'interno del db mysql, in sostanza quando effettuo l'insert si parole apostrofate con php esse vengono correttamente caricate nel db, ma il problema è che non viene eseguita nessuna sorta di escape pertanto se ad esempio inserisco il nome D'Acunzi nel db viene registrato D\'Acunzi



Questo il codice lato html del campo incriminato:
HTML:
<div class="col-md-4">
              <div class="input-group">
                <span class="input-group-addon"><i class="fa fa-user" aria-hidden="true"></i></span>
                <input type="text" class="form-control" aria-hidden="true" name="cliente" maxlength="30" required="required" placeholder="Nome Cognome Cliente">
              </div>
        </div>

Questo estratto del codice lato PHP:

PHP:
$cliente = filter_input(INPUT_POST, 'cliente', FILTER_SANITIZE_STRING);
$cliente = strtoupper($cliente);

$sq1 = "INSERT INTO appuntamenti (id_app, cliente, gestore, veicolo, data, ora, tlav, stato_pren, tipo_pren, tipo_lavorazione, telefono, email, note) VALUES (NULL, '$cliente', '$gestore', '$veicolo', STR_TO_DATE('$data', '%d/%m/%Y'), '$ora', '$tlav', '$stato_pren', '$tipo_pren', '$tipo_lavorazione', '$telefono','$email', '$note')";

Mi dareste una mano per capire dove sbaglio ?

Specifico anche che se l'utente effettua una modifica post inserimento dall'apposita maschera di modifica quegli slash diventato tanti quanti le modifiche effettuate, per fare un esempio:

Se modifico 3 volte la maschera quello che era D\'Acunzi diventa D\\\'Acunzi

Grazie anticipatamente.
 

Allegati

  • insert_apostropo.png
    insert_apostropo.png
    4,4 KB · Visite: 554
Ho risolto,
lascio ai posteri la soluzione che ho adottato.

Il problema non era nella pagina insert ma nella pagina di modifica, pertanto ho dovuto modificare la parte di codice che modificava il campo cliente in questo modo:

HTML:
<div class="row">
        <div class="col-md-4">
              <div class="input-group">
                <span class="input-group-addon"><i class="fa fa-user" aria-hidden="true"></i></span>
                <input type="text" class="form-control" aria-hidden="true" name="cliente" required="required" placeholder="Nome Cognome Cliente" value="<?= $cliente = str_replace('\\','',$cliente) ; ?>">
              </div>
        </div>

Spero di poter aiutare qualcuno con questa soluzione.

A presto
 

Discussioni simili