• User

    Inserimento dati in db mysql da PHP

    Salve a tutti, :mmm:
    il mio grande problema è quello di inserire dei dati ricavati da un form e scriverli in una tabella (clienti) in un db mysql(innodb,colletion ascii_bin)

    • Primo problema se le variabili sono vuote mi da errore: mica devo controllare quali variabili esistono e poi creare la query di conseguenza? assurdo!
    • POi Non mi accetta la @ (chiocciola) - per trasformarla come devo fare? Per i caratteri speciali stavo facendo una sorta di trasformatore in JS, ma non ho ancora testato se funziona!
      al massimo ditemi se è giusto!

    Di seguito il codice

    [php]
    <?php
    //creazione insert
    $insert=sprintf"INSERT INTO cliente
    SET COGNOME=".$_SESSION['cognome'].",
    NOME=".addslashes($_SESSION['nome']).",
    TEL=".addslashes($_SESSION['tel']).",
    TEL_UFF=".addslashes($_SESSION['teluff']).",
    TEL_CELL=".addslashes($_SESSION['telcel']).",
    TEL_ALTRO=".addslashes($_SESSION['telaltro']).",
    FAX=".addslashes($_SESSION['fax']).",
    MAIL1=".addslashes($_SESSION['mail1']).",
    MAIL2=".addslashes($_SESSION['mail2']).",
    NOTE=".addslashes($_SESSION['note']).",
    DATA_INS=".addslashes($_SESSION['data_ins']).";";

    //cambia caratteri speciali
    echo'<script type="text/javascript">change_char($insert);</script>';

    //inserimento in db
    $conn=mysql_connect($host,$login,$passwd) or die("connessione non riuscita");
    mysql_select_db($dbconn,$conn)or die("Connesione DB non riuscuta: ".mysql_error());

    $ris=mysql_query($insert) or die("Query non riuscuta: ".mysql_error()) ;

    if(mysql_affected_rows($conn) > 0)
    echo'<script type="text/javascript">alert("Dati inseriti corretamente");</script>';
    else
    echo'<script type="text/javascript">alert("Errore durante l'inserimento.n Se l'errore persiste contattatare l'amministratore");</script>';
    mysql_close($conn);
    ?>
    [/php]Lo script JS è di seguito mostrato (in tuta franchezza non riesco ancora a testaro in quanto il cod-php mi da errore sulla query

    [php]
    function change_char(stringa)
    {
    stringa = stringa.replace(" "/g, " ");
    stringa = stringa.replace("""/g, """);
    stringa = stringa.replace("'"/g, "&");
    stringa = stringa.replace("&"/g, "&");
    stringa = stringa.replace("<"/g, "<");
    stringa = stringa.replace(">"/g, ">");
    stringa = stringa.replace("?"/g, "€");
    stringa = stringa.replace("..."/g, "…");
    stringa = stringa.replace("à"/g, "à");
    stringa = stringa.replace("@"/g, "&#64");
    }
    [/php] image


  • User Attivo

    Non è la sintassi corretta dell'INSERT..
    INSERT INTO tabella (campo1,campo2) VALUES ($var1,$var2)
    😉


  • User Newbie

    se ti può essere d'aiuto io ho utilizzato e adattato questo script

    http://www.giorgiotave.it/forum/php-mysql/38620-errore-form.html

    funziona magnificamente solo che ora non riesco ad implementarlo correttamente