Notice: Undefined variable:
Résolu
cyril
-
Autumn`Tears Messages postés 1054 Date d'inscription Statut Membre Dernière intervention -
Autumn`Tears Messages postés 1054 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voici mon script qui pose problème :
avant le <head>
<?php
$email_dest = "monemail";
if ($_POST['envoi']) {
$message_remerciement = "Merci";
// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: weenypub \n";
$headers .="Content-Type: text/html; charset=utf-8 \n";
$subject = "Message de votre site";
$partie_entete = "<html><head>
<meta http-equiv=Content-Type content=text/html; charset=utf-8>
</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;
// Send the e-mail
if (@!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} // Closing if !mail...
} // Closing if edit
?>
dans le body mon formulaire :
<form action="<?=$PHP_SELF?>" method="post" id="mail_form" onsubmit="return verifSelection()">
<div align="center"></div>
<p align="center">
<?php
if ($message_remerciement) {
echo("<font face=Verdana size=2>");
echo(stripslashes($message_remerciement));
echo("</p></body></html>");
exit();
}
?>
</p>
<table width="566" border="0" align="center">
<p align="center"></p>
<tr>
<td><p>Nom</p></td>
<td><input name="champ1" type="text" /></td>
</tr>
<tr>
<td><p>Prénom</p></td>
<td><input name="champ2" type="text" /></td>
</tr>
<tr>
<td><p>E-mail</p></td>
<td><input name="zone_email" type="text" /></td>
</tr>
<tr>
<td valign="top"><p>Message</p></td>
<td><textarea name="zone_texte" cols="50" rows="10"></textarea></td>
</tr>
<tr>
<td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="2" />
<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="Prénom" />
<input name="titre_email" type="hidden" value="E-mail" />
<input name="titre_zone" type="hidden" value="Message" /></td>
<td><div align="center">
<input name="Reset" type="reset" value="Effacer" />
<input name="envoi" type="submit" value="Envoyer" />
</div></td>
</tr>
</table>
<div align="center"></div>
</form>
Mon problème en haut du site :
Notice: Undefined index: envoi in C:\wamp\www\monsite\contact.php on line 5
et au dessus du formulaire :
Notice: Undefined variable: message_remerciement in C:\wamp\www\monsite\contact.php on line 137
merci d'avance
voici mon script qui pose problème :
avant le <head>
<?php
$email_dest = "monemail";
if ($_POST['envoi']) {
$message_remerciement = "Merci";
// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: weenypub \n";
$headers .="Content-Type: text/html; charset=utf-8 \n";
$subject = "Message de votre site";
$partie_entete = "<html><head>
<meta http-equiv=Content-Type content=text/html; charset=utf-8>
</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;
// Send the e-mail
if (@!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} // Closing if !mail...
} // Closing if edit
?>
dans le body mon formulaire :
<form action="<?=$PHP_SELF?>" method="post" id="mail_form" onsubmit="return verifSelection()">
<div align="center"></div>
<p align="center">
<?php
if ($message_remerciement) {
echo("<font face=Verdana size=2>");
echo(stripslashes($message_remerciement));
echo("</p></body></html>");
exit();
}
?>
</p>
<table width="566" border="0" align="center">
<p align="center"></p>
<tr>
<td><p>Nom</p></td>
<td><input name="champ1" type="text" /></td>
</tr>
<tr>
<td><p>Prénom</p></td>
<td><input name="champ2" type="text" /></td>
</tr>
<tr>
<td><p>E-mail</p></td>
<td><input name="zone_email" type="text" /></td>
</tr>
<tr>
<td valign="top"><p>Message</p></td>
<td><textarea name="zone_texte" cols="50" rows="10"></textarea></td>
</tr>
<tr>
<td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="2" />
<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="Prénom" />
<input name="titre_email" type="hidden" value="E-mail" />
<input name="titre_zone" type="hidden" value="Message" /></td>
<td><div align="center">
<input name="Reset" type="reset" value="Effacer" />
<input name="envoi" type="submit" value="Envoyer" />
</div></td>
</tr>
</table>
<div align="center"></div>
</form>
Mon problème en haut du site :
Notice: Undefined index: envoi in C:\wamp\www\monsite\contact.php on line 5
et au dessus du formulaire :
Notice: Undefined variable: message_remerciement in C:\wamp\www\monsite\contact.php on line 137
merci d'avance
A voir également:
- Notice: Undefined variable:
- Notice gratuite - Guide
- Notice chromecast - Guide
- Notice télécommande universelle grundig - Forum Téléviseurs
- Homday x-pert écouteur bluetooth notice ✓ - Forum Casque et écouteurs
- Uleway g381 notice - Forum Mobile
2 réponses
vous avez déclarer et initialiser la variable message_remerciement dans un bloc IF, elle est donc une variable local, par la suite vous essayez de l'utiliser dans un autre bloc
mettre $message_remerciement = "Merci"; avant if ($_POST['envoi']) {
mettre $message_remerciement = "Merci"; avant if ($_POST['envoi']) {
Erreur, il veut l'afficher que si le formulaire est rempli, là il sera toujours affiché.
Avec un if(isset($message_remerciement)), ça ne devrait plus poser de problème !
J'ai essayé cela fonctionne bien haut dessus du formulaire il n'y a plus le message d'erreur (merci) mais en haut du site toujours le même :
Notice: Undefined index: envoi in C:\wamp\www\site\contact.php on line 5..
Avec un if(isset($message_remerciement)), ça ne devrait plus poser de problème !
J'ai essayé cela fonctionne bien haut dessus du formulaire il n'y a plus le message d'erreur (merci) mais en haut du site toujours le même :
Notice: Undefined index: envoi in C:\wamp\www\site\contact.php on line 5..
Tu verras si la variable est bien définie.
A la ligne 137 : if ($message_remerciement) {
merci beaucoup