[RISOLTO][Mysql] Problema insert valori apostrofati

Discussione in 'MySQL' iniziata da elpirata, 9 Aprile 2019.

  1. elpirata

    elpirata Utente Attivo

    Registrato:
    18 Marzo 2009
    Messaggi:
    213
    Mi Piace Ricevuti:
    7
    Punteggio:
    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

    [​IMG]

    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.
     

    Files Allegati:

  2. elpirata

    elpirata Utente Attivo

    Registrato:
    18 Marzo 2009
    Messaggi:
    213
    Mi Piace Ricevuti:
    7
    Punteggio:
    18
    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
     
Sto caricando...

Condividi questa Pagina