raphaelcohen23
Messages postés7Date d'inscriptionvendredi 10 octobre 2003StatutMembreDernière intervention 3 octobre 2005
-
11 déc. 2004 à 23:39
raphaelcohen23
Messages postés7Date d'inscriptionvendredi 10 octobre 2003StatutMembreDernière intervention 3 octobre 2005
-
12 déc. 2004 à 13:27
J'ai crée un script php pour traiter les donner d'un formulaire en les stockant dans mysql et en les envoyant par mail. Le seul problème est que les données ne sont pas toujours stockées dans mysql. Quelqu'un sait-il où est le problème dans mon code?
Voici la source :
<?php
$nom=$_POST['nom']; //extraction des variables du tableau $_POST
$societe=$_POST['société'];
$adresse=$_POST['adresse'];
$code_postal=$_POST['code_postal'];
$ville=$_POST['ville'];
$bool=isset($_POST['état']);
if ($bool==true) {$etat=$_POST['état'];} //condition pour l'existence de la variable état seulement présente dans le formulaire contactenglish.htm
$pays=$_POST['pays'];
$telephone=$_POST['téléphone'];
$fax=$_POST['fax'];
$email=$_POST['FROM'];
$texte=$_POST['texte'];
$newsletter=$_POST['newsletter'];
//vérification du champ email
if (empty($email) or !ereg("^.+@.+\..+",$email))
{
echo "Veuillez entrer une adresse email valide.\n";
$submit=false;
}
else
{
$submit=true;
}
//mise en forme du message
$message="nom : $nom
société : $societe
adresse : $adresse
code postal : $code_postal
ville : $ville\n";
//condition pour l'affichage de la variable $état
if ($bool==true) $message.= "état : $etat\n";
$message.="pays : $pays
téléphone : $telephone
fax : $fax
email : $email
texte : $texte";
//envoi des résultats par email
if ($submit==true)
{
$to=$_POST['TO'];
$sujet=$_POST['SUBJECT'];
$entete="FROM: $email";
mail($to,$sujet,$message,$entete);
$host="host";
$account="nom dutilisateur";
$password="password";
$dbname="nom de la base de données";
$connect=mysql_connect($host,$account,$password);
$db=mysql_select_db($dbname,$connect);
//insertion dans la base de données table Demande_dinformations
$sql = "INSERT INTO Demande_dinformations (nom,societe,adresse,code_postal,ville,etat,pays,telephone,fax,email,texte) VALUES ('$nom','$societe','$adresse','$code_postal','$ville','$etat','$pays','$telephone','$fax','$email','$texte')";
$result=mysql_query($sql,$connect);
if ($newsletter==true) //inscription à la newsletter table Newsletter
{
$sql = "INSERT INTO Newsletter (email) VALUES ('$email')";
$result=mysql_query($sql,$connect);
}
//déconnexion de la base de données
$disconnect=mysql_close($connect);
$success = $_POST['SUCCESS'];
header ("Location: $success"); //redirection vers la page de confirmation d'envoi
}
?>
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 12 déc. 2004 à 10:09
Salut!
Essaie re remplacer:
$result=mysql_query($sql,$connect);
Par
$result=mysql_query($sql,$connect) or die(mysql_error());
Ca t'affichera l'erreur MySQL... Dis, quand ca enregistre pas, c'est quand un de tes champs contient des ' ?