Pb avec checkbox en php

Fermé
olive_sibile - 11 janv. 2008 à 19:00
 olive_sibile - 12 janv. 2008 à 17:58
Bonjour,

Quand je recois un formulaire, les variables selectionnees par l utilisateurs n apparaissent pas en totalite> Seule la dernere valeurs selectionnee par l utilisateur est transmise sur mon mail> Les autres valeurs des checkbox sont "annulees" Pourquoi et comment faire pour resoudre le pb?

Merci

Formulaire:

<p>jour:
<table border='0' width='100%' cellspacing='1' cellpadding='3'>
<tr>
<td width='7%'><input type='checkbox' name='jour' value='lundi'></td>
<td width='93%'>lundi</td>
</tr>
<tr>
<td width='7%'><input type='checkbox' name='jour' value='mardi'></td>
<td width='93%'>mardi</td>
</tr>
<tr>
<td width='7%'><input type='checkbox' name='jour' value='mercredi'></td>
<td width='93%'>mercredi</td>
</tr>
</table>
<p> </p>
<p>

Traitement.php

<html>
<?php
$plongee=htmlentities($_POST['plongee']);
$cours=htmlentities($_POST['cours']);
$jour=htmlentities($_POST['jour']);
$texte.=htmlentities('plongee:'.$plongee);
$texte.=htmlentities('cours:'.$cours);
$texte.=htmlentities('jour:'.$jour);
$adresse="info@******.com";
$from="From: $prenom $nom<$email>\r\n";
$from.="Reply-To: $prenom $nom <$email>\n";
$from.="X-priority:3\n";
$from.="MIME-Version: 1.0\r\n";
$from.="Content-Type: text/html";
if (mail($adresse,$sujet,$texte,$from))
echo("<center><font color=blue><br><br><br><h2>Formulaire envoyé ! Je vous répondrais rapidement. Merci!</h2></font><br><a href=/>Cliquez ici pour revenir à l'accueil</a></center>");
else
echo("<center><font color=red><br><br><br><h2>Problème à l'envoi du mail...désolé nous ne pouvons actuellement traiter votre demande</h2></font><br>Contactez nous plus <a href=\"mailto:$adresse\">classiquement</a>");
?>
A voir également:

8 réponses

olive_sibile
11 janv. 2008 à 19:34
Faut il creer une ligne de prog pour chaque valeur dans la checkbox? ou peut on tout regrouper avec une seule ligne?
merci
0
répondu là :
http://www.commentcamarche.net/forum/affich 4615407 pb dans traitement3 php#0

s'il te plaît, évite de re-créer un nouveau fil pour une même question...
0
olive_sibile
12 janv. 2008 à 16:50
Salut le Pere,

J ai toujours un pb avec le fichier traitement3.php
message d erreur:
Warning: Invalid argument supplied for foreach() in /home/niceas5/public_html/infomation/traitement3.php on line 8
merci encore et encore. Pour te remercier j aurais quelques chose a te dire

<html>
<?php
$plongee=htmlentities($_POST['plongee']);
$cours=htmlentities($_POST['cours']);
$texte.=htmlentities('plongee:'.$plongee);
$texte.=htmlentities('cours:'.$cours);
$texte.='jour(s) :';
foreach ($jour as $jj){
$texte.=''.$jj;
}
$adresse="info@*****.com";
$from="From: $prenom $nom<$email>\r\n";
$from.="Reply-To: $prenom $nom <$email>\n";
$from.="X-priority:3\n";
$from.="MIME-Version: 1.0\r\n";
$from.="Content-Type: text/html; charset+iso-8859-1\n";
if (mail($adresse,$sujet,$texte,$from))
echo("<center><font color=blue><br><br><br><h2>Formulaire envoyé ! Je vous répondrais rapidement. Merci!</h2></font><br><a href=/>Cliquez ici pour revenir à l'accueil</a></center>");
else
echo("<center><font color=red><br><br><br><h2>Problème à l'envoi du mail...désolé nous ne pouvons actuellement traiter votre demande</h2></font><br>Contactez nous plus <a href=\"mailto:$adresse\">classiquement</a>");
?>
0
Invalid argument supplied for foreach()
L'argument du foreach, c'est $jour. Il existait dans ta version précédente, tu l'as supprimé.Pourquoi ? Comment veux-tu faire une boucle sur un tableau que tu n'as pas défini ?
Apprends le PHP, ça n'est pas très compliqué et tu iras beaucoup plus vite quand tu sauras répondre toi-même à tes questions. Il n'est pas question que je continue longtemps ce petit jeu de me faire écrire ton programme par petits bouts.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
olive_sibile
12 janv. 2008 à 17:11
desole le pere j essaye juste de comprendre comment fonctionne chaque formulaire d insertion (checkbox.....) avec des exemple concrets
Malgre des heures passees sur internet je n arrive a decoder certains formulaires.
Je vais chercher de nouveau sur internet pour completer mes notions de php
0
olive_sibile
12 janv. 2008 à 17:42
Quand je recois le mail apres validation du formulaire
Est note sur le mail: 'jour:aucunelundimardimercredi' Comment peut on supprimer le mot 'aucune'?
merci

