Formulaire de contact aide svp?

linda.zazy Messages postés 318 Statut Membre -  
linda.zazy Messages postés 318 Statut Membre -
Bonjour,
j'ai fais un formulaire html qui envoit les données a une page php puis l'insertion des informations dans la base de données. jusqu'a la tout fonctionne bine mais mon brobleme c que quand je click sur le boutton envoyer le msg de confirmation" le msg a éte bien envoyé s'affiche dans une page vide!! et moi je vx qu'il s'affiche dans la meme page du formulaire html.
svp comment faire?

14 réponses

bissdebrazza Messages postés 2886 Statut Contributeur 712
 
Bonjour!
Utilise le javascript!
0
linda.zazy Messages postés 318 Statut Membre 16
 
je ss "0" ds le java
0
bissdebrazza Messages postés 2886 Statut Contributeur 712
 
donne moi ton code de formulaire et le code pour ajouter dans la base de données.je te monte un truc vite fait!
0
linda.zazy Messages postés 318 Statut Membre 16
 
ok je v te les envoyé com msg privé
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
linda.zazy Messages postés 318 Statut Membre 16
 
voila le code html:
<form name="form1" method="post" action="insert.php">
<table width="300" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="114" id="cordonee">Nom:</td>
<td width="13"> </td>
<td width="273"><input name="nom" type="text" id="nom"></td>
</tr>
<tr>
<td id="cordonee">Prénom:</td>
<td id="cordonee">*</td>
<td><input name="prenom" type="text" id="prenom"></td>
</tr>
<tr>
<td id="cordonee">N° Tél : </td>
<td> </td>
<td><input name="tel" type="text" id="tel"></td>
</tr>
<tr>
<td id="cordonee">Email:</td>
<td> </td>
<td><input name="email" type="text" id="email"></td>
</tr>
<tr>
<td id="cordonee">Sujet:</td>
<td id="cordonee">*</td>
<td><input name="sujet" type="text" id="sujet"></td>
</tr>
<tr>
<td id="cordonee">Message:</td>
<td id="cordonee">*</td>
<td rowspan="3"><textarea name="message" cols="40" rows="8" id="message"></textarea></td>
</tr>
<tr>
<td id="contact"> </td>
<td> </td>
</tr>
<tr>
<td id="contact"> </td>
<td> </td>
</tr>
<tr>
<td id="contact"> </td>
<td> </td>
<td><div align="right">
<input name="valider" type="submit" id="valider" value="Submit">
</div></td>
</tr>
</table>
</form>

et le code php:page: insert.php
<?php
if(isset($_POST['valider'])){
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$tel=$_POST['tel'];
$email=$_POST['email'];
$sujet=$_POST['sujet'];
$message=$_POST['message'];
if(empty($prenom))
{
echo("Le '<b> champ prenom</b>' est vide ! veuillez le remplir");
exit();
} if(empty($email))
{
echo("Le '<b> champ email</b>' est vide ! veuillez le remplir");
exit();
}$point = strpos($email,".");
$aroba = strpos($email,"@");

if($aroba=='')
{
echo "Votre email doit comporter un <b>'@'</b><br/>";
}
elseif($point=='')
{
echo "Votre email doit comporter un <b>point</b><br/>";
}
if(empty($sujet))
{
echo("Le '<b>le champ sujet</b>' est vide ! veuillez le remplir<br/>");
exit();
} if(empty($message))
{
echo("Le '<b>le champ message</b>' est vide ! veuillez le remplir<br/>");
exit();
}
mysql_connect("localhost","root","") or die ('error:' .mysql_error());
mysql_select_db('parc');
$requete="INSERT INTO contact(nom,prenom,tel,email,sujet,message) VALUES('".$nom."','".$prenom."','".$tel."','".$email."','".$sujet."','".$message."')";
mysql_query($requete) or die ("error impossible d'envoyer le message");
echo "Merci"." ".$prenom."<br/>";
echo"Votre message a éte envoyé avec succés! ";
}

?>
0
linda.zazy Messages postés 318 Statut Membre 16
 
ou est tu?
0
bissdebrazza Messages postés 2886 Statut Contributeur 712
 
Salut!
essai ceci et dis moi si ça te convient!

Ta page html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
<script type="text/javascript">
function createXHR(){
	var res=null;
	try{	res = new XMLHttpRequest();}//....
	catch (e) {//IE 6
		try {	res = new ActiveXObject("Msxml2.XMLHTTP");}
		catch (e) { //IE 5
			try {	res = new ActiveXObject("Microsoft.XMLHTTP");}
			catch (e) { res = null;}
		}
	}
	return res;
}



function envoi_mail(){
	
	//on attribue à chaque id les valeurs recupérées
	
	nom = document.getElementById('nom').value; 
	prenom = document.getElementById('prenom').value; 
	tel = document.getElementById('tel').value; 
	email = document.getElementById('email').value;
	sujet = document.getElementById('sujet').value; 
	message = document.getElementById('message').value; 
     //on verifie si tous les champs sont remplis

	if((nom!='')&&(email!='')&&(sujet!='')&&(prenom!='')&&(message!='')&&(tel!='')){
	var page = "insert.php"; 
	var url = "&nom=" + nom + "&prenom=" + prenom + "&tel=" + tel + "&email=" + email + "&sujet=" + sujet + "&message=" + message; 
	oxhr = createXHR();
	oxhr.open("post", page, true);
	oxhr.onreadystatechange = function(){
		if (oxhr.readyState == 4 && oxhr.status == 200){ 	
		var ng =oxhr.responseText;
		//on vide les champs une fois l'insertion effectuée
		
        document.getElementById('nom').value='';
        document.getElementById('prenom').value='';
        document.getElementById('sujet').value='';
		document.getElementById('tel').value='';
		document.getElementById('email').value='';
		document.getElementById('message').value='';
        alert("Message transmis au webmaster!");
		location.reload() ; 
		}
	}	
	oxhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	oxhr.send(url);	}
	else{
	     alert("la saisie de tous les champs est obligatoire.Merci de verifier!");
		
	}


	}
	

