Pb de checkbox en php

Résolu
Tony -  
rodal Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour j'ai un petit probleme sur un formulaire d'envoie de mail. Voila il y a 4 case a cocher et quand un d'entre elle (ou les 4) ne sont pas cocher j'obtiens un message d'erreur (ou 4) qui est celui-ci : Notice: Undefined index: CA in c:\documents and settings\tony\bureau\monsite\sendcontact3.php on line 52
je joins mon code
page contact.php

<body>
<form action="sendcontact3.php" method="post">
  <pre>Nom de la Société* : <input type="text" name="Societe"> 
Nom du Contact* :    <input type="text" name="Contact"> 
Poste :   	     <input type="text" name="Poste"> 

Adresse :    	     <input type="text" name="Adresse"> 
Ville :              <input type="text" name="Ville"> 
Code Postal :        <input type="text" name="CP">   

Tél.* :   	     <input type="text" name="Tel"> 
Mail :   	     <input type="text" name="Mail">


<input type="checkbox" name="CA" value="Controle d accès"> Controle d'accès   			<input type="checkbox" name="VS" value="Vidéosurveillance"> Vidéosurveillance    
<input type="checkbox" name="GTB" value="Gestion technique de batiment"> Gestion technique de batiment     	<input type="checkbox" name="WH" value="Wifi Hotellier"> Wifi Hotellier    </pre>
  <p>Commentaire :</p>
  <p>	    
  <textarea name="Commentaire" cols="65" rows="5"></textarea>
    
  </p>
  <div align="center">
    <input type="submit" name="Envoyer" value="Envoyer">
  </div>
</form>
</body>

page sendcontact3.php

<?php
if(isset($_POST['Societe']))      $nom=$_POST['Societe'];
else      $nom="";

if(isset($_POST['Contact']))      $contact=$_POST['Contact'];
else      $contact="";

if(isset($_POST['Tel']))      $tel=$_POST['Tel'];
else      $tel="";

if(empty($nom) OR empty($contact) OR empty($tel)) 
    { 
?>
<body>    
Champs accompagné d'une * obligatoire : 
<form action="sendcontact3.php" method="post">
  <pre>Nom de la Société* : <input type="text" name="Societe" value="<?php  print ($_POST["Societe"]); ?>"> 
Nom du Contact* :    <input type="text" name="Contact"  value="<?php  print ($_POST["Contact"]); ?>"> 
Poste :   	     <input type="text" name="Poste" value="<?php  print ($_POST["Poste"]); ?>"> 

Adresse :    	     <input type="text" name="Adresse" value="<?php  print ($_POST["Adresse"]); ?>"> 
Ville :              <input type="text" name="Ville" value="<?php  print ($_POST["Ville"]); ?>"> 
Code Postal :        <input type="text" name="CP" <?php  print ($_POST["CP"]); ?>>   

Tél.* :   	     <input type="text" name="Tel" value="<?php  print ($_POST["Tel"]); ?>"> 
Mail :   	     <input type="text" name="Mail" value="<?php  print ($_POST["Mail"]); ?>">


<input type="checkbox" name="CA" value="<?php  ($_POST["CA"]); ?>"/> Controle d'accès   			<input type="checkbox" name="VS" value="<?php  ($_POST["VS"]);?>"/> Vidéosurveillance    
<input type="checkbox" name="GTB" value="<?php  ($_POST["GTB"]); ?>"/> Gestion technique de batiment     	<input type="checkbox" name="WH" value="<?php  ($_POST["WH"]); ?>"/> Wifi Hotellier    </pre>
  <p>Commentaire :</p>
  <p>	    
  <textarea name="Commentaire" cols="65" rows="5"><?php  print ($_POST["Commentaire"]); ?></textarea>
    
  </p>
  <div align="center">
    <input type="submit" name="Envoyer" value="Envoyer">
  </div>
</form>
<?php 
}
			else 
				{
				define('SUJET','Demande SPGM'); 
	define('ADRESSE_WEBMASTER','g.tony@wanadoo.fr'); 
	$message = "Societe : " .$_POST['Societe']. "\n\nContact : ".$_POST['Contact']."\n\nPoste : ".$_POST['Poste']."\n\nAdresse : ".$_POST['Adresse']. "\n\nVille : ".$_POST['Ville']."\n\nCode Postal : ".$_POST['CP']. "\n\nTel : ".$_POST['Tel']."\n\nMail : ".$_POST['Mail']."\n\nIntérêt : ".$_POST['CA']."\n\n".$_POST['GTB']."\n\n".$_POST['VS']."\n\n".$_POST['WH']."\n\nCommentaire : ".$_POST['Commentaire']; 
	 mail(ADRESSE_WEBMASTER, SUJET, $message);
				echo "Message Bien envoye ";
				}

