Flux rss
Rechercher : dans
Par : Mots clés Nom d'utilisateur
Messages sans réponse

Je craque: html-php case à cocher + sélection

franck, le jeudi 17 août 2006 à 01:45:05 
 Signaler ce message aux modérateurs

Bonjour,

je craque !!!!! j'ai créé un formulaire html avec un traitement php (envoie par mail de tous les champs, malheureusement les cases à cocher ainsi que le menu déroulant (sélect) je n'arrive pas à l'intégrer dans le corps du mail comme le reste sans erreursss

voici le code htm

<form name="repas" action="traitement2.php" method=POST onSubmit="return verification()">
    <table width="978" border="0" align="center">   
    <tr>
      <td width="122"><span class="style6">Sélectionner :</span></td>
      <td width="330"><select name="Selection" id="Selection" tabindex="7">
        <option  selected>Sélectionner</option>
        <option>viande
        <?php if($Sélection=="viande"){echo " selected";} ?>
        </option>
        <option>poisson
        <?php if($Sélection=="poisson"){echo " selected";} ?>
        </option>
        <option>dessert
        <?php if($Sélection=="dessert"){echo " selected";} ?>
        </option>
        <option>fruit
        <?php if($Sélection=="fruit"){echo " selected";} ?>
        </option>
      </select></td>
      <td width="46"> </td>
      <td width="102"><span class="style6"><input type="checkbox" name="quand[]" option value="matin" class="case" > 
      matin</span><br></td>
      <td width="288"> </td>
    </tr>
    <tr>
      <td> </td>
      <td> </td>
      <td> </td>
      <td colspan="2"><span class="style6"><input type="checkbox"  name="quand[]" class="case" option value="autour d´un / du déjeuner"> 
      autour d´un / du déjeuner</span></td>
    </tr>
    <tr>
      <td> </td>
      <td> </td>
      <td> </td>
      <td><span class="style6"><input type="checkbox"  name="quand[]" option value="l´après-midi" class="case"> 
      l´après-midi</font></span><br></td>
      <td> </td>
    </tr>
    <tr>
      <td> </td>
      <td> </td>
      <td> </td>
      <td><span class="style6"><input name="quand[]" type="checkbox" option value="le soir" class="case"> 
      le soir </font><br></span></td>
      <td> </td>
    </tr>
    <tr>
      <td> </td>
      <td> </td>
          <td> </td>
      <td><span class="style6"><input type="checkbox"  name="quand[]" option value="heure" class="case"> 
      une heure : </font></span><br></td>
      <td><span class="style6"><input name="heure" value="23h59" size="6"  maxlength="6" class="formulaire2" tabindex="10"></font></span></td>
    </tr>
    <tr>
        <td></td>
    <td  align="right" bgcolor="#000000"><input name="submit" type="submit" value="Envoyer">      </td>   
    <td></td>
        <td align="left"><input name="reset" type="reset" value="Effacer"> <a name="ex" target="_blank">
         
      </tr>
    </table>
  </form>


voici le code php
if (isset($_POST['quand'])) {
   
    for ($i = 0, $c = count($_POST['quand']); $i < $c; $i++) { echo "<br/><b>" .$_POST['quand'][$i]. "</b>";  }} 


