begin process at 2012 05 31 02:37:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Aide & documentation

 > 

probleme squr formulaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme squr formulaire

mardi 2 février 2010 à 00:42:04 | probleme squr formulaire

olisnow

Bonjour, j'ai un soucis sur un formulaire:
j essaye d'envoyer par mail plusieurs données d'un checkbox


Code PHP :
<?php
    @$graphisme = $_POST["graphisme"];
   for ($i=0; $i<count($graphisme); $i++) {$graphisme[$i].'

';}

   
    $mail = 'choix: '.$graphisme[$i].'

';."\r\n";

?>
<html>
<body>
<form action="test.php" method="post">
<?php echo $mail; ?>
    Qu'est-ce que vous aimer ?

    <input type="checkbox" name="graphisme[]" value="web" />
    Faire du shopping

    <input type="checkbox" name="graphisme[]" value="design" />
    Faire du sport

    <input type="checkbox" name="graphisme[]" value="php" />
    Aller au théatre

    <input type="checkbox" name="graphisme[]" value="html" />
    Aller au cinéma

    <input type="submit" value="Ma réponse"/>
</form>
</body>
</html>



je voudrais avoir un truc du genre si le client choisi les 2 possibilités
choix = web
choix = design

merci d'avance


Olisnow
mardi 2 février 2010 à 02:37:42 | Re : probleme squr formulaire

neigedhiver

Salut,

Tu cherches à faire quoi exactement avec ce code ?
Code PHP :
@$graphisme = $_POST["graphisme"];
   for ($i=0; $i<count($graphisme); $i++) {$graphisme[$i].'

';}

Si tu veux qu'il affiche quelque chose, faut peut-être le lui demander...
Pour parcourir un tableau du début à la fin, for c'est assez dégueu... Le mieux ça reste foreach :
Code PHP :
foreach ($_POST['graphisme'] as $graphisme) {
  echo $graphisme;
}


Je vois pas non plus pourquoi tu mets un @ devant la déclaration de variable, son seul et unique effet dans ce cas est de consommer des ressources. Si tu souhaites masquer l'erreur dans le cas où $_POST['graphisme'] n'est pas défini, le mieux c'est encore de tester que cette variable est définie avant de l'utiliser. Masquer l'erreur qui se produit, c'est crade (c'est une très mauvaise habitude qui peut jouer de mauvais tours dans certaines circonstances et causer une diminution significative de la masse capillaire pour cause d'arrachage manuel à force de chercher d'où vient l'erreur que l'on refuse d'afficher).

Code PHP :
if (isset($_POST['graphisme'])) {
  foreach ($_POST['graphisme'] as $graphisme) {
    echo $graphisme;
  }
}


--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
mardi 2 février 2010 à 09:39:04 | Re : probleme squr formulaire

olisnow


excuse moi je te met le code complet:

Code PHP :
<?php
/* Si le formulaire est envoyé alors on fait les traitements */
if (isset($_POST['envoye']))
{
    /* Récupération des valeurs des champs du formulaire */
    if (get_magic_quotes_gpc())
    { 
	  	  
	  $nom          = stripslashes(trim($_POST['nom']));
	  $prenom       = stripslashes(trim($_POST['prenom']));
	  $tel          = stripslashes(trim($_POST['tel']));
	  $adresse      = stripslashes(trim($_POST['adresse']));
	  $adresse1     = stripslashes(trim($_POST['adresse1']));
	  $cp           = stripslashes(trim($_POST['cp']));
	  $ville        = stripslashes(trim($_POST['ville']));
	  $email        = stripslashes(trim($_POST['email']));
	  $expediteur	= stripslashes(trim($_POST['email']));
      $sujet		= stripslashes(trim($_POST['sujet']));
      $message		= stripslashes(trim($_POST['message']));
	  $pages		= stripslashes(trim($_POST['pages']));
	  @$qualifierbesoin = stripslashes(trim($_POST['qualifierbesoin']));
	  $graphisme0	= stripslashes(trim($_POST['graphisme0']));
	  $graphisme1	= stripslashes(trim($_POST['graphisme1']));
	  $graphisme2	= stripslashes(trim($_POST['graphisme2']));
	  $graphisme3	= stripslashes(trim($_POST['graphisme3']));

		
    }
    else
    {
     	  
	  $nom          = stripslashes(trim($_POST['nom']));
	  $prenom       = stripslashes(trim($_POST['prenom']));
	  $tel          = stripslashes(trim($_POST['tel']));
	  $adresse      = stripslashes(trim($_POST['adresse']));
	  $adresse1     = stripslashes(trim($_POST['adresse1']));
	  $cp           = stripslashes(trim($_POST['cp']));
	  $ville        = stripslashes(trim($_POST['ville']));
	  $email        = stripslashes(trim($_POST['email']));
	  $expediteur	= stripslashes(trim($_POST['email']));
      $sujet		= stripslashes(trim($_POST['sujet']));
      $message		= stripslashes(trim($_POST['message']));
	  @$souhait0		= stripslashes(trim($_POST['souhait0']));
	  @$souhait1		= stripslashes(trim($_POST['souhait1']));
	  @$souhait2		= stripslashes(trim($_POST['souhait2']));
	  @$souhait3		= stripslashes(trim($_POST['souhait3']));
	  @$souhait4		= stripslashes(trim($_POST['souhait4']));
	  @$souhait5		= stripslashes(trim($_POST['souhait5']));
	  @$souhait6		= stripslashes(trim($_POST['souhait6']));
	  $pages		= stripslashes(trim($_POST['pages']));
	  @$qualifierbesoin = stripslashes(trim($_POST['qualifierbesoin']));
	  @$graphisme0	= stripslashes(trim($_POST['graphisme0']));
	  @$graphisme1	= stripslashes(trim($_POST['graphisme1']));
	  @$graphisme2	= stripslashes(trim($_POST['graphisme2']));
	  @$graphisme3	= stripslashes(trim($_POST['graphisme3']));

    }
    
	
    /* Expression régulière permettant de vérifier si le 
    * format d'une adresse e-mail est correct */
    $regex_mail = '/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i';
    
    /* Expression régulière permettant de vérifier qu'aucun 
    * en-tête n'est inséré dans nos champs */
    $regex_head = '/[\n\r]/';
    
    /* Si le formulaire n'est pas posté de notre site on renvoie 
    * vers la page d'accueil */
    if($_SERVER['HTTP_REFERER'] != 'http://127.0.0.1/olive/devis.php?Url=devis')
    {
      header('Location: http://127.0.0.1/olive/devis.php?Url=devis');
    }
    /* On vérifie que tous les champs sont remplis */
    elseif (empty($nom) 
		   || empty($prenom)
		   || empty($tel)
		   || empty($email)
		   || empty($message)
           || empty($expediteur))  
    {
      $alert = 'Tous les champs doivent être renseignés';
    }
    /* On vérifie que le format de l'e-mail est correct */
    elseif (!preg_match($regex_mail, $expediteur)
			|| preg_match($regex_head, $email))
    {
      $alert = 'L\'adresse '.$expediteur.' n\'est pas valide';
    }
    /* On vérifie qu'il n'y a aucun header dans les champs */
    elseif (preg_match($regex_head, $expediteur) 
            || preg_match($regex_head, $nom) 
            || preg_match($regex_head, $sujet))
    {
        $alert = 'En-têtes interdites dans les champs du formulaire';
    }
    /* Si aucun problème et aucun cookie créé, on construit le message et on envoie l'e-mail */
    elseif (!isset($_COOKIE['sent']))
    {
        /* Destinataire (votre adresse e-mail) */
        $to = 'test@gmail.com';
      
	  
	  
        /* Construction du message */
        $msg  = 'Coucou, voici un nouveau devis!'."\r\n\r\n";
        $msg .= 'Ce mail est envoyer depuis la page Devis du site par '.$nom.' '.$prenom."\r\n\r\n";
        $msg .= 'Qui: '.$nom.' '.$prenom."\r\n";		
		$msg .= 'Adresse: '.$adresse."\r\n";
		$msg .= 'Adresse(suite): '.$adresse1."\r\n";
		$msg .= 'Code Postal: '.$cp."\r\n";
		$msg .= 'Ville: '.$ville."\r\n";		
		$msg .= 'Tel: '.$tel."\r\n";
		$msg .= 'Email: '.$email."\r\n\r\n";
		$msg .= 'Voici le message :'."\r\n";
        $msg .= '***************************'."\r\n";
        $msg .= $message."\r\n";
        $msg .= '***************************'."\r\n\r\n";
		$msg .= 'Plus de detaille sur la commande de la commande :'."\r\n";		
		$msg .= 'Souhait :'.$souhait0."\r\n";
		$msg .= 'Souhait :'.$souhait1."\r\n";
		$msg .= 'Souhait :'.$souhait2."\r\n";
		$msg .= 'Souhait :'.$souhait3."\r\n";
		$msg .= 'Souhait :'.$souhait4."\r\n";
		$msg .= 'Souhait :'.$souhait5."\r\n";
		$msg .= 'Souhait :'.$souhait6."\r\n";		
		$msg .= 'Besoin :'.$qualifierbesoin."\r\n";		
		$msg .= 'Graphisme :'.$graphisme0."\r\n";
		$msg .= 'Graphisme :'.$graphisme1."\r\n";
		$msg .= 'Graphisme :'.$graphisme2."\r\n";
		$msg .= 'Graphisme :'.$graphisme3."\r\n";
		$msg .= 'Nbre de pages :'.$pages."\r\n";
        
        /* En-têtes de l'e-mail */
        $headers = 'From: '.$nom.' <'.$expediteur.'>'."\r\n\r\n";
        
        /* Envoi de l'e-mail */
        if (mail($to, $sujet, $msg, $headers))
        {
            $alert = 'E-mail envoyé avec succès';
            
            /* On créé un cookie de courte durée (ici 120 secondes) pour éviter de 
            * renvoyer un mail en rafraichissant la page */
            setcookie("sent", "1", time() + 120);
            
            /* On détruit la variable $_POST */
            unset($_POST);
        }
        else
        {
            $alert = 'Erreur d\'envoi de l\'e-mail';
        }
          
    }
    /* Cas où le cookie est créé et que la page est rafraichie, on détruit la variable $_POST */
    else
    {
        unset($_POST);
    }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Olivier GRENET - Auto Entrepreneur - Conseil - Webdesign - Formation</title>

<!-- Debut des Meta -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="Description" content="Grenet Olivier - Auto-entrepreneur - Conseil - WebDesign - Formation" />
<meta name="Keywords" content="Grenet Olivier,Auto-entrepreneur,conseil,webDesign,formation, maintenance, informatique" />
<meta name="abstract" content="Grenet Olivier - Auto-entrepreneur - Conseil - WebDesign - Formation">
<meta name="robots" content="All." />
<meta name="Author" content="GRENET OLIVIER">
<meta name="Copyright" content="Copyright©GRENET OLIVIER 2009"> 
<meta name="Indentifier-URL" content="http://grenetolivier.fr/">
<meta name="Generator" content="Pspad,Dreamweaver">
<meta name="Date" content="23 Mai 2009"> 
<meta http-equiv="language" content="fr"> 
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<!-- Fin des Meta -->
<link rel="icon" href="favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">


<!-- Debut CSS -->
<link rel="stylesheet" href="css/style.css"  type="text/css" media="screen" />
<!-- Fint CSS -->

<script language="JavaScript">
function retour() {
window.history.back();
}
</script>
<STYLE TYPE="text/css" MEDIA="screen,print">
@font-face {
font-family: "HoboStd";
src: local("HoboStd"), url("font/HoboStd.ttf");
format ("truetype");
}
.font { font-family: HoboStd }
</STYLE>
</head>

<body bgcolor="#FFF">
<table width="1316" height="106" border="0">
      <tr>
        <td width="329" height="102" align="right"><a href="javascript:history.back()" ><img src="img/retour.png" width="55"  border="0" /></a></td>
        <td width="655" align="center" class="font"><img src="img/icon/devis.png" width="75"  border="0" />&nbsp;<b><font size="4" color="#CCC">Devis</font></b></td>
        <td width="318"><img src="img/grenet_olivier.png"  border="0" /></td>
      </tr>
</table>
<div align="center">
       	<a href="home.php?Url=accueil"><img src="img/nav/accueil.png"  border="0" /></a>
        <a href="news.php?Url=News"><img src="img/nav/news.png"  border="0" /></a>
        <a href="conseil.php?Url=conseil"><img src="img/nav/conseil.png"  border="0" /></a>
        <a href="web.php?Url=web"><img src="img/nav/web.png"  border="0" /></a>
        <img src="img/nav/devis.png"  border="0"/>
        <a href="contact.php?Url=contact"><img src="img/nav/contact.png"  border="0" /></a>
</div>

<div id="conseil"  align="center" class="font">
<br />

<b><font size="4" color="#999999">Devis:</font></b><br /><br />

<font size="2" color="#FFF">&nbsp;&nbsp;Pour  que je vous communique un devis de création de site Internet,  je dois connaître votre projet<br /> et vos attentes. Pour cela, merci de  compléter le formulaire situé ci-dessous de  manière détaillée. <br />
                Vous pouvez aussi me contacter directement par téléphone au <strong>06 16 25 14 76</strong>.</font><br /><br />
	<form action="devis.php?Url=devis"  method='post' >
   <p align="center"><font color="red"><?php if (!empty($alert)){echo $alert ;}?></font></p>
  <p align="center"<FONT color=red>* Champ Obligatoire</FONT></p>
               
     
     
     <b><font size="2" color="#999999">Vos coordonnées:</font></b><br />
   <table width="395" border="0"   align="center">
  <tr>
    <td width="122"><label align="center" for="nom"><FONT size="2" color="#999999">Nom :</FONT><FONT color=red>*</FONT></label></td>
    <td width="263"><input type="text" id="nom" name="nom" title="Veuillez saisir votre prénom"
        	value="<?php echo (isset($_POST['nom'])) ? $nom : '' ?>" /></td>
  </tr>
    <tr>
    <td><label for="prenom"><FONT size="2" color="#999999">Prenom : </FONT><FONT color=red>*</FONT></label></td>
    <td><input type="text" id="prenom" name="prenom" title="Veuillez saisir votre prénom"
        	value="<?php echo (isset($_POST['prenom'])) ? $prenom : '' ?>" /></td>
  </tr>
    <tr>
    <td><label for="tel"><FONT size="2" color="#999999">Adresse : </FONT><FONT color=red>*</FONT></label></td>
    <td><input type="text" id="adresse" name="adresse" 
        	value="<?php echo (isset($_POST['adresse'])) ? $adresse : '' ?>" /></td>
  </tr>
    <tr>
    <td><label for="tel"><FONT size="2" color="#999999">Adresse (suite) : </FONT></label></td>
    <td><input type="text" id="adresse1" name="adresse1" 
        	value="<?php echo (isset($_POST['adresse1'])) ? $adresse1 : '' ?>" /></td>
  </tr>
    <tr>
    <td><label for="tel"><FONT size="2" color="#999999">Code Postal : </FONT><FONT color=red>*</FONT></label></td>
    <td><input type="text" id="cp" name="cp" 
        	value="<?php echo (isset($_POST['cp'])) ? $cp : '' ?>" /></td>
  </tr>
    <tr>
    <td><label for="tel"><FONT size="2" color="#999999">Ville : </FONT><FONT color=red>*</FONT></label></td>
    <td><input type="text" id="ville" name="ville" 
        	value="<?php echo (isset($_POST['ville'])) ? $ville : '' ?>" /></td>
  </tr>
  <tr>
    <td><label for="tel"><FONT size="2" color="#999999">Téléphone : </FONT><FONT color=red>*</FONT></label></td>
    <td><input type="text" id="tel" name="tel" 
        	value="<?php echo (isset($_POST['tel'])) ? $tel : '' ?>" /></td>
  </tr>
  <tr>
    <td><label for="email"><FONT size="2" color="#999999">E-mail : </FONT><FONT color=red>*</FONT></label></td>
    <td><input type="text" id="email" name="email" 
        	value="<?php echo (isset($_POST['email'])) ? $expediteur : '' ?>" /></td>
  </tr>
</table>
    
        <label for="sujet"></label>
        <input type="hidden" id="sujet" name="sujet" 

        	value="<?php echo (isset($_POST['sujet'])) ? $sujet : 'Nouveau devis du site Grenet-Conseil' ?>"
        />

 <table width="395" border="0"   align="center">
  <tr>
    <td width="130"><label for="message"><FONT size="2" color="#999999">Message :</FONT><FONT color=red>*</FONT></label></td>
    <td width="263"><textarea id="message" name="message" cols="30" rows="4">
			<?php echo (isset($_POST['message'])) ? $message : '' ?>
        </textarea></td>
   </tr>
</table>     
     <br />
     <b><font size="2" color="#999999">Vous souhaitez:</font></b><br />
     <font size="2" color="#FFF">
          		<INPUT size=30 type='checkbox' name="souhait0" value="Creer un site internet">Créer un site internet<br />
                <INPUT size=30 type='checkbox' name="souhait1" value="Refaire un site web existant">Refaire un site web existant  <br />
                <INPUT size=30 type='checkbox' name="souhait2" value="Une prestation specifique sur-mesure">Une prestation spécifique sur-mesure<br /> 
                <INPUT size=30 type='checkbox' name="souhait3" value="Une prestation d hebergement mutualiser de site Internet">Une prestation d&#8217;hébergement mutualisé de site Internet <br /> 
                <INPUT size=30 type='checkbox' name="souhait4" value="Une prestation dhebergement dedie de site Internet">Une prestation d&#8217;hébergement dédié de site Internet<br />
                <INPUT size=30 type='checkbox' name="souhait5" value="Une prestation de referencement de site Internet">Une prestation de référencement de site Internet <br />
                <INPUT size=30 type='checkbox' name="souhait6" value="Autres">Autres<br /><br />
  			
  			</font>
            
            
<b><font size="2" color="#999999">Qualifier votre besoin:</font></b><br />

<font size="2" color="#FFF">
            	<INPUT size=30 type='radio' name="qualifierbesoin" value="Site simple type vitrine" multiple>Site simple type vitrine<br />
                <INPUT size=30 type='radio' name="qualifierbesoin" value="Boutique de E-commerce" multiple>Boutique de commerce électronique<br />
                <INPUT size=30 type='radio' name="qualifierbesoin" value="Site de marque" multiple>Site de marque<br />
                <INPUT size=30 type='radio' name="qualifierbesoin" value="Site de gestion de contenu (CMS)" multiple>Site de gestion de contenu (CMS)<br />
                <INPUT size=30 type='radio' name="qualifierbesoin" value="Site Internet en plusieurs langues" multiple>Site Internet en plusieurs langues<br />
                <INPUT size=30 type='radio' name="qualifierbesoin" value="Autres" multiple>Autres<br /><br />
</font>
  			
  			
<b><font size="2" color="#999999">Design et graphisme:</font></b><br />
<font size="2" color="#FFF">
  				<INPUT size=30 type='checkbox' name="graphisme0" value="Logo a realiser">Logo à réaliser  <br /> 
                <INPUT size=30 type='checkbox' name="graphisme1" value="Charte graphique a realiser">Charte graphique à réaliser<br /> 
                <INPUT size=30 type='checkbox' name="graphisme2" value="Clip animer (Flash) a realiser">Clip animé (Flash) à réaliser <br /> 
                <INPUT size=30 type='checkbox' name="graphisme3" value="Autres">Autres<br /><br />
</font>
  			
            
            
            
<b><font size="2" color="#999999">Nombre de pages:</font></b>
            <SELECT name="pages"  class="font"> 
  				<OPTION  value="null" class="font"
                <?php 
                    if (!isset($_POST['pages']) || $_POST['pages'] == 'Nbre de pages')
                    {
                        echo ' selected="selected"';
                    }
                ?>
            >
            Nbre de pages
             </option>
             <option 
                value="de 1 a 5"
                <?php 
                    if (!isset($_POST['pages']) || $_POST['pages'] == 'de 1 a 5')
                   
                ?>
            >
                de 1 à 5
            </option>
            <option 
                value="de 5 a 10"
                <?php 
                    if (!isset($_POST['pages']) || $_POST['pages'] == 'de 5 a 10')
                   
                ?>
            >
                de 5 à 10
            </option>
            <option 
                value="+ de 10"
                <?php 
                    if (!isset($_POST['pages']) || $_POST['pages'] == '+ de 10')
                   
                ?>
            >
                + de 10
            </option>
              
                
  			</SELECT><br /><br />
  			
            
<input type="submit" name="envoye" value="Envoyer" />&nbsp;&nbsp;<input type="reset" name="Annuler" id="Annuler" value="Annuler" /> 
   
</form></p>
			</div></div>
</body>
</html>


mon souhait est de récupérer les valeur des checkbox j ai trouver une solution qui est ici mais ce n est pas terrible!
merci d avance
olivier

Olisnow


Cette discussion est classée dans : code, formulaire, probleme, aller, squr


Répondre à ce message

Sujets en rapport avec ce message

probleme de variable "perdu" dans un formulaire [ par salley ] Voila j'ai un menu qui me permet de modifier une liste deroulante. Pour cela je choisis d'abord la liste que je veux modifier. Ce resultat est stocker Probleme formulaire [ par DaFtOu ] bonjour j'ai fait un formulaire qui m'envoye un e-mail quand il est remplimais j'ai un probleme avec, il m'envoye un e-mail a chaque fois que quelqu'u Probleme formulaire et récupération des données [ par dasee ] Bonjour, Je suis un débutant et j'aimerai créer un formulaire pour la newsletter de mon site, après de multiples recherche je suis arrivé a deux code: probleme en registrement caractères spéciaux "quote" [ par ju0123456789 ] Bonjour, J'ai un petit probleme, je suis en train de créer une interface de saisie de matériel, et dans mes champs ça bug quand j'entre un apostrophe Confirmation d'envoi du formulaire [ par a44icus ] Bonjour, J'ai un formulaire sur mon site, et je souhaiterais qu'une fois que la personne ai cliqué sur le bouton "envoyer", qu'un texte du genre "Vot Formulaire de traitement contact [ par John38130 ] Bonjour ! J'ai créer un formulaire de contact pour mon site web.Et je voudrais savoir le code ou le script (je débute) qu'il faut avoir pour traiter l Calendrier avec date choisis + php [ par neurone84 ] Bonjour, J'ai un probleme avec les dates (j'avoue ne jamais avoir fait) et aimerais votre avis. Je creer un tableau avec mon calendrier, a l'interie vérification mail dans un formulaire [ par veston ] Bonjour à tous. Je viens faire appel à vous car je suis bloqué sur un code... J'essaye de créer un formulaire avec une vérification d'email en temps Verification formulaire pour eviter doublon de nom [ par sebing ] Bonjour, Novice en codage, j'ai pas réussi a trouver mon bonheur sur internet. J'ai un formulaire d'inscription mais j'aimerai rajouter un vérificate Probleme de reset sur un array () [ par agparchitecture ] Bonjour à tous, je compte sur vos connaissances pour pouvoir m'éclairer. Mon problème est le suivant: [code=php]<?php $Accept_Lang=explode(',',$_SER


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,591 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales