Bonjour à vous tous,

Voila une partie de mon script pour mon formulaire de contact et le validateur m'a signalé les erreurs suivantes.
Malheureusement je n'arrive pas à les corriger et votre aide serait la bienvenue merci d'avance


// On vérifie si $flag_icone est défini sur 0 ou 1...
if ($flag_icone == 0) {
$icone = "<b><font face="ArialVerdana, Helvetica, sans-serif" size="3" color="#CC0000">x</font></b>";
Erreur à la colonne 13: pas de déclaration du type de document; analysera sans validation(type #187)
Erreur à la colonne 98: fin d'étiquette pour l'élément "B" lequel n'est pas ouvert
(Une balise de fin a été trouvée sans balise de début.)
Erreur à la colonne 99: caractère de données n'est pas permis ici
(On ne peut pas écrire ce caractère ici, regarder s'il n'y a pas une erreur précédente avec une ouverture de guillemets ou de balise. De plus, éviter de mélanger la syntaxe XHTML (XML) dans du code HTML. En particulier, les balises HTML ne peuvent se terminer par un / comme en XML.)
} else {
$icone = "<img src="images/icone.gif">";
Erreur suivante...
Erreur à la colonne 37: type de document ne permet pas l'élément "IMG" ici
Bonjour,

les messages d'erreur devraient toutefois te mettre sur la piste, ils sont normalement suffisamment explicites. Allez, quelques conseils :

- as-tu un doctype dans ta page?

- pourquoi utiliser des balises tels que <b>? en CSS, plus simple, plus clair, non?

- humm, pas d'échappement dans tes variables? par exemple :


$icone = "<img src="images/icone.gif">";


au minimum :


$icone = "<img src=\"images/icone.gif\">";


au niveau de ton code, il faut que tu en dises un peu plus, postes le code de ta page pour voir.
merci FloydinBremen,

oui j'ai bien un doctype dans ma page, quand au <b> dans le script je n'en sais rien je suis débutant et le script provient d'un générateur.

Voici le code complet de la page

<?php
// On vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_set('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['champ3'] = $_POST['champ3'];
$_SESSION['champ4'] = $_POST['champ4'];
$_SESSION['champ5'] = $_POST['champ5'];
$_SESSION['champ6'] = $_POST['champ6'];
$_SESSION['zone_email1'] = $_POST['zone_email1'];

// 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 face="ArialVerdana, Helvetica, sans-serif" size="3" 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 = "contact@jetravailledechezmoi.eu";
$sujet = "Formulaire de contact";
$entetes ="MIME-Version: 1.0 \n";
$entetes .="From: jetravailledechezmoi.eu/service@jetravailledechezmoi.eu\n";
$entetes .="Return-Path: jetravailledechezmoi.eu/service@jetravailledechezmoi.eu\n";
$entetes .="Reply-To: jetravailledechezmoi.eu/service@jetravailledechezmoi.eu\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="#cccccc">\n";


//Partie HTML de l'e-mail...
$partie_champs_texte .= "<font face="Verdana" size="2" color="#003366">Nom = " . $_SESSION['champ1'] . "</font><br />\n";
$partie_champs_texte .= "<font face="Verdana" size="2" color="#003366">Prénom = " . $_SESSION['champ2'] . "</font><br />\n";
$partie_champs_texte .= "<font face="Verdana" size="2" color="#003366">Adresse = " . $_SESSION['champ3'] . "</font><br> /\n";
$partie_champs_texte .= "<font face="Verdana" size="2" color="#003366">Code Postal = " . $_SESSION['champ4'] . "</font><br />\n";
$partie_champs_texte .= "<font face="Verdana" size="2" color="#003366">Ville = " . $_SESSION['champ5'] . "</font><br />\n";
$partie_champs_texte .= "<font face="Verdana" size="2" color="#003366">Téléphone = " . $_SESSION['champ6'] . "</font><br />\n";
$partie_zone_email .= "<font face="Verdana" size="2" color="#003366">Adresse e-mail = " . $_SESSION['zone_email1'] . "</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:jetravailledechezmoi.eu/merci.htm");
exit();
} // Fin else
} // Fin du if ($flag_erreur == 0) {
} // Fin de if POST
?>
<! 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" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>.:jetravailledechezmoi.eu/contact.php:.</title>
<meta name="description" content="travail à domicile" />
<meta name="keywords" content="travail à domicile, travail, domicile, travail, a, domicile, du, travail, emploi, travail, du, domicile,
offres, d, emploi, a, domicile, annonce, d, emploi, vente, a, domicile, recherche, d, emploi, job, a, domicile, activité, a, domicile,
affaire, a, domicile, revenu, a, domicile, revenus, travailler, à, domicile internet, travail domicil, gagner argent sur internet,
revenu complémentaire, travail appoint domicile, plus d'argent, complément de salaire, travailler maison, travailler de chez soi, vendeur indépendant,
statut VDI, idées auto entrepreneur, de la maison, emploi , pôle, cherche, boulot, job, avis" />
<meta name="robots" content="INDEX, FOLLOW, all"/>
<meta name="author" content="alain vollmer" />
<meta name="copyright" content="alain vollmer" />
<link rel="stylesheet" type="text/css" href="styles.css" media="screen" charset="iso-8859-1" />
<script type="text/javascript">
function verifSelection() {
if (document.mail_form.champ1.value == "") {
alert("Veuillez saisir Votre Nom")
return false
}

if (document.mail_form.champ2.value == "") {
alert("Veuillez saisir Votre Prénom")
return false
}

if (document.mail_form.champ3.value == "") {
alert("Veuillez saisir Votre Adresse")
return false
}

if (document.mail_form.champ4.value == "") {
alert("Veuillez saisir Votre Code Postal")
return false
}

if (document.mail_form.champ5.value == "") {
alert("Veuillez saisir Votre Ville")
return false
}

if (document.mail_form.champ6.value == "") {
alert("Veuillez saisir Votre n° de téléphone")
return false
}

if (document.mail_form.zone_email1.value == "") {
alert("Veuillez saisir Votre adresse mail")
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
}

} // Fin de la fonction
</script>
<script type="text/javascript">

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33573036-1']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

</script>
</head>

<body>
<form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
<div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong>Formulaire
de contact</strong></font></div><br><table align="center" width="566" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="16"><div align="center">
<font color="#CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong><?php
if ($erreur_champ1) {
echo(stripslashes($erreur_champ1));
} else {
if ($erreur_champ2) {
echo(stripslashes($erreur_champ2));
} else {
if ($erreur_champ3) {
echo(stripslashes($erreur_champ3));
} else {
if ($erreur_champ4) {
echo(stripslashes($erreur_champ4));
} else {
if ($erreur_champ5) {
echo(stripslashes($erreur_champ5));
} else {
if ($erreur_champ6) {
echo(stripslashes($erreur_champ6));
} else {
if ($erreur_email1) {
echo(stripslashes($erreur_email1));
} 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="140"><div align="right"><font face="Verdana" size="2">Nom</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ1) {
echo($icone);
}
?>
</td>
<td><input name="champ1" type="text" value="<?=stripslashes($_SESSION['champ1']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Prénom</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ2) {
echo($icone);
}
?>
</td>
<td><input name="champ2" type="text" value="<?=stripslashes($_SESSION['champ2']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Adresse</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ3) {
echo($icone);
}
?>
</td>
<td><input name="champ3" type="text" value="<?=stripslashes($_SESSION['champ3']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Code Postal</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ4) {
echo($icone);
}
?>
</td>
<td><input name="champ4" type="text" value="<?=stripslashes($_SESSION['champ4']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Ville</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ5) {
echo($icone);
}
?>
</td>
<td><input name="champ5" type="text" value="<?=stripslashes($_SESSION['champ5']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Téléphone</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ6) {
echo($icone);
}
?>
</td>
<td><input name="champ6" type="text" value="<?=stripslashes($_SESSION['champ6']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Adresse e-mail</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_email1) {
echo($icone);
}
?>
</td>
<td><input name="zone_email1" type="text" value="<?=stripslashes($_SESSION['zone_email1']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td valign="top"><div align="center">
<input type="reset" name="Reset" value=" Effacer ">
 
<input type="submit" name="envoi" value="Envoyer">
</div></td></tr></table><div align="center"><input name="nbre_fichiers" type="hidden" id="nbre_fichiers" value=""></div></form>

</body>

</html>
oulà.....pffff.....des erreurs de syntaxe toutes les 2 lignes, voire un peu partout....enfin, non, carrément partout. un code d'une "simplicité" amenant plus de confusion que d'efficacité (les séries de "if"...). fais gaffe quand même. tu es débutant, certes. commences donc par apprendre quelques bases solides en html, css, etc..., surtout avant d' "attaquer" un formulaire.