ca s'affiche à l'écran mais pas dans le mail ;o(( et ca marche pas pour sélection ;o(((

vous remerciant par avance de votre aide, n'ayant déjà plus beaucoup de cheveux

merci d'avance
Configuration: mac

1

poof65, le jeudi 17 août 2006 à 09:10:50
  • +1

C'est <option value="..." selected>
--------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!

Répondre à poof65

2

franck, le vendredi 18 août 2006 à 00:35:51

Je te remercie, petite question bébette je morceau de code je le mets où
te remerciant encore

Répondre à franck

4

franck, le vendredi 18 août 2006 à 00:48:06

Finalement c'est tout bon pour le menu déroulant (sélection) malheureusement le problème reste entier pour les cases à cocher, à la place d'avoir les valeurs qui ont été cochées j'obtiens "ARRAY"

Merci de m'aider

Répondre à franck

3

Mister_S, le vendredi 18 août 2006 à 00:44:29

Bonjour
si je peux me permettre tu le mets à la place de <option selected> sur la 7eme ligne que l'on voit de ton code
cdt
Mister S

Répondre à Mister_S

5

franck, le vendredi 18 août 2006 à 00:51:46

Merci Mister_S

Par contre pour moi le mystère reste entier pour les cases à cocher, cela me renvois "ARRAY" et je ne sais pas comment faire pour avoir la ou les valeurs cochées

merci de ton aide

Cdt

Répondre à franck

6

Mister_S, le vendredi 18 août 2006 à 01:57:11

C'est normal !
dans ton fichier de formulaire au lieu de mettre

...<input type="checkbox" name="quand[]" option value="matin" cl...

mets plutôt :
...<input type="checkbox" name="quand[0]" option value="matin" cl...


et incremente les autres aussi !
input type="checkbox"  name="quand[1]" class="case" opti
dans ton fichier PHP : n'oublie pas le +1 pour la valeur $c

<? if (isset($_POST['quand'])) {
   for ($i = 0, $c = count($_POST['quand']) ;  $i < $c+1; $i++) { echo "<br/><b>" .$_POST['quand'][$i]."</b>";  }
	} 
?>


c'est bon comme ça ?
--
cdt
Mister S

Répondre à Mister_S

7

poof65, le vendredi 18 août 2006 à 09:10:27

Mister_S > pas besoin de faire ça, ça fonctionne très bien en laissant seulement []

Pour les checkox c'est <input type="checkbox" checked>, pas besoin de mettre option
--------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!

Répondre à poof65

8

franck, le vendredi 18 août 2006 à 16:41:26

Je ne voudrais par paraître désobligeant mais ca ne marche toujours pas :o(((

même avec vos deux méthodes mon mail est toujours vide du résulatat des cases à cochés

Cdt

Répondre à franck

9

Darshu, le vendredi 18 août 2006 à 16:45:50

Salut.

J'ai déja fait ce genre de truc, et quand tu utilises un tableau comme tu le fais, il faut faire une petite manip que voila (avec <INPUT TYPE="checkbox" NAME="quand[]" VALUE="toto">) :

$tab_quand = $_POST['quand']; //$tab_quand est un tableau, attention !!!!
foreach($tab_quand as $quand)
{
    echo $quand.' ';
}
Voila, tu n'as plus qu'à prendre exemple sur ce que je t'ai mis pour en faire le traitement souhaité. Par exemple, si tu souhaites récupérer tous les "quand" dans une seule variable, tu peux faire $message = "" et dans ton foreach : $message .= $quand

T'as pensé à regarder sur Google avant de poser ta question ? 

Répondre à Darshu

10

poof65, le vendredi 18 août 2006 à 16:48:11

Ou implode('', $_POST['quand']) --------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!

Répondre à poof65

11

zevinny, le vendredi 18 août 2006 à 22:05:33

Hey, bonsoir je dirais!

Je n'ai pas de grande connaissanes en php, mais ce lien <url>http://www.toulouse-renaissance.net/c_outils/c_formulaire.htm </url>m'a permis de faire mon petit formulaire!

Et sans trop chippoter!

Bien à toi!

Répondre à zevinny

12

franck, le lundi 21 août 2006 à 11:38:40

Merci !!! presque super ;o(( j'avance enfin je n'ai plus "array" mais que la dernière case coché (si 3 cases cochées je ne recois que la dernière

Merci encore

Répondre à franck

13

Darshu, le lundi 21 août 2006 à 11:53:42

Tu dis que si 3 cases sont cochées tu ne reçois que la dernière ? N'as tu pas oublié un point (.) devant un = d'affectation des fois ? Montre ton code (juste l'essentiel, pas les 300 lignes d'avant qui ne servent que pour le formulaire !)

Et pour ton problème d'Array, c'est parce que la variable transmise était elle même un tableau, et que tu ne spécifiais pas quelle partie du tableau tu voulais voir ;)

T'as pensé à regarder sur Google avant de poser ta question ­? 

Répondre à Darshu

14

franck, le lundi 21 août 2006 à 15:25:04

Voila


$items = 5;
for ($i = 1; $i <= $items; $i++) { $texte.= "$quand[$i], "; }

encore merci de ton aide

cordialement

Répondre à franck

15

poof65, le lundi 21 août 2006 à 15:30:29

L'indexation d'un tableau commence à 0. --------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!

Répondre à poof65

16

Darshu, le lundi 21 août 2006 à 15:34:39
  • +3

Ca me parait OK ... Est-ce que tu as bien pensé à initialiser $texte avant ta boucle for ? Avec $texte = "" par exemple.

Enlève les guillemets autour de $quand[$i], bref ça donnerait :

for ($i=0; $i < $items; $i++)
    $texte .= $quand[$i];
A noter : on compte TOUJOURS à partir de 0 en PHP (et en C,C++,Python ...) et non de 1. Les accolades dans ce cas la ne servent à rien : après un for, un if, un elif, un else ou un while, si il n'y a pas d'accolades, PHP considère que seule la première ligne qui suit est à traiter, et place donc automatiquement et "virtuellement" une paire d'accolades sur la première ligne qui suit la structure conditionnelle. Ca permet de gagner un peu de clarté ;)

T'as pensé à regarder sur Google avant de poser ta question ? 

Répondre à Darshu

17

franck, le lundi 21 août 2006 à 16:13:31

MILLES MERCI A TOUT LE MONDE, projet presque bouclé car il me refuse dans traitement de faire un espace entre chaque éléments cochés , dois-je le faire sous html?

ENCORE MILLE MERCI

Répondre à franck

19

Darshu, le lundi 21 août 2006 à 16:38:22

Sinon tu peux forcer l'espacement avec   (Non Breaking SPace). Soit $texte .= $quand[$i]." ";

T'as pensé à regarder sur Google avant de poser ta question ? 

Répondre à Darshu

18

poof65, le lundi 21 août 2006 à 16:36:26

Essaie ça et seulement ça (pas de boucle for).
$texte = implode(' ', $quand); --------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!

Répondre à poof65

20

 franck, le lundi 21 août 2006 à 22:43:50

CA MARCHE !!!!

MILLE MERCI, a tous

Merci

Répondre à franck
[html,php,javascript ->form] donner le focus bonjour .... savez vous comment fait on pour donner par defaut le focus à un champ de saisie dans un formulaire ?? que ça soit en html, php , javascript ?? merci www.commentcamarche.net/forum/affich-307386-html-php-javascript-form-donner-le-focus
[PHP-HTML] checkbox cochée ou non ? Bonjour, j'ai cherché en vain une réponse à ma question sur ce forum. Voilà mon problème : j'ai un formulaire HTML dans une première page : Que voulez-vous étudier ? Cocher les cases utiles. www.commentcamarche.net/forum/affich-1736523-php-html-checkbox-cochee-ou-non
Cases à cocher MySql/php salut a tous :o) dans un site en Php les utilisateur ont le choix entre plusieurs checkbox, le probleme c'est comment recuperer les cases cochées et les stockes sous Mysql, ensuite apres recuperation, comment ne cocher que celle qui avait été... www.commentcamarche.net/forum/affich-373520-cases-a-cocher-mysql-php
Javascript - Modifier la hauteur (height) d'un élément HTMLPour modifier la hauteur d'un élément HTML en javascript, il suffit d'utiliser sa propriété de style "height". Pour cela vous pouvez y faire référence de la manière suivante : Si vous souhaitez connaître la hauteur (height) d'un bloc HTML, il... www.commentcamarche.net/faq/sujet-11740-javascript-modifier-la-hauteur-height-d-un-element-html
[HTML/PHP] Bouton Parcourir pour enregistrer (Résolu)Bonjour à tous, J'essaye actuellement de créer pour un projet, un système permettant de créer un fichier texte contenant différentes sortes d'informations, et ce depuis une page HTML/PHP. Le but étant que l'utilisateur choisisse l'endroit où va être... www.commentcamarche.net/forum/affich-1525332-html-php-bouton-parcourir-pour-enregistrer
PHP-HTML -> PDFJe recherche comment faire pour pouvoir créer un fichier .pdf à partit d'un site en html/PHP. Est-ce que c'est possible? Comment faire? www.commentcamarche.net/forum/affich-8238-php-html-pdf
[HTML -> PHP] - Transmission variable par URLVoici mon problème : J'ai créé un site. J'ai une page (nommée "p1.htm") avec plusieurs sujets en html. Et un lien appelé "poster un commentaire" qui mene vers une page appelée "com.php" (qui contient un formulaire avec 4 champs non cachés) pour chaque... www.commentcamarche.net/forum/affich-3108083-html-php-transmission-variable-par-url
Implantation du code PhpL'interprétation du code par le serveur Un script PHP est un simple fichier texte contenant des instructions écrites à l'aide de caractères ASCII 7 bits (des caractères non accentués) incluses dans un code HTML à l'aide de balises spéciales et... www.commentcamarche.net/contents/php/phpimplant.php3
Caractères spéciaux HTMLCodage des caractères spéciaux Le standard HTML demande de respecter le codage des caractères ASCII 7 bits, c'est-à-dire que les caractères accentués ne sont pas autorisés. Il faut pour cela utiliser un codage particulier. Pour... www.commentcamarche.net/contents/html/htmlcarac.php3
PHP - Parser du XMLIntroduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de... www.commentcamarche.net/contents/php/phpxml.php3