checkbox php mysql form

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 : checkbox php mysql form

Re: checkbox php mysql form

par moogli » 26 mars 2012, 09:53

pour les textatre et texte (password etc ) oui mais les checkbox sont différentes. Elle n'existe que si elles sont cochées.

Donc si pas cochée => undefined index !

ensuite c'est aussi une bonne pratique pour tous les champs car tu ne peux pas être certain que les gens arrivent sur cette page ont posté un formulaire, ni même si le formulaire est complet ;)


@+

Re: checkbox php mysql form

par piotrowski-s » 26 mars 2012, 09:45

mais un input type text ou textaerea vide renvoit bien une chaine de caracteres vides? par consequent la variable is not empty?

Re: checkbox php mysql form

par xTG » 26 mars 2012, 09:28

Bah il faut tester l'existence de la variable.
On ne balance jamais des données utilisateurs ainsi directement dans une requête !
Toujours vérifier les données, toujours !
if( !isSet($_POST['maCheckbox']) ){
  $maCheckbox = "non";
}else{
  if( !in_array($_POST['maCheckbox'], array('oui', 'non')) )
    $maCheckbox = "non";
  else
    $maCheckbox = $_POST['maCheckbox'];
}

Re: checkbox php mysql form

par piotrowski-s » 26 mars 2012, 09:22

j'ai essayé avec du javascript

Code : Tout sélectionner

<<input type="checkbox" name="artisan" value="non" onclick="this.value=(this.value==non)?oui:non" />
cela n'a pas fonctionné je ne sais pas pourquoi. j'ai donc rajouté un input de type hidden et cela fonctionne bien. Merci pour votre aide :)
<input type="hidden" name="personne" value="0" />
<input type="checkbox" name="personne" value="1" />

checkbox php mysql form

par piotrowski-s » 26 mars 2012, 08:31

Bonjour à tous, j'ai ce formulaire ci, qui me renvoit certaines données à insérer dans ma bdd.
  <form  name="add-client" method="post" action="add-client2.php">
              <table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td width="59%"><p align="left">CODE CLIENT: </p></td>
                  <td colspan="3">
                  <input name="code_client" type="text" size="10" maxlength="4" /></td>
                </tr>
                <tr>
                  <td>PERSONNE MORALE</td>
                  <td colspan="3"><input type="checkbox" name="personne_morale"  /></td>
                </tr>
                <tr>
                  <td>PERSONNE PHYSIQUE:</td>
                  <td width="7%"><input type="checkbox" name="personne_physique"  /></td>
                  <td width="32%">PARTICULIER <br />
                  ARTISAN</td>
                  <td width="2%"><input type="checkbox" name="particulier"  />
                    <br />
                  <input type="checkbox" name="artisan"  /></td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                  <td colspan="3">&nbsp;</td>
                </tr>
                <tr>
                  <td colspan="4" align="center"><strong><img src="images/images.jpg" width="41" height="29" />RENSEIGNEMENTS LEGAUX</strong></td>
                </tr>
                <tr>
                  <td>FORME JURIDIQUE:</td>
                  <td colspan="3"><input name="forme_juridique" type="text"  /></td>
                </tr>
                <tr>
                  <td>NOM COMMERCIAL:</td>
                  <td colspan="3"><input name="nom_commercial" type="text" id="nom_commercial"  /></td>
                </tr>
                <tr>
                  <td><p align="left">RAISON SOCIALE:</p></td>
                  <td colspan="3"><input name="raison_sociale" type="text" id="raison_sociale"  /></td>
                </tr>
                <tr>
                  <td><p align="left">CAPITAL SOCIAL:</p></td>
                  <td colspan="3"><input name="capital_social" type="text" id="capital_social"  /></td>
                </tr>
                <tr>
                  <td>SIRET:</td>
                  <td colspan="3"><input name="siret" type="text" id="siret"  /></td>
                </tr>
                <tr>
                  <td>CODE APE (NAF):</td>
                  <td colspan="3"><input name="code_ape" type="text" id="code_ape"  /></td>
                </tr>
                <tr>
                  <td>N&deg; TVA INTRA:</td>
                  <td colspan="3"><input name="tva_intra" type="text" id="tva_intra"  /></td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                  <td colspan="3">&nbsp;</td>
                </tr>
                <tr>
                  <td colspan="4" align="center"><strong><img src="images/activity.jpg" width="35" height="35" />DIVERS</strong></td>
                </tr>
                <tr>
                  <td>IBAN:</td>
                  <td colspan="3"><input name="iban" type="text" id="iban"  /></td>
                </tr>
                <tr>
                  <td>SWIFT:</td>
                  <td colspan="3"><input name="swift" type="text" id="swift"  /></td>
                </tr>
                <tr>
                  <td>COMPTE GENERAL:</td>
                  <td colspan="3"><input name="cpte_general" type="text" id="cpte_general"  /></td>
                </tr>
                <tr>
                  <td>COMPTE TIERS:</td>
                  <td colspan="3"><input name="cpte_tiers" type="text" id="cpte_tiers"  /></td>
                </tr>
                <tr>
                  <td>NOTE:</td>
                  <td colspan="3"><select name="note">
                    <option value="0">0</option>
                    <option value="0.5">0.5</option>
                    <option value="1">1</option>
                    <option value="1.5">1.5</option>
                    <option value="2">2</option>
                    <option value="2.5">2.5</option>
                    <option value="3">3</option>
                    <option value="3.5">3.5</option>
                    <option value="4">4</option>
                    <option value="4.5">4.5</option>
                    <option value="5">5</option>
                  </select></td>
                </tr>
                <tr>
                  <td colspan="4"><p align="center"><strong><img src="images/reference.jpg" width="35" height="35" />CORRESPONDANCE</strong></p></td>
                </tr>
                <tr>
                  <td>NOMBRE DE D'ADRESSE(S):</td>
                  <td colspan="3"><select name="tiers
                 " id="select">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                  </select></td>
                </tr>
                <tr>
                  <td>NOMBRE DE TIERS:</td>
                  <td colspan="3"><select name="adresse" id="tiers
                 ">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                  </select></td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                  <td colspan="3">&nbsp;</td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                  <td colspan="3">&nbsp;</td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                  <td colspan="3" align="right"><input type="image" src="images/arrow.png" width="52" height="43" /></td>
                </tr>
              </table>
            </form>