?>

</body>


Voila si quelqu'un peut m'aider je le remercie car ceci est important pour moi (c'est pour mon stage)

merci a+

et desoler pour la longueur du code
A voir également:

3 réponses

Timon1102 Messages postés 354 Date d'inscription   Statut Membre Dernière intervention   109
 
salut, c'est juste que quand une case n'est pas coché, elle n'est pas passé au script de traitement. ex: si CA n'est pas coché, isset($_POST['CA']) return false
@+
0
Tony
 
ok merci mais pourrait tu me dire comment éviter ce message d'erreur qui apparait sur ma page merci a+
0
Timon1102 Messages postés 354 Date d'inscription   Statut Membre Dernière intervention   109
 
et bien avant de te referrer a une checkbox, verifie si elle est definie, avec isset();, et ne fait pas le traitement si elle n'est pas definie
0
Tony
 
Je te remercie ca a fonctionné c cool a+
0
rodal Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

J'ai un problème avec les boutons radios : je n'arrive pas à les contrôler en php (vérifier que l'utilisateur ai coché l'une des trois réponses : pour, contre ou sans opinion). Il s'agit de mon mémoire de recherche et je suis si débutant en php que je ne parviens pas encore à bien appliquer les solutions des problèmes des autres au mien!
Sachant que j'ai 3 fichiers liés (html, css et php), voici un exemple détaillé qui fini par la formulation d'une question en rapport avec ma difficulté.

Un bout de code du questionaire en html:

<td> - Vous êtes :</td>
<td><select name="Sexe">
<option value="">---</option>
<option value="un homme">un homme</option>
<option value="une femme">une femme</option>
</select></td>

L'équivalent en php:

$Sexe = $_POST['Sexe'];
$Etude = $_POST['Etude'];

if(empty($Sexe))
{
echo(<b><i>Vous êtes...</i></b> EST VIDE.<br/>
<b>Veuillez retourner au questionnaire!</b></center>");
exit();
}

La réponse de Easyphp si l'utilisateur n'a pas validé:
(à ce niveau, tout se passe comme je le souhaite)

Vous êtes... EST VIDE.
Veuillez retourner au questionnaire!


La suite du code en html (les fameux bontons radios):

<!-- Les lettres alphabétiques name="A", name="B",... représentent les différentes propositions -->

<th>Quelle position pourriez-vous prendre face aux propositions ci-dessous ?</th> <th>Pour</th> <th>Contre</th> <th>Sans <br>opinion</th> </tr>

<tr>
<td>Encourager ... ne résout pas les problèmes...</td> <td> <input type="radio" name="A" value="Pour" id="Pour"></td>
<td> <input type="radio" name="A" value="Contre" id="Contre"> </td> <td><input type="radio" name="A" value="Sans opinion" id="Sans opinion"></td> </td></tr>
<tr>
<td>Le développement...</td> <td> <input type="radio" name="B" value="Pour" id="Pour"></td>
<td> <input type="radio" name="B" value="Contre" id="Contre"> </td> <td><input type="radio" name="B" value="Sans opinion" id="Sans opinion"></td> </td></tr>

Léquivalent en php:

$A = $_POST['A'];
if(empty($A))
{
echo(<b><i>Encourager ... ne résout pas les problèmes...</i></b> EST VIDE.<br/>
<b>Veuillez retourner au questionnaire!</b></center>");
exit();


$B = $_POST['B'];
if(empty($B))
{
echo(<b><i>Le développement...</i></b> EST VIDE.<br/>
<b>Veuillez retourner au questionnaire!</b></center>");
exit();

La réponse de Easyphp...:

Notice: Undefined index: A in c:\program files\easyphp1-8\www\op\reponse.php on line 120

Encourager ... ne résout pas les problèmes... EST VIDE.
Veuillez retourner au questionnaire!

Le problème que je n'arrive pas à résoudre est:
Comment faire disparaître uniquement cette ligne d'erreur (j'ai fait tout ce que j'ai pu
sans succès)?

Merci bien,
0