Salve a tutti,
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, "@");
}
[/php]