Visualizzazione risultati 1 fino 5 di 5

Discussione: form senza caratteri speciali

  1. #1
    Guest

    Predefinito form senza caratteri speciali

    ciao a tutti ho cercato un pò ovunque ma senza esito!! in pratica ho notato che mysql mi da errore se trova campi con apici singoli e doppi... in pratica vorrei che i miei form rispondessero die("caratteri speciali non ammessi"); quando trovano nei $_POST o $_GET oltre gli apici anche altri caratteri che solitamente possono creare un errore con mysql :) mi va bene anche una semplice spiegazione senza codice se potete aiutarmi :)

  2. #2
    Guest

    Predefinito

    Se ti aspetti che il campo debba contenere solo numeri fai una condizione, se il dato immesso non è un numero dai errore, lo stesso per sole lettere, o mail.


    Eventualmente vedi anche qui:
    http://php.net/manual/en/function.addslashes.php

    Che puoi utilizzare così:

    Codice PHP:
    if (!get_magic_quotes_gpc()) {
    $var = addslashes($var);
    }

  3. #3
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Quando si ha a che fare con query SQL, è meglio usare la funzione mysqli_real_escape_string.

  4. #4
    Guest

    Lightbulb

    Oppure puoi fare un str_replace() come ho fatto per il mio sito:
    Codice PHP:
    <?php

    # stringa d'esempio che verrà modificata

    $mexarr = "èàìòù'<>";

    $mexarr = str_replace("è","&egrave;",$mexarr);
    $mexarr = str_replace("à","&agrave;",$mexarr);
    $mexarr = str_replace("ì","&igrave;",$mexarr);
    $mexarr = str_replace("ò","&ograve;",$mexarr);
    $mexarr = str_replace("'","codice nella descrizione",$mexarr);
    $mexarr = str_replace("<","&lt;",$mexarr);
    $mexarr = str_replace(">","&gt;",$mexarr);

    # Stampo la stringa modificata

    echo $mexarr;
    ?>
    Dove c'è scritto "codice nella descrizione" devi mettere queste lettere è un file txt perchè se non il forum me lo traduce dall'html.
    Io nel mio sito uso questo mio piccolo script.
    Ciaoooooooooooooooo
    Ultima modifica di flashproducts : 15-07-2011 alle ore 17.38.39

  5. #5
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,246

    Predefinito

    Citazione Originalmente inviato da flashproducts Visualizza messaggio
    Codice PHP:
    <?php
    [...]
    $mexarr = str_replace("è","&egrave;",$mexarr);
    $mexarr = str_replace("à","&agrave;",$mexarr);
    $mexarr = str_replace("ì","&igrave;",$mexarr);
    $mexarr = str_replace("ò","&ograve;",$mexarr);
    $mexarr = str_replace("'","codice nella descrizione",$mexarr);
    $mexarr = str_replace("<","&lt;",$mexarr);
    $mexarr = str_replace(">","&gt;",$mexarr);
    [...]
    ?>
    Dai un'occhiata alla htmlentities()

    Comunque, la migliore soluzione al problema sopra è la mysqli_real_escape_string(), come detto da karl.... è fatta apposta, perché non usarla??

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •