Bouton submit ne fonctionne pas

Résolu
ProgProject Messages postés 81 Statut Membre -  
ProgProject Messages postés 81 Statut Membre -
Bonjour,
je suis un jeune développeur (14 ans) et j'ai un petit problème
je suis entrain de créé un formulaire de mail PHP
Mais le probleme c'est que les 2 bouton ne fonctionne pas alors quel est le probleme
voici mes script:
<div id="contenu"  >
    <br><br><br><center><font  face="Calibri" size="24" id="html1"  >Demander un Site Web</font><br><br><br><br></center>
    <table width="566" border="0" align="center">
     <tr>
      <td align="center"><input placeholder=" Nom, Prénom" type="text"></td>
     </tr>
     <tr>
      <td align="center"><input placeholder=" URL du Site avec Sous-Domaine" name="champ2" type="text"></td>
     </tr>
     <tr>
      <td align="center"><font style="color:black" face="Verdana" size="3"><b>Domaine  ou  Sous-Domaine</b></font></td>
     </tr>
     <tr>
      <td align="center"><INPUT class="2" type="radio" name="champ3" value="Domaine">
      <INPUT class="2" type="radio" name="champ3" value="Sous-Domaine"></td>
     </tr>
     <tr>
      <td align="center"><input placeholder=" Adresse Mail" name="zone_email" type="text"></td>
     </tr>
     <tr>
      <td align="center"><textarea placeholder=" Contenu du Mail" name="zone_texte" cols="50" rows="5"></textarea></td>
     </tr>
     <tr>
      <td align="center">
       <input type="reset" name="Reset" value="Effacer">          
       <input type="submit" name="envoi" value="Envoyer">
      </td>
      <td valign="top">
       <input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="3">
       <input name="nbre_zones_texte" type="hidden" value="1">
       <input name="nbre_zone_email" type="hidden" value="1">
       <input name="titre_champ1" type="hidden" value="Nom">
       <input name="titre_champ2" type="hidden" value="URL du Site avec Sous-Domaine">
       <input name="titre_champ3" type="hidden" value="URL du Site avec Domaine (Payant)">
       <input name="titre_email" type="hidden" value="E-Mail">
       <input name="titre_zone" type="hidden" value="Message">
      </td>
      
     </tr>
    </table>

php
<?php

$email_dest = "html42@outlook.fr";

if ($_POST['envoi']) {

$headers ="MIME-Version: 1.0 \n";
$headers .="From: Html 42<Demande@Html42.fr>\n";


$headers .="Content-Type: text/html; charset=utf-8 \n";

$subject = "Demande Html 42";

$partie_entete = "<html><head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body bgcolor=#FFFFFF>";

for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
$partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>";
}

if ($_POST['nbre_zone_email'] != 0) {
$partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
}

if ($_POST['nbre_zones_texte'] != 0) {
$partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
$partie_zone_texte = stripslashes($partie_zone_texte);
}

$fin = "</body></html>";

$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;


if (@!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} else { 


else echo"<font color='green'>Le Mail a bien été envoyer</font>"; 
exit();

}
} 
?>

et javascript
function verifSelection() {if (mail_form.champ1.value == "") {
 alert("Veuillez Saisir Le Nom, Prénom")
 return false
} 
if (mail_form.champ2.value == "") {
 alert("Veuillez Saisir Le Prénom")
 return false
} 
if (mail_form.champ3.value == "") {
 alert("Veuillez Saisir Le Sujet Du Mail")
 return false
} 
if (mail_form.zone_email.value == "") {
 alert("Veuillez Saisir Le E-Mail")
 return false
}

invalidChars = " /:,;'"

for (i=0; i<invalidChars.length; i++) { 
 badChar = invalidChars.charAt(i)
 if (mail_form.zone_email.value.indexOf(badChar,0) > -1) {
  alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
  mail_form.zone_email.focus()
  return false
 }
}

atPos = mail_form.zone_email.value.indexOf("@",1)   
if (atPos == -1) {
 alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
 mail_form.zone_email.focus()
 return false
}

if (mail_form.zone_email.value.indexOf("@",atPos+1) != -1) { 
 alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.')
 mail_form.zone_email.focus()
 return false
}


periodPos = mail_form.zone_email.value.indexOf(".",atPos)

if (periodPos == -1) {     
 alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
 mail_form.zone_email.focus()
 return false
}

if (periodPos+3 > mail_form.zone_email.value.length) {  
 alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
 mail_form.zone_email.focus()
 return false
}
if (mail_form.zone_texte.value == "") {
 alert("Veuillez Saisir Le Message")
 return false
} }

3 réponses

  1. douarfyduck Messages postés 85 Date d'inscription   Statut Membre Dernière intervention   24
     
    Bonjour,

    C'est peut être une erreur de ma part mais je ne vois pas de balise <form> dans ton code qui te permettrait d'appeler ta page PHP de traitement des donnés.
    N'hésite pas si tu as d'autres questions .
    Bon courage
    1
    1. ProgProject Messages postés 81 Statut Membre 2
       
      bonjour j'ai deja sa dans mon code html (je ne lai pas mis dans mon morceau de code en haut : <?php include("site.php"); ?>
      0
  2. douarfyduck Messages postés 85 Date d'inscription   Statut Membre Dernière intervention   24
     
    Je ne suis pas sur de comprendre l'architecture de tes scripts. Tu as un formulaire HTML avec un submit , une page de traitement des données et un script JavaScript. Mais quel est la page site.php que tu inclues ?
    0
    1. ProgProject Messages postés 81 Statut Membre 2
       
      j'inclue <?php include("site.php"); ?> dans ma page html
      0
    2. douarfyduck Messages postés 85 Date d'inscription   Statut Membre Dernière intervention   24
       
      D'accord mais ton bouton doit se situer entre tes balises <form>
      0
    3. ProgProject Messages postés 81 Statut Membre 2
       
      oki mais c'est <form action="site.php" method="post"> ou <form action="site.php" method="action"> (mais les deux m'ouvre ma page php)
      0
  3. ProgProject Messages postés 81 Statut Membre 2
     
    voici mes script entier
    html
    <!DOCTYPE html>
    <html>
    		<head>
    			<title>Html42</title>
    			<meta charset="utf-8"/>
    			<?php include('site.php'); ?>
    			<link rel="stylesheet" href="site.css" />
    			<script type="text/javascript" src="site.js"></script>
    			<link rel="stylesheet" href="style.css" />
    			<link rel="stylesheet" href="index_files/mbcsmbmcp.css" type="text/css" />
    			<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto+Condensed:bold">
    			<link rel="icon" type="image/x-icon" href="IMG/LOGO1.gif" />
    		</head>
    		<body>
    
    			<div  id="entete">
    				<a name="haut"></a>
    				<center><a href="index.html"><IMG  src="IMG/LOGO1.gif"></a></center> 
    			<br><div id="mbmcpebul_wrapper">
    				<ul id="mbmcpebul_table" class="mbmcpebul_menulist css_menu">
    					<li><div class="buttonbg" style="width: 88px;"><a>Home</a></div></li>
    					<li><div class="arrow buttonbg" style="width: 130px;"><a class="button_2">Products</a></div>
    				<ul>
    					<li><a title="">Menu Item</a></li>
    					<li><a title="">Another Menu Item</a></li>
    					<li><a title="">Yet Another</a></li>
    				</ul></li>
    					<li><div class="buttonbg"><a>Support</a></div></li>
    				</ul>
    			</div>
    
    				<script type="text/javascript" src="index_files/mbjsmbmcp.js"></script>
    
    			</div>
    
    			<div id="main">
    
    
    			<div id="contenu"  >
    				<br><br><br><center><font  face="Calibri" size="24" id="html1"  >Demander un Site Web</font><br><br><br><br></center>
    				<table width="566" border="0" align="center">
    					<tr>
    						<td align="center"><input  placeholder=" Nom, Prénom" type="text"></td>
    					</tr>
    					<tr>
    						<td align="center"><input  placeholder=" URL du Site avec Sous-Domaine" name="champ2" type="text"></td>
    					</tr>
    					<tr>
    						<td align="center"><font style="color:black" face="Verdana" size="3"><b>Domaine  ou  Sous-Domaine</b></font></td>
    					</tr>
    					<tr>
    						<td align="center"><INPUT id="site" type="radio" name="champ3" value="Domaine">
    						<INPUT id="site" type="radio" name="champ3" value="Sous-Domaine"></td>
    					</tr>
    					<tr>
    						<td align="center"><input  placeholder=" Adresse Mail" name="zone_email" type="text"></td>
    					</tr>
    					<tr>
    						<td align="center"><textarea  placeholder=" Contenu du Mail" name="zone_texte" cols="50" rows="5"></textarea></td>
    					</tr>
    					<tr>
    						<td align="center">
    							<input onClick="document.forms.f.reset()"  type="submit" name="Reset" value="Effacer">          
    							<input  type="submit" name="envoi" value="Envoyer">
    						</td>
    						<td valign="top">
    							<input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="3">
    							<input name="nbre_zones_texte" type="hidden" value="1">
    							<input name="nbre_zone_email" type="hidden" value="1">
    							<input name="titre_champ1" type="hidden" value="Nom">
    							<input name="titre_champ2" type="hidden" value="URL du Site avec Sous-Domaine">
    							<input name="titre_champ3" type="hidden" value="URL du Site avec Domaine (Payant)">
    							<input name="titre_email" type="hidden" value="E-Mail">
    							<input name="titre_zone" type="hidden" value="Message">
    						</td>
    						
    					</tr>
    				</table>
    			</div>
    
    
    			<div id="footer"  style="width: 33%">
    
    				<br><br><br><font  face="Calibri" size="5"  ><a style="color:white" >À PROPOS:</a></font>
    				<br><br><font face="Calibri" size="4"  ><a href="quisommesnous.html">Qui sommes-nous ?</a></font>
    				<br><font face="Calibri" size="4"  ><a href="avis.html" >Avis des utilisateurs</a></font>
    				<br><font face="Calibri" size="4" ><a  href="principe.html" >Le Principe de Html42 </a></font>
    				<br><font face="Calibri" size="4" ><a  ></a></font>
    				<br><font face="Calibri" size="4" ><a  href="#"  ></a></font>
    				<br><br><br><br><font face="Calibri" size="2" ><a href="https://www.facebook.com/pages/Html42/279757788872331?ref=hl">Html42</a>
    				 <a style="color:white" >, 2014-2015</a></a></font></font>
    				<br><br><br>
    			</div>
    
    			<div id="footer2" style="width: 34%">
    
    				<br><br><br><font  face="Calibri" size="5" ><a style="color:white" >LIENS UTILES:</a></font>
    				<br><br><font face="Calibri" size="4" ><a  href="#"  >Tous Les Cours</a></font>
    				<br><font face="Calibri" size="4" ><a  href="#"  >Toutes Les Astuces</a></font>
    				<br><font face="Calibri" size="4" ><a  href="#"  >Tous Les Scripts</a></font>
    				<br><font face="Calibri" size="4"  ><a  href="fond.html"  >Fonds D'Écrans</a></font>
    				<br><font face="Calibri" size="4"  ><a  href="archive.html"  >Archive Html42</a></font>
    
    				<br><font face="Calibri" size="2" ><a  href="#"  ></a></font>
    				<br><br><br><br><br><br>
    			</div>
    
    			<div id="footer3" style="width: 33% ">
    
    				<br><br><br><font  face="Calibri" size="5"  ><a style="color:white" >NOUS CONTACTEZ:</a></font>
    				<br><br><font  face="Calibri" size="4"  ><a href="https://www.facebook.com/pages/Html42/279757788872331?ref=hl" >Suivez-Nous </a></font>
    				<br><font face="Calibri" size="4" ><a  href="mail.html"  >Envoyer Un E-Mail</a></font>
    				<br><font face="Calibri" size="4" ><a style="color:white"    >Demander Un Site Web</a></font>
    				<br><font face="Calibri" size="4" ><a  href="#"  ></a></font>
    				<br><font face="Calibri" size="4" ><a  href="#"  ></a></font>
    				<br><br><br><br><br><br><br>
    			</div>
    	</body>		
    </html>

    js
    function verifSelection() {if (mail_form.champ1.value == "") {
    	alert("Veuillez Saisir Le Nom, Prénom")
    	return false
    } 
    if (mail_form.champ2.value == "") {
    	alert("Veuillez Saisir l'Url du Site voulu")
    	return false
    } 
    if (mail_form.zone_email.value == "") {
    	alert("Veuillez Saisir Le E-Mail")
    	return false
    }
    
    invalidChars = " /:,;'"
    
    for (i=0; i<invalidChars.length; i++) {	
    	badChar = invalidChars.charAt(i)
    	if (mail_form.zone_email.value.indexOf(badChar,0) > -1) {
    		alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
    		mail_form.zone_email.focus()
    		return false
    	}
    }
    
    atPos = mail_form.zone_email.value.indexOf("@",1)			
    if (atPos == -1) {
    	alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
    	mail_form.zone_email.focus()
    	return false
    }
    
    if (mail_form.zone_email.value.indexOf("@",atPos+1) != -1) {	
    	alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.')
    	mail_form.zone_email.focus()
    	return false
    }
    
    
    periodPos = mail_form.zone_email.value.indexOf(".",atPos)
    
    if (periodPos == -1) {					
    	alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
    	mail_form.zone_email.focus()
    	return false
    }
    
    if (periodPos+3 > mail_form.zone_email.value.length)	{		
    	alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
    	mail_form.zone_email.focus()
    	return false
    }
    if (mail_form.zone_texte.value == "") {
    	alert("Veuillez Saisir Le Message")
    	return false
    } } 
    

    php
    
    <?php
    
    $email_dest = "html42@outlook.fr";
    
    if ($_POST['envoi']) {
    
    $headers ="MIME-Version: 1.0 \n";
    
    $headers .="From: Html 42<Demande@Html42.fr>\n";
    
    $headers .="Content-Type: text/html; charset=utf-8 \n";
    
    $subject = "Html42 - Demande";
    
    $partie_entete = "<html><head>
    <meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
    </head>
    <body bgcolor=#FFFFFF>";
    
    for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
    $partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>";
    }
    
    if ($_POST['nbre_zone_email'] != 0) {
    $partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
    }
    
    if ($_POST['nbre_zones_texte'] != 0) {
    $partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
    $partie_zone_texte = stripslashes($partie_zone_texte);
    }
    
    $choixDomaineSousDomaine = isset($_POST['champ3'])?$_POST['champ3'] :NULL;
    $url =  ($choixDomaineSousDomaine == "Sous-Domaine") ? $_POST['titre_champ2'] : $_POST['titre_champ1'];
    
    $partie_zone_texte .= "<br> URL : ".$url;
    
    $fin = "</body></html>";
    
    $sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;
    
    
    if (@!mail($email_dest,$subject,$sortie,$headers)) {
    echo("Envoi du formulaire impossible");
    } else { 
    header("Location:http://html42.url.ph/merci.html");
     
    exit();
    
    }
    } 
    ?>
    

    css
    <code css>
    #html {
    margin-left: 30px ;
    }
    a:hover {

    color: white;
    }
    a {
    text-decoration: none;
    color: #BDBDBD;
    }
    body{
    background-color:#878787;
    }
    #entete, #menu, #contenu, #footer {

    }
    #entete {
    padding:0 0;
    background-color:#f0f0f0;
    text-align:center;
    border-radius: 40px 40px 0 0px;
    }
    #main {
    max-with:960px;
    margin:auto;
    }

    #contenu {

    height: 500px;
    padding:0px 0;
    margin-left:0px;
    background-color:#f8f8f8;
    }
    #site{
    width:130px;
    }
    input{
    border:2px solid #878787;
    width:250px;
    height: 30px;
    border-radius:5px;
    -webkit-border-radius:5px;
    -moz-border-radius:5px;
    }
    textarea{
    border:2px solid #878787;
    border-radius:5px;
    width: 500px;
    -webkit-border-radius:5px;
    -moz-border-radius:5px;
    }

    #footer {
    border-radius: 0 0 0px 40px;
    padding:0px 0;
    background-color:#1b1d1f;
    float:left;
    text-align:center;
    }
    #footer2{
    border-radius: 0 0 0px 0px;
    padding:0px 0;
    background-color:#1b1d1f;
    float:left;
    text-align:center;
    }
    #footer3{

    border-radius: 0 0 40px 0px;
    padding:0px 0;
    background-color:#1b1d1f;
    float:left;
    text-align:center;

    }
    </css>
    0
    1. douarfyduck Messages postés 85 Date d'inscription   Statut Membre Dernière intervention   24
       
      Tu dois placer ta balise <form action="site.php" method="post"> de manière a englober tout les champs que tu veux envoyer c'est a dire tel quel :
      <tr>
      <form action="site.php" method="post">
            <td align="center">
             <input onClick="document.forms.f.reset()"  type="submit" name="Reset" value="Effacer">          
             <input  type="submit" name="envoi" value="Envoyer">
            </td>
            <td valign="top">
             <input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="3">
             <input name="nbre_zones_texte" type="hidden" value="1">
             <input name="nbre_zone_email" type="hidden" value="1">
             <input name="titre_champ1" type="hidden" value="Nom">
             <input name="titre_champ2" type="hidden" value="URL du Site avec Sous-Domaine">
             <input name="titre_champ3" type="hidden" value="URL du Site avec Domaine (Payant)">
             <input name="titre_email" type="hidden" value="E-Mail">
             <input name="titre_zone" type="hidden" value="Message">
            </td>
            
          </form> </tr>
      
      0
    2. ProgProject Messages postés 81 Statut Membre 2
       
      c'est bon sa fonctionne tres bien
      0
    3. douarfyduck Messages postés 85 Date d'inscription   Statut Membre Dernière intervention   24
       
      Merci peut être ?
      0
    4. ProgProject Messages postés 81 Statut Membre 2
       
      merci
      0