Le soucis c'est que j'ai des undefined var au niveau des checkbox qui ne sont pas cochées.

voici la page d'insertion.
<?php
$sql = 'INSERT INTO client SET  `code_client` = "'.mysql_real_escape_string($_POST['code_client']).'", `personne_morale`="'.mysql_real_escape_string($_POST['personne_morale']).'" , `personne_physique` ="'.mysql_real_escape_string($_POST['personne_physique']).'" , `artisan` ="'.mysql_real_escape_string($_POST['artisan']).'" , `particulier`  ="'.mysql_real_escape_string($_POST['particulier']).'" , `forme_juridique`  ="'.mysql_real_escape_string($_POST['forme_juridique']).'" , `nom_commercial`  ="'.mysql_real_escape_string($_POST['nom_commercial']).'" , `adresse2-5`  ="'.mysql_real_escape_string($_POST['raison_sociale']).'" , `capital_social`  ="'.mysql_real_escape_string($_POST['capital_social']).'" , `siret`  ="'.mysql_real_escape_string($_POST['siret']).'" , `pays5`  ="'.mysql_real_escape_string($_POST['code_ape']).'" , `tva_intra`  ="'.mysql_real_escape_string($_POST['tva_intra']).'" , `iban`  ="'.mysql_real_escape_string($_POST['iban']).'" , `swift`  ="'.mysql_real_escape_string($_POST['swift']).'" , `cpte_general`  ="'.mysql_real_escape_string($_POST['cpte_general']).'", `cpte_tiers`  ="'.mysql_real_escape_string($_POST['cpte_tiers']).'", `note`  ="'.mysql_real_escape_string($_POST['note']).'"' ;
                    


mysql_query($sql) or die(__LINE__.mysql_error().$sql);

echo "<h2><p align='center' />données insérées avec succès </h2><br /> <br /> <br /> <br / ><br /><A href=\"javascript:window.close('_blank');\">Vous pouvez fermer cette fenêtre <img src='images/close.png' /></A> </p> ";
?>

D'avance merci pour votre aide.

Cdt.