Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    91

    Problema apici/apostrofo in form php con mysql

    Ciao a tutti,
    una domanda veloce...ho un problema stupido con un form che però mi potrebbe generare parecchi problemi nella pratica. E' normale che non mi accetti gli apostrofi???:S

    In pratica il mio sistema funziona tutto correttamente senza alcun problema...tranne nel caso in cui un utente immetta un apostrofo, il che sarebbe decisamente da evitare perchè l' ipotetico sig. D'Elia non potrebbe iscriversi. In fase di "carrello" ho una tabella mysql di appoggio che funziona egregiamente e accetta anche il sig. D'Elia nel campo cognome. All'atto dell'invio tutta la tabella viene copiata in quella definitiva. Questa operazione funziona se l'utente di chiama ad esempio "Rossi"..con "D'Elia" non ne vuole sapere...!! Secondo me può dipendere da questo, l'istruzione (a parte i nomi della variabili bruttissimi e il fatto che ho scoperto l'esistenza di mysql_fetch_assoc in seguito) è:


    //Seleziono tutti i valori contenuti della tabella di'appoggio "cliente" della sessione attuale e li metto nella tabella definitiva
    $query9 = "select * from temp.cliente where idSessione = '$PHPSESSID'";
    $query_exec9 = mysql_query ($query9);
    while ($riga18 = mysql_fetch_array($query_exec9)){
    if ($riga18[0]!=''){ // Se il cliente esiste (in $riga18[0] c'è l'id cliente)
    $query22 = "insert into sql98237_1.cliente (cognome, nome, cellulare, email)
    values ('$riga18[1]', '$riga18[2]', '$riga18[3]','$riga18[4]')";
    $query_exec22 = mysql_query ($query22);
    }
    }

    Ribadisco che per un cognome "normale" funziona perfettamente, quindi suppongo che il problema risieda proprio nell'uso dell'apostrofo. Temo che accada una cosa di questo tipo: se $riga18[1] contiente il valore D'elia non è che lui mi interpreta l'apostrofo di D'Elia come la chiusura della stringa '$riga18[1]' dando origine a una cosa tipo 'D' Elia' e facendo fallire la query?? O sbaglio? Se fosse così come posso dirgli a priori che tutti gli apostrofi inseriti nei moduli non devono essere interpretati come codice? Oppure il problema è da un'altra parte?
    Grazie per eventuali aiuti/suggerimenti!!

  2. #2
    $query22 devi scriverla con la funzione ADDSLASHES che aggiunge dove necessita lo slash crea quindi una sequenza di escape visualizzando " coem qualsiasi altro carattere:

    Codice PHP:
    $query22 "insert into sql98237_1.cliente (cognome, nome, cellulare, email)
    values ('"
    .addslashes($riga18[1])."', '".addslashes($riga18[2])."', '".addslashes($riga18[3])."','".addslashes($riga18[4])."')"

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    91
    grandissimo...ora provo e ti faccio sapere e nel caso anche un monumento
    GRAZIE MILLE!!!

  4. #4
    il monumento lo voglio alto 30 metri...

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    91
    FUNZIONA, SEI UN GRANDE! Altro che 30 metri...quanti ne vuoi e dove preferisci!!
    Grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.