[RESOLU] Array de checkbox

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Array de checkbox

Re: [RESOLU] Array de checkbox

par xTG » 26 sept. 2012, 14:10

Cette erreur s'explique par la présence de caractère envoyé au navigateur avant le header().
Car cette fonction doit pouvoir écrire dans l'entête, or tout caractère blanc ou html ferme l'entête et écrit dans le corps.

Re: Array de checkbox

par sanku » 26 sept. 2012, 12:28

A pardon j'avais du faire une erreur de manip, merci bien !

Re: Array de checkbox

par sanku » 26 sept. 2012, 11:56

Ok merci alors je reçois bien le mail avec les infos...

Par contre je ne suis pas redirigé vers ma page merci.html et j'ai la page _mail.php qui m'affiche :

Warning: Cannot modify header information - headers already sent by (output started at /homepages/35/d428868549/htdocs/_mail.php:3) in /homepages/35/d428868549/htdocs/_mail.php on line 39

la ligne 39 correspond à
header("Location:$success_page_name");

Re: Array de checkbox

par xTG » 26 sept. 2012, 11:26

Tu reçois donc bien les données.
Pour les exploiter :
$fieldnm_1 = implode("<br />", $_REQUEST['fieldnm_l']);
(pour transformer l'array en chaîne de caractères dont chaque index est séparé par une balise br.

Re: Array de checkbox

par sanku » 26 sept. 2012, 10:51

Ça me renvoie :

array(2) { [0]=> string(5) "Paris" [1]=> string(9) "Marseille" }
Warning: Cannot modify header information - headers already sent by (output started at /homepages/35/d428868549/htdocs/_mail.php:3) in /homepages/35/d428868549/htdocs/_mail.php on line 39

Re: Array de checkbox

par xTG » 26 sept. 2012, 10:33

Que te donnes un var_dump($_REQUEST['fieldnm_l']); ?

Array de checkbox

par sanku » 26 sept. 2012, 10:14

Bonjour à tous,

J'ai récupéré une page avec un formulaire de contact et je dois rajouter un item en checkbox, j'ai dépoussiéré voici mes codes :
<form name="form1" method="POST" action="_mail.php" onSubmit="return CheckAll(this);">
<table width="708" border="0" cellspacing="1" cellpadding="2">


    <tr>
      <td width="165" align="right" valign="top">Villes *: </td>
      <td width="565" align="left" valign="top">
      <input name="fieldnm_1" type="checkbox" value="Paris" />
      Paris
      <input name="fieldnm_1" type="checkbox" value="Lyon" />
      Lyon
      <input name="fieldnm_1" type="checkbox" value="Marseille" />
      Marseille</td>
    </tr>

    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit" value="Submit">
      <input type="reset" name="Submit2" value="Reset"></td>
    </tr>
</table>
</form>
<?php ob_start();
$fromemail="Prise de contact <[email protected]>";
$toemail="[email protected]"; 
$sub="Contactez nous"; 
$success_page_name="merci.html";


if($_SERVER['REQUEST_METHOD']=="POST")
{
$fieldnm_1=str_replace ( array("\n"), array("<br>"),trim($_REQUEST['fieldnm_1']));  


$contentmsg=stripslashes("<br><b><font style=color:#CC3300>$sub</font></b><br>
<table width=708 border=0 cellpadding=2 cellspacing=1 bgcolor=#CCCCCC>

<tr>
      <td width=165 align=right valign=top bgcolor=#FFFFFF><B>Villes *:</b> </td>
      <td width=565 align=left valign=top bgcolor=#FFFFFF>$fieldnm_1</td>
</tr>

</table>
");

$headers  = "MIME-Version: 1.0
";
$headers .= "Content-type: text/html; charset=iso-8859-1
";
				
$from=$fromemail;
				
$headers .= "From: ".$from." 
";
				
@mail($toemail,$sub,$contentmsg,$headers);
				
				
header("Location:$success_page_name");

}
?>

Donc je réceptionne bien mon message mais je n'ai qu'une seule valeur de récupérée alors que j'en voudrais plusieurs si plusieurs sont cochées...

J'ai rajouté au name de mes input
fieldnm_1[] 
et collé un truc du genre
$fieldnm_1=str_replace ( array("\n"), array("<br>"),trim($_REQUEST['fieldnm_1'][$i]));
Mais bon impossible de récupérer cette liste, dans mon mail,

Merci d'avance ;)