</script>
</head>

<body>
<form name="form1" method="post"> 
<table width="300" border="0" align="center" cellpadding="0" cellspacing="0"> 
<tr> 
<td width="114" id="cordonee">Nom:</td> 
<td width="13"> </td> 
<td width="273"><input name="nom" type="text" id="nom"></td> 
</tr> 
<tr> 
<td id="cordonee">Prénom:</td> 
<td id="cordonee">*</td> 
<td><input name="prenom" type="text" id="prenom"></td> 
</tr> 
<tr> 
<td id="cordonee">N° Tél : </td> 
<td> </td> 
<td><input name="tel" type="text" id="tel"></td> 
</tr> 
<tr> 
<td id="cordonee">Email:</td> 
<td> </td> 
<td><input name="email" type="text" id="email"></td> 
</tr> 
<tr> 
<td id="cordonee">Sujet:</td> 
<td id="cordonee">*</td> 
<td><input name="sujet" type="text" id="sujet"></td> 
</tr> 
<tr> 
<td id="cordonee">Message:</td> 
<td id="cordonee">*</td> 
<td rowspan="3"><textarea name="message" cols="40" rows="8" id="message"></textarea></td> 
</tr> 
<tr> 
<td id="contact"> </td> 
<td> </td> 
</tr> 
<tr> 
<td id="contact"> </td> 
<td> </td> 
</tr> 
<tr> 
<td id="contact"> </td> 
<td> </td> 
<td><div align="right"> 
<input name="valider" type="button" id="valider" value="Submit" onclick="envoi_mail()"> 
</div></td> 
</tr> 
</table> 
</form> 

</body>
</html>


et ton fichier php que tu dois appeler insert.php

?php 
$nom=$_POST['nom']; 
$prenom=$_POST['prenom']; 
$tel=$_POST['tel']; 
$email=$_POST['email']; 
$sujet=$_POST['sujet']; 
$message=$_POST['message']; 

mysql_connect("localhost","root","") or die ('error:' .mysql_error()); 
mysql_select_db('parc'); 
$requete="INSERT INTO contact(nom,prenom,tel,email,sujet,message) VALUES('".$nom."','".$prenom."','".$tel."','".$email."','".$sujet."','".$message."')"; 
mysql_query($requete) or die ("error impossible d'envoyer le message"); 

?>

Voila un peu!J'ai pas testé mais si tu as un problème reviens!
0
linda.zazy Messages postés 318 Statut Membre 16
 
bonjour! merci pour le script ça fonctionne, mais pour mon formulaire pas ts les champs sont oblgatoire, et en plus ce script ne vérifie pas si l'émail et just ou non comme je l'ai fait avec php.
0
bissdebrazza Messages postés 2886 Statut Contributeur 712
 
ok!alors tu as deux solutions!Soit on verifie la validité de l'email en javascript(je n'ai jamais trouvé un bon script dessus),soit tu remet ton ancien script de php et tu crée une nouvelle page(remerciement.php) identique à ta page mais tu ajouteras juste ton message de remerciement.
Une fois l'insertion faite,tu fais une redirection vers la nouvelle page!
0
linda.zazy Messages postés 318 Statut Membre 16
 
j'ai pensé a ça, mais 2 cette façons je dupliquerai la taille de la page et c pas bien pr le site?!
mais j'ai trouvé un msg dans un forum qui propose de laisser le (action="") vide du formulaire html et d'inserer le code php dans la meme page! mais ou placer le code exactement j'ai pas réussi a le faire!
0
bissdebrazza Messages postés 2886 Statut Contributeur 712
 
si tu laisse l'action vide,place ton code php en haut de page avant html au début de la page!
0
linda.zazy Messages postés 318 Statut Membre 16
 
dacord je vais éssayé! mais j'en suis sur que le résultat ne sera pas satisfaisant parsque je vx que les msg de confirmations s'affiche au dessous du formulaire.
0
linda.zazy Messages postés 318 Statut Membre 16
 
je l'ai éssayé le msg s'affiche dans la meme page mais il ya un un décalage dans le design!!
0
linda.zazy Messages postés 318 Statut Membre 16
 
please est ce qu il ya klkk1 qui peut m'aider?
0
linda.zazy Messages postés 318 Statut Membre 16
 
slt bissdebrazza je t envoyé un msg privé!!
stp c urgent
0
linda.zazy Messages postés 318 Statut Membre 16
 
bsr!!
svp ton code marche bien mais il ne vérifie pas si le champ email et tél sont correct
et en plus quand je vérifie dans la base de donnés si les informations ont éte bien remplis je trouve dans le champ email la valeur "undefined"

please aidez moi il reste 3jours pour ma soutenance!!
0