Pb de checkbox en php

Résolu/Fermé
Tony - 15 juin 2005 à 09:31
rodal Messages postés 1 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 30 octobre 2007 - 30 oct. 2007 à 17:31
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 jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
15 juin 2005 à 09:58
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
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 jeudi 2 juin 2005 Statut Membre Dernière intervention 30 décembre 2010 109
15 juin 2005 à 10:14
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
Je te remercie ca a fonctionné c cool a+
0
rodal Messages postés 1 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 30 octobre 2007
30 oct. 2007 à 17:31
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