erreur forumlaire d'inscription

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : erreur forumlaire d'inscription

Re: erreur forumlaire d'inscription

par stealth35 » 18 juin 2010, 15:34

met les balise [ php][/php] autour de ton code on verra mieux deja,
ensuite met ton niveau d'erreur a E_ALL | E_STRICT et pas a E_ALL & ~E_NOTICE

:wink:

Re: erreur forumlaire d'inscription

par fishes » 18 juin 2010, 11:33

Personne pour m'aider ...?
S'il vous plaît...je ne m'en sors pas !!
Merci beaucoup par avance
Fishes

Re: erreur forumlaire d'inscription

par fishes » 17 juin 2010, 09:40

Et voici le script dans son intégralité (je peut être effacer des choses importantes en voulant simplifier le script ci-dessus....)
Merci encore!






<?php

// On vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i", "$desactive") == 0) {
// Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
}

// Vérifier que le formulaire a été envoyé...
if (isset($_POST['envoi'])) {


//On commence une session pour enregistrer les variables du formulaire...

session_start();

$_SESSION['champ1'] = $_POST['champ1'];
$_SESSION['champ2'] = $_POST['champ2'];
$_SESSION['zone_email1'] = $_POST['zone_email1'];
$_SESSION['zone_email2'] = $_POST['zone_email2'];

//Enregistrement des paramètres de la case 1...
$_SESSION['case1_'][0] = "";
if (isset($_POST['case1_'][0])) {
$_SESSION['case1_'][0] = $_POST['case1_'][0];
} // Fin du if...


//Enregistrement des paramètres de la case 2...
$_SESSION['case2_'][0] = "";
if (isset($_POST['case2_'][0])) {
$_SESSION['case2_'][0] = $_POST['case2_'][0];
} // Fin du if...

$_SESSION['case2_'][1] = "";
if (isset($_POST['case2_'][1])) {
$_SESSION['case2_'][1] = $_POST['case2_'][1];
} // Fin du if...

//Enregistrement des paramètres de la case 3...
$_SESSION['case3_'][0] = "";
if (isset($_POST['case3_'][0])) {
$_SESSION['case3_'][0] = $_POST['case3_'][0];
} // Fin du if...

$_SESSION['case3_'][1] = "";
if (isset($_POST['case3_'][1])) {
$_SESSION['case3_'][1] = $_POST['case3_'][1];
} // Fin du if...

// Définir l\'icone apparaissant en cas d\'erreur...


// Définir sur 0 pour afficher un petit x de couleur rouge.
// Définir sur 1 pour afficher l\'image d\'une croix rouge telle que celle utilisée dans l\'assistant
// Si vous utilisez l\'option 1, l\'image de la croix rouge \'icone.gif\' doit se trouver dans le répertoire \'images\',
// ce dernier devant se trouver au même niveau que votre formulaire...
$flag_icone = 0;

// On vérifie si $flag_icone est défini sur 0 ou 1...
if ($flag_icone == 0) {
$icone = "<b><font size=\"3\" face=\"Arial, Verdana, Helvetica, sans-serif\" color=\"#CC0000\">x</font></b>";
} else {
$icone = "<img src=\"images/icone.gif\"";
}

// Définir l'indicateur d'erreur sur zéro...
$flag_erreur = 0;
// N'envoyer le formulaire que s'il n'y a pas d'erreurs...
if ($flag_erreur == 0) {

// Addresse de réception du formulaire
$email_dest = "[email protected]";
$sujet = "Nouvelle boutique";
$entetes ="MIME-Version: 1.0 \n";
$entetes .="From: xxxxxxxxxx.fr<[email protected]>\n";
$entetes .="Return-Path: xxxxxxxxxx.fr<[email protected]>\n";
$entetes .="Reply-To: xxxxxxxxxx.fr<[email protected]>\n";
$entetes .="Content-Type: text/html; charset=iso-8859-1 \n";
$partie_entete = "<html>\n<head>\n<title>Formulaire</title>\n<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>\n</head>\n<body bgcolor=#FFFFFF>\n";


//Partie HTML de l'e-mail...
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre nom = " . $_SESSION['champ1'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre prénom = " . $_SESSION['champ2'] . "</font><br>\n";
$partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre adresse email = " . $_SESSION['zone_email1'] . "</font><br>\n";
$partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Adresse email de votre parrain (facultatif) (1) = " . $_SESSION['zone_email2'] . "</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">J\'ai lu et j\'accepte les conditions générales d\'utilisation (2)</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Case 1 = " . $_SESSION['case1_'][0] . "</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Je souhaite recevoir la newsletter</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Case 1 = " . $_SESSION['case2_'][0] . "</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Case 2 = " . $_SESSION['case2_'][1] . "</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Je souhjaite recevoir les offres de la part des partenaires</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Case 1 = " . $_SESSION['case3_'][0] . "</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Case 2 = " . $_SESSION['case3_'][1] . "</font><br>\n";


// Fin du message HTML
$fin = "</body></html>\n\n";

$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_listes . $partie_boutons . $partie_cases . $partie_zone_texte . $fin;


// Send the e-mail
if (@!mail($email_dest,$sujet,$sortie,$entetes)) {
echo("Envoi du formulaire impossible");
exit();
} else {

// Rediriger vers la page de remerciement
header("Location:http://www.xxxxxxxxxxxxxxxxxxxx.fr/reme ... ption.html");
exit();
} // Fin else
} // Fin du if ($flag_erreur == 0) {
} // Fin de if POST
?>
<html>

<head>
<title>Formulaire</title><script language="JavaScript">


function verifSelection() {


if (document.mail_form.champ1.value == "") {
alert("Veuillez préciser votre nom")
return false
}

if (document.mail_form.champ2.value == "") {
alert("Veuillez préciser votre prénom")
return false
}

if (document.mail_form.zone_email1.value == "") {
alert("Veuillez préciser votre adresse email")
return false
}

invalidChars = " /:,;'"

for (i=0; i < invalidChars.length; i++) { // does it contain any invalid characters?
badChar = invalidChars.charAt(i)

if (document.mail_form.zone_email1.value.indexOf(badChar,0) > -1) {
alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
document.mail_form.zone_email1.focus()
return false
}
}

atPos = document.mail_form.zone_email1.value.indexOf("@",1) // there must be one "@" symbol
if (atPos == -1) {
alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
document.mail_form.zone_email1.focus()
return false
}

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

periodPos = document.mail_form.zone_email1.value.indexOf(".",atPos)

if (periodPos == -1) { // and at least one "." after the "@"
alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
document.mail_form.zone_email1.focus()
return false
}

if (periodPos+3 > document.mail_form.zone_email1.value.length) { // must be at least 2 characters after the
alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
document.mail_form.zone_email1.focus()
return false
}

nbrecases1 = document.mail_form.case1_.length

flag = 0

for (i = 0; i < nbrecases1 ; i++) {

if (document.mail_form.case1_.checked) {

flag = 1

}

}


if (flag == 0) {

alert("Vous devez avoir lu et accepter les conditions générales d\'utilisation")
return false;
}


} // Fin de la fonction
</script>
</head><body><form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
<div align="center"></div>
<font size="-1" face="Arial, Helvetica, sans-serif"><br>
</font>
<table align="center" width="566" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="16"><div align="center">
<font color="#CC0000" size="-1" face="Arial, Helvetica, sans-serif"><strong>
<?php
if ($erreur_champ1) {
echo(stripslashes($erreur_champ1));
} else {
if ($erreur_champ2) {
echo(stripslashes($erreur_champ2));
} else {
if ($erreur_email1) {
echo(stripslashes($erreur_email1));
} else {
if ($erreur_email2) {
echo(stripslashes($erreur_email2));
} else {
if ($erreur_case1) {
echo(stripslashes($erreur_case1));
} else {
if ($erreur_case2) {
echo(stripslashes($erreur_case2));
} else {
if ($erreur_case3) {
echo(stripslashes($erreur_case3));
} else {
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
?>
</strong></font>
</div></td>
</tr>
</table>
<p align="center"></p><table width="566" border="0" align="center"><tr>
<td width="240"><div align="left"><font face="Arial, Helvetica, sans-serif" size="3">Votre nom </font>*</div></td>
<td align="center" valign="middle" width="30">
<font size="-1" face="Arial, Helvetica, sans-serif">
<?php
if ($erreur_champ1) {
echo($icone);
}
?>
</font></td>
<td><font size="-1" face="Arial, Helvetica, sans-serif">
<input name="champ1" type="text" value="<?=stripslashes($_SESSION['champ1']);?>">
</font></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="240"><div align="left"><font face="Arial, Helvetica, sans-serif" size="3">Votre prénom</font> *</div></td>
<td align="center" valign="middle" width="30">
<font size="-1" face="Arial, Helvetica, sans-serif">
<?php
if ($erreur_champ2) {
echo($icone);
}
?>
</font></td>
<td><font size="-1" face="Arial, Helvetica, sans-serif">
<input name="champ2" type="text" value="<?=stripslashes($_SESSION['champ2']);?>">
</font></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="240"><div align="left"><font face="Arial, Helvetica, sans-serif" size="3">Votre adresse email</font> *</div></td>
<td width="30" align="center" valign="middle">
<font size="-1" face="Arial, Helvetica, sans-serif">
<?php
if ($erreur_email1) {
echo($icone);
}
?>
</font></td>
<td><font size="-1" face="Arial, Helvetica, sans-serif">
<input name="zone_email1" type="text" value="<?=stripslashes($_SESSION['zone_email1']);?>">
</font></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="240"><div align="left"><font face="Arial, Helvetica, sans-serif" size="3">Adresse email de votre parrain (1)</font></div></td>
<td width="30" align="center" valign="middle">
<font size="-1" face="Arial, Helvetica, sans-serif">
<?php
if ($erreur_email2) {
echo($icone);
}
?>
</font></td>
<td><font size="-1" face="Arial, Helvetica, sans-serif">
<input name="zone_email2" type="text" value="<?=stripslashes($_SESSION['zone_email2']);?>">
</font></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="240"><div align="left"><font face="Arial, Helvetica, sans-serif" size="3">J'ai lu et j'accepte les conditions générales d'utilisation (2)</font> * </div></td>
<td width="30" align="center" valign="middle">
<font size="-1" face="Arial, Helvetica, sans-serif">
<?php
if ($erreur_case1) {
echo($icone);
}
?>
</font></td>
<td><font size="-1" face="Arial, Helvetica, sans-serif">
<input type="checkbox" name="case1_[0]" id="case1_" value="oui"<?php
if ($_SESSION['case1_'][0] == "oui") {
echo(" checked");
}
?>>
</font></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="240"><div align="left"><font face="Arial, Helvetica, sans-serif" size="3">Je souhaite recevoir la newsletter</font></div></td>
<td width="30" align="center" valign="middle">
<font size="-1" face="Arial, Helvetica, sans-serif">
<?php
if ($erreur_case2) {
echo($icone);
}
?>
</font></td>
<td><font size="-1" face="Arial, Helvetica, sans-serif">
<input name="case2_[0]" type="checkbox" id="case2_" value="oui" checked checked<?php
if ($_SESSION['case2_'][0] == "oui") {
echo(" checked");
}
?>>
</font></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="240"><div align="left"><font face="Arial, Helvetica, sans-serif" size="3">Je souhaite recevoir les offres des partenaires</font></div></td>
<td width="30" align="center" valign="middle">
<font size="-1" face="Arial, Helvetica, sans-serif">
<?php
if ($erreur_case3) {
echo($icone);
}
?>
</font></td>
<td><font size="-1" face="Arial, Helvetica, sans-serif">
<input name="case3_[0]" type="checkbox" id="case3_" value="oui" checked checked<?php
if ($_SESSION['case3_'][0] == "oui") {
echo(" checked");
}
?>>
</font></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td valign="top"><div align="center">
<p>&nbsp;</p>
<p><font size="-1" face="Arial, Helvetica, sans-serif">
<input type="submit" name="envoi" value="Envoyer le formulaire d'inscription">
</font></p>
</div></td></tr></table><div align="center"><font size="-1" face="Arial, Helvetica, sans-serif">
<input name="nbre_fichiers" type="hidden" id="nbre_fichiers" value="">
</font></div></form>
</body></html>

erreur forumlaire d'inscription

par fishes » 17 juin 2010, 09:38

Bonjour,
J'ai soucis avec mon formulaire, qui devrait faire sourire certains pro ! n'empêche que je ne trouve pas l'erreur....elle est peut être bien cachée!!
Mon formulaire d'inscription fonction très bien, à l'exception du champ "J'ai lu et j'accepte les conditions générales". Ce champ est accompagné d'une case à cocher. Le message d'erreur si la case n'est pas cochée: Vous devez avoir lu et accepter les conditions générales d'utilisations".

En effet, lorsque la case n'est pas coché, le message d'erreur apparait.

Mon problème est le suivant: lorsque la case est coché, le message d'erreur apparait également! A en devenir fou.....
Une erreur s'est glissée dans mon script, si certain d'entre vous la décèle, merci de m'en faire part:
(Note: j'ai simplifier le script à uniquement cette case qui ne fonctionne pas pour en faciliter la lisibilité. Je vous post juste dessous le script dans son intégralité).
Merci vivement par avance de votre aide!!

Fishes




<?php


$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i", "$desactive") == 0) {
ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
}

if (isset($_POST['envoi'])) {


session_start();


//Enregistrement des paramètres de la case 1...>>> C'est celle ci qui ne fonctionne pas!!!! J'ai supprimé les autres cases (sauf une) qui foncitonnent très bien our vous faciliter la visibilité....
$_SESSION['case1_'][0] = "";
if (isset($_POST['case1_'][0])) {
$_SESSION['case1_'][0] = $_POST['case1_'][0];
} // Fin du if...


//Enregistrement des paramètres de la case 2...>>>>> j'ai laissé cette case quand même....mais celle ci foncitonne très bien
$_SESSION['case2_'][0] = "";
if (isset($_POST['case2_'][0])) {
$_SESSION['case2_'][0] = $_POST['case2_'][0];
} // Fin du if...

$_SESSION['case2_'][1] = "";
if (isset($_POST['case2_'][1])) {
$_SESSION['case2_'][1] = $_POST['case2_'][1];
} // Fin du if...


$flag_icone = 0;

if ($flag_icone == 0) {
$icone = "<b><font size=\"3\" face=\"Arial, Verdana, Helvetica, sans-serif\" color=\"#CC0000\">x</font></b>";
} else {
$icone = "<img src=\"images/icone.gif\"";
}


?>
<html>

<head>

nbrecases1 = document.mail_form.case1_.length

flag = 0

for (i = 0; i < nbrecases1 ; i++) {

if (document.mail_form.case1_.checked) {

flag = 1

}

}


if (flag == 0) {

alert("Vous devez avoir lu et accepter les conditions générales d\'utilisation")
return false;
}


} // Fin de la fonction
</script>
</head>



<body><form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
<div align="center"></div>
<font size="-1" face="Arial, Helvetica, sans-serif"><br>
</font>
<table align="center" width="566" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="16"><div align="center">
<font color="#CC0000" size="-1" face="Arial, Helvetica, sans-serif"><strong>
<?php

if ($erreur_case1) {
echo(stripslashes($erreur_case1));
} else {

} // Fin du else...


?>
</font></td>
<td><font size="-1" face="Arial, Helvetica, sans-serif">
<input name="zone_email2" type="text" value="<?=stripslashes($_SESSION['zone_email2']);?>">
</font></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="240"><div align="left"><font face="Arial, Helvetica, sans-serif" size="3">J'ai lu et j'accepte les conditions générales d'utilisation (2)</font> * </div></td>
<td width="30" align="center" valign="middle">
<font size="-1" face="Arial, Helvetica, sans-serif">
<?php
if ($erreur_case1) {
echo($icone);
}
?>
</font></td>
<td><font size="-1" face="Arial, Helvetica, sans-serif">
<input type="checkbox" name="case1_[0]" id="case1_" value="oui"<?php
if ($_SESSION['case1_'][0] == "oui") {
echo(" checked");
}
?>>