Mon script ne fonctionne pas parfaitement

raphaelcohen23 Messages postés 7 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 3 octobre 2005 - 11 déc. 2004 à 23:39
raphaelcohen23 Messages postés 7 Date d'inscription vendredi 10 octobre 2003 Statut Membre Derniè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
}
?>

2 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
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 ' ?

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
0
raphaelcohen23 Messages postés 7 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 3 octobre 2005
12 déc. 2004 à 13:27
Merci beaucoup. Le problème venait des '.
0
Rejoignez-nous