Les Allergies
Alimentaires
Posez votre question Signaler

Pb de checkbox en php [Résolu]

Tony - Dernière réponse le 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
Lire la suite 

Pb de checkbox en php »

5 réponses
Réponse
+0
moins plus
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
@+
Tony - 15 juin 2005 à 10:01
ok merci mais pourrait tu me dire comment éviter ce message d'erreur qui apparait sur ma page merci a+
Ajouter un commentaire
Réponse
+0
moins plus
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
Tony - 15 juin 2005 à 14:54
Je te remercie ca a fonctionné c cool a+
Ajouter un commentaire
Réponse
+0
moins plus
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,
Ajouter un commentaire
Ce document intitulé « Pb de checkbox en php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?