cs_Didier72
Messages postés76Date d'inscriptiondimanche 10 octobre 2004StatutMembreDernière intervention13 juin 2015
-
19 juil. 2013 à 16:49
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 2022
-
2 août 2013 à 16:26
Bonjour
Je rencontre l'erreur suivante : Notice: Undefined variable: erreur_champ1 sur la ligne: <?php if ($erreur_champ1)
Cela fonctionne en PHP4 mais j'ai l'erreur en PHP5 et je ne trouve pas la solution.
Ce code concerne un formulaire:
<div class="center" id="bleu_seul"><span class='gras'>Société:</span>
<span style="color:#ff0000;">
<?php if ($erreur_champ1) {
echo($icone); }
?>
</span>
<input name="champ1" type="text" value="<?php echo $_SESSION['champ1'];?>"/>
<em>
<span id='rouge_seul' class="aide" title="Veuillez saisir dans ce champs la Raison Sociale de votre Société.">aide ?</span>
</em>
Voici le code PHP et HTML complet:
<?php
//Compression HTTP
ob_start("ob_gzhandler");
$page='contact.php';
session_start();
$ip = $_SERVER["REMOTE_ADDR"];
// mémoriser la version dans la session
if (isset($_GET['version']))
{
$_SESSION['version']= serialize($_GET['version']);
}
else {
$_GET['version'] = 0; //sinon: mode texte par défaut
}
// obtenir la version à partir de la session
if (isset($_SESSION['version']))
{
$_GET['version']=unserialize($_SESSION['version']);
};
// Vérifier que le formulaire a été envoyé...
if (isset($_POST['envoi']))
{
//On commence une session pour enregistrer les variables du formulaire...
$_SESSION['champ1'] = $_POST['champ1'];
$_SESSION['champ2'] = $_POST['champ2'];
$_SESSION['champ3'] = $_POST['champ3'];
$_SESSION['champ4'] = $_POST['champ4'];
$_SESSION['champ5'] = $_POST['champ5'];
$_SESSION['zone_email1'] = $_POST['zone_email1'];
//Evaluation du bouton 1 ...
switch($_POST['bouton1']) {
case "Charpente":
$_SESSION['bouton1'] = "Charpente";
break;
case "Couverture":
$_SESSION['bouton1'] = "Couverture";
break;
case "Autres":
$_SESSION['bouton1'] = "Autres";
break;
default:
$_SESSION['bouton1'] = "";
} // Fin du switch...
//Enregistrement des zones de texte...
$_SESSION['zone_texte1'] = $_POST['zone_texte1'];
// 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 = 1;
// 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 = "-----@free.fr";
$sujet = "Demande d'informations";
$entetes ="MIME-Version: 1.0 \n";
$entetes .="From: toto<----@free.fr>\n";
$entetes .="Return-Path: toto<------@free.fr>\n";
$entetes .="Reply-To: toto<-----@free.fr>\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">Société: = " . $_SESSION['champ1'] . "</font><br>\n";
$partie_champs_texte .= "<font face="Verdana" size="2" color="#003366">Site Web: = " . $_SESSION['champ2'] . "</font><br>\n";
$partie_champs_texte .= "<font face="Verdana" size="2" color="#003366">Nom: = " . $_SESSION['champ3'] . "</font><br>\n";
$partie_champs_texte .= "<font face="Verdana" size="2" color="#003366">Prénom: = " . $_SESSION['champ4'] . "</font><br>\n";
$partie_champs_texte .= "<font face="Verdana" size="2" color="#003366">Téléphone: = " . $_SESSION['champ5'] . "</font><br>\n";
$partie_zone_email .= "<font face="Verdana" size="2" color="#003366">Votre Mail: = " . $_SESSION['zone_email1'] . "</font><br>\n";
$partie_boutons .= "<font face="Verdana" size="2" color="#003366">Votre Demande: = " . $_SESSION['bouton1'] . "</font><br>\n";
$partie_zone_texte .= "<font face="Verdana" size="2" color="#003366">Libellé: = " . $_SESSION['zone_texte1'] . "</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
mail($email_dest,$sujet,$sortie,$entetes);
// Rediriger vers la page index
echo "<SCRIPT LANGUAGE='JavaScript'>document.location.href='envoi_valide.php' </SCRIPT>";
//echo "<SCRIPT LANGUAGE='JavaScript'>document.location.href='index.php' </SCRIPT>";
//exit();
} // Fin du if ($flag_erreur == 0) {
} // Fin de if POST
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-Transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<?php
include 'inc/head2.inc';
?>
</head>
<!-- <body oncontextmenu="return false;"> -->
<body>
<div id="conteneur">
<!-- Affichage banniere en haut -->
<?php
include 'inc/banniere_haut.inc';
?>
<!-- Affichage de la Barre de Choix -->
<div class="menu_horizontal">
<?php
include 'inc/date.inc';
?>
</div>
<!-- Menu Horizontal -->
<div id="menu">
<?php
include 'inc/menu.inc';
?>
<?php
// Effacement de tous les champs du formulaire
$_SESSION['champ1'] = '';
$_SESSION['champ2'] = '';
$_SESSION['champ3'] = '';
$_SESSION['champ4'] = '';
$_SESSION['champ5'] = '';
$_SESSION['zone_email1'] ='';
$_SESSION['bouton1'] = "";
$_SESSION['zone_texte1']="";
?>
<br />
</div>
<!-- Affichage image de fond -->
<div id="image_fond_contact">
<!-- Colonne de Gauche -->
<div id="cont_gauche">
</div>
<!-- Colonne de Droite -->
<div id="cont_droit">
</div>
<!-- Colonne du Centre -->
<div id="cont_centre">
<div> </div>
<form name="mail_form" method="POST" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
<br />
<div><div class="imTitle">Formulaire de contact</div><div class="taille8" id="rouge"><span id="italic">* Saisie Obligatoire</span></div></div>
<!-- Saisie Nom de Société -->
<p>
<hr align="center" width="50%" color="midnightblue" size="3">
<!-- Saisie Nom Société -->
<div class="center" id="bleu_seul"><span class='gras'>Société:</span>
<?php
if ($erreur_champ1) {
echo($icone);
}
?>
<input name="champ1" type="text" value="<?php echo $_SESSION['champ1'];?>"/>
<em>
<span id='rouge_seul' class="aide" title="Veuillez saisir dans ce champs la Raison Sociale de votre Société.">aide ?</span>
</em>
</div>
<!-- Saisie URL Site Web -->
<div class="center" id="bleu_seul"><span class='gras'>Site Web:</span>
<?php
if ($erreur_champ2) {
echo($icone);
}
?>
<input name="champ2" type="text" value="<?php echo $_SESSION['champ2'];?>"/>
<em>
<span id='rouge_seul' class="aide" title="Veuillez saisir dans ce champs l'adresse URl de votre site Web.">aide ?</span>
</em>
</div>
<!-- Saisie Nom -->
<div class="center" id="bleu_seul"><span class='gras'>Nom:</span><span id="rouge_seul">*</span>
<?php
if ($erreur_champ3) {
echo($icone);
}
?>
<input name="champ3" type="text" value="<?php echo $_SESSION['champ3'];?>"/>
<em>
<span id='rouge_seul' class="aide" title="Veuillez saisir dans ce champs votre Nom (Exemple: POHU). - OBLIGATOIRE -">aide ?</span>
</em>
</div>
<!-- Saisie Prénom -->
<div class="center" id="bleu_seul"><span class='gras'>Prénom:</span><span id="rouge_seul">*</span>
<?php
if ($erreur_champ4) {
echo($icone);
}
?>
<input name="champ4" type="text" value="<?php echo $_SESSION['champ4'];?>"/>
<em>
<span id='rouge_seul' class="aide" title="Veuillez saisir dans ce champs votre Prénom (exemple: Didier). - OBLIGATOIRE -">aide ?</span>
</em>
</div>
<!-- Saisie Téléphone -->
<div class="center" id="bleu_seul"><span class='gras'>Téléphone:</span>
<?php
if ($erreur_champ5) {
echo($icone);
}
?>
<input name="champ5" type="text" value="<?php echo $_SESSION['champ5'];?>"/>
<em>
<span id='rouge_seul' class="aide" title="Veuillez saisir dans ce champs votre notre de téléphone Fixe ou Portable (Exemple: 06 78 34 12 73).">aide ?</span>
</em>
</div>
<!-- Saisie Mail -->
<div class="center" id="bleu_seul"><span class='gras'>E-Mail:</span><span id="rouge">*</span>
<?php
if ($erreur_email1) {
echo($icone);
}
?>
<input name="zone_email1" type="text" value="<?php echo $_SESSION['zone_email1'];?>"/>
<em>
<span id='rouge_seul' class="aide" title="Veuillez saisir dans ce champs votre adresse E-Mail sous la forme: xxxx@yyy.zz. - OBLIGATOIRE -">aide ?</span>
</em>
</div>
</p>
<hr align="center" width="50%" color="midnightblue" size="3">
<!-- Choix de la demande -->
<p>
<div class="gauche_demande" id="bleu_seul"><span class='gras'>Votre Demande:</span><span id="rouge_seul">*</span>
<em id='rouge_seul' class="aide" title="Veuillez cocher votre choix de demande. - OBLIGATOIRE -">aide ?</em>
</div>
<?php
if ($erreur_bouton1) {
echo($icone);
}
?>
<!-- Choix Charpente -->
<span class="gauche1" id="fond_form"><input type="radio" name="bouton1" value="Charpente"
<?php
if ($_SESSION['bouton1'] == "Charpente") {
echo(" checked");
}
?>
/>
</span>Charpente
<br />
<!-- Choix Couverture -->
<span class="gauche1" id="fond_form"><input type="radio" name="bouton1" value="Couverture"
<?php
if ($_SESSION['bouton1'] == "Couverture") {
echo(" checked");
}
?>
/>
</span>Couverture
<br />
<!-- Choix Autres -->
<span class="gauche1" id="fond_form"><input type="radio" name="bouton1" value="Autres"
<?php
if ($_SESSION['bouton1'] == "Autres") {
echo(" checked");
}
?>
/>
</span>Autres
</p>
<p></p>
<hr align="center" width="50%" color="midnightblue" size="3">
<!-- Saisie du Message-->
<p>
<div class="gauche_demande" id="bleu_seul"><span class='gras'>Message:</span><span id="rouge">*</span>
<em id='rouge_seul' class="aide" title="Veuillez saisir dans ce champs votre Message (maxi: 500 caractères). - OBLIGATOIRE -">aide ?</em>
</div>
<div class="center">
<?php
if ($erreur_texte1) {
echo($icone);
}
?>
<textarea onKeyDown="CheckLen(this)" onKeyUp="CheckLen(this)" name="zone_texte1" cols="34" rows="5"><?php echo $_SESSION['zone_texte1']; ?></textarea>
<em>
</em>
<div>Il vous reste <input type=text name=abd size=3 value="500" id="nb_caracteres">caractères</div>
</div>
</p>
<hr align="center" width="50%" color="midnightblue" size="3">
<div class="center">
<div>
<input type="reset" name="reset" value=" Effacer ">
<input type="submit" name="envoi" value="Envoyer">
</div>
</div>
<div class="center"><input name="nbre_fichiers" type="hidden" id="nbre_fichiers" value=""></div>
</form>
</div>
<div id="marge_demande" class="center">ou contactez-nous à ces coordonnées:</div>
<br />
<div class="center"><b>SARL TRUCMUCHE</b></div>
<div class="center">18 rue des Bois Coupés - 13000 BORDEAUX</div>
<div class="center">Téléphone: 04 25 25 25 25 - Fax: 04 25 25 25 26</div>
<div class="center">eMail: trucmuche@ft.fr</div>
<br />
<div class="center" id="rouge_form">Conformément à la loi Informatique et Libertés du 6 janvier 1978, vous disposez d'un droit d'accès et de rectification aux données personnelles vous concernant.</div>
<div class="center" id="rouge_form">Seule notre société est destinataire des informations que vous lui communiquez..</div>
</div>
<!-- Affichage banniere en bas -->
<div><img alt="image" src="images/barre_bas.JPG" /></div>
<!-- <div id="banniere_bas"></div> -->
</div> <!-- Fin du Conteneur -->
</body>
</html>
Merci de votre aide à tous et de vos lumières ... :)
jordane45
Messages postés38136Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention16 avril 2024344 19 juil. 2013 à 18:08
Pas de soucis.
ISSET permet de tester si la variable est initialisée, ça ne l'initialise pas vraiment... mais pour votre TEST cela devrai largement suffire.
Sinon pour initialiser une variable, on peut par exemple faire
<?Php
// Page PHP qui peut revevoir par POST ou GET des valeurs
If (ISSET($_POST['maVariable'])?$mavariable=$_POST['maVariable'] : $mavariable="";
//ou sur un GET
If (ISSET($_GET['maVariable'])?$mavariable=$_GET['maVariable'] : $mavariable="";
?>
Bref, on teste que la variable est Initialisée avec ISSET et dans le cas contraire on affecte une valeur vide,null,... à cette variable.
Cela évite les erreurs que vos avez rencontré précédemment.
Pense à clôturer la discussion ( REPONSE ACCEPTEE)
Cordialement,
Jordane
_____________________________________________________
Règles du forum à lire avant de poster une question : ICI
jordane45
Messages postés38136Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention16 avril 2024344 19 juil. 2013 à 17:13
bonjour,
Au passage, trop de code... tue le code...
C'est un peu fastidieux à lire..
Enfin bon, en utilisant un petit CTRL+F dans la page, j'ai pus constater que
ta variable "$erreur_champ1" ne semblait pas être initialisée (c'est aussi le message d'erreur que tu nous donne).
- Donc.. Où initialise tu cette variable ?
- As-tu essayé de faire un ISSET dessus ?
- Si tu fais un "Echo $erreur_champ1;" , qu'obtiens tu ?
Au cas où,
Il se peut que votre souci vienne des variables globales. Elles doivent surement être désactivées alors qu'auparavant elles devaient être à 'ON'
Cordialement,
Jordane
_____________________________________________________
Règles du forum à lire avant de poster une question : ICI