formulaire:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê Ê "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Mon formulaire.</title>

</head>
<body>
<form method='POST' action='traitement3.php' name='FrontPage_Form1' onsubmit="return FrontPage_Form1_Validator(this)">
<p>plongee:<br>
<select name='plongee' size='1'>
<option selected>-choisir-</option>
<option value='yes'>yes</option>
<option value='no'>no</option>
</select></p>

<p>Cours:<br>
<input type='radio' name='cours' value='oui'> oui <input type='radio' name='cours' value='non'>
non</p>

<p>jour:
<table border='0' width='100%' cellspacing='1' cellpadding='3'>
<tr>
<td width='7%'><input type='hidden' name='jour[]' value=''>
<input type='checkbox' name='jour[]' value='lundi'></td>
<td width='93%'>lundi</td>
</tr>
<tr>
<td width='7%'><input type='checkbox' name='jour[]' value='mardi'></td>
<td width='93%'>mardi</td>
</tr>
<tr>
<td width='7%'><input type='checkbox' name='jour[]' value='mercredi'></td>
<td width='93%'>mercredi</td>
</tr>
</table>
<p> </p>
<p>
<input type='submit' value='envoyer' name='envoyer'> <input type='reset' value='recommencer' name='recommencer'><br>
<br>
</p>
</form>
</body>
</html>


traitement3.php:

<html>
<?php
$plongee=$_POST['plongee'];
$cours=$_POST['cours'];
$jour=$_POST['jour'];
$texte.='plongee:'.$plongee;
$texte.='cours:'.$cours;
$texte.='jour:';
foreach ($jour as $jj){
$texte.=''.$jj;
}
$adresse="info@******.com";
$from="From: $prenom $nom<$email>\r\n";
$from.="Reply-To: $prenom $nom <$email>\n";
$from.="X-priority:3\n";
$from.="MIME-Version: 1.0\r\n";
$from.="Content-Type: text/html; charset+iso-8859-1\n";
if (mail($adresse,$sujet,$texte,$from))
echo("<center><font color=blue><br><br><br><h2>Formulaire envoyé ! Je vous répondrais rapidement. Merci!</h2></font><br><a href=/>Cliquez ici pour revenir à l'accueil</a></center>");
else
echo("<center><font color=red><br><br><br><h2>Problème à l'envoi du mail...désolé nous ne pouvons actuellement traiter votre demande</h2></font><br>Contactez nous plus <a href=\"mailto:$adresse\">classiquement</a>");
?>
0
Je ne doute pas de ta bonne volonté ni tes compétences, mais je crois que tu vises trop haut par rapport à ton niveau actuel. Tu me donnes un peu l'impression de marcher dans le noir et de te cogner dans tous les murs.

Commence par des choses beaucoup plus simples.
Apprends à manipuler les variables simples, les tableaux, les chaînes avec ' et avec ". Et aussi les structures de contrôle ( if else, for, while, switch..) Il ne s'agit pas d'apprendre par coeur le liste des fonctions non plus.

Pour ce qui est des notions de PHP, personnellement, je les ai prises dans le manuel PHP tout simplement. Il y a beaucoup d'exemples, et les pièges à éviter.
0
olive_sibile
12 janv. 2008 à 17:58
Pour tout dire je n ai aucune competence en matiere informatique, seulement je suis en train de monter une agence de voyages sur internet et j ai besoin de creer des formulaires pour les visiteurs du site.
Merci pour tes conseils et ton aide car il y a une semaine je ne savais pas que le php existait et je n avais jamais fait de programmation informatique auparavant, maintenant je saisi une partie infime du php ce qui va me permettre d effectuer non sans mal les formulaires
je te laisse l adresse du site www.niceasiatravel.com, j espere pouvoir te montrer les resultats tres rapidement.
Si tu passes a phuket, ca sera avec beaucoup de plaisir que je te recevrais,
je suis conscient que j ai un niveau tres bas en php et prog mais j essaye d apprendre un petit peu
0