Manuels
Divers
Saisie non obligatoire
Bonjour,
Dans un formulaire, je souhaite que l'on puisse laisser vide le champ "adresse2" mais quand je le teste, ça ne fonctionne pas...
Pouvez-vous jeter un oeil à mon code ci-dessous et me dire ce qui ne va pas?
Merci mille mercis
Dans un formulaire, je souhaite que l'on puisse laisser vide le champ "adresse2" mais quand je le teste, ça ne fonctionne pas...
Pouvez-vous jeter un oeil à mon code ci-dessous et me dire ce qui ne va pas?
Merci mille mercis
- <?php
- // On commence par récupérer les champs
- if(isset($_POST['civilite'])) $civilite=$_POST['civilite'];
- else $civilite="t";
- if(isset($_POST['nomfamille'])) $nomfamille=$_POST['nomfamille'];
- else $nomfamille="z";
- if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
- else $prenom="z";
- if(isset($_POST['adresse1'])) $adresse1=$_POST['adresse1'];
- else $adresse1="z";
- if(isset($_POST['adresse2'])) $adresse2=$_POST['adresse2'];
- else $adresse2="z";
- if(isset($_POST['codepostal'])) $codepostal=$_POST['codepostal'];
- else $codepostal="z";
- if(isset($_POST['ville'])) $ville=$_POST['ville'];
- else $ville="z";
- if(isset($_POST['teldom'])) $teldom=$_POST['teldom'];
- else $teldom="z";
- if(isset($_POST['telmobile'])) $telmobile=$_POST['telmobile'];
- else $telmobile="z";
- if(isset($_POST['email'])) $email=$_POST['email'];
- else $email="z";
- // On vérifie si les champs sont vides
- if(empty($civilite) OR empty($nomfamille) OR empty($prenom) OR empty($adresse1) OR empty($adresse2) OR empty($codepostal) OR empty($ville) OR empty($teldom)OR empty($telmobile) OR empty($email))
- {
- echo '<font color="red">Attention, seul le champs<b>ADRESSE2</b> peut rester vide !</font>';
- }
- // Aucun champ n'est vide, on peut enregistrer dans la table
- else
- {
- // connexion à la base
- $db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
- // sélection de la base
- mysql_select_db('appli',$db) or die('Erreur de selection '.mysql_error());
- // on écrit la requête sql
- $sql = "INSERT INTO membres(civilite, nomfamille, prenom, adresse1, adresse2, codepostal, ville, teldom, telmobile, email) VALUES('$civilite','$nomfamille','$prenom','$adresse1','$adresse2','$codepostal','$ville','$teldom','$telmobile','$email')";
- // on insère les informations du formulaire dans la table
- mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
- // on affiche le résultat pour le visiteur
- echo 'Vos infos on été ajoutées.';
- // mysql_close(); // on ferme la connexion
- }
- ?>
Quel est le role de la fonction empty ?
La fonction empty sert à contrôler si le champ est vide?!
je dois commencer par enlever les lettres entre guillemets dans les :
else $adresse1="z";
mais apparemment ça ne suffit pas ?
je dois commencer par enlever les lettres entre guillemets dans les :
else $adresse1="z";
mais apparemment ça ne suffit pas ?
Je viens également d'enlever le : or empty($adresse2) mais ça ne fonctionne toujours pas
il faudrait quand même pas que je remette cet or empty($adresse2) et que j'enlève tous les autres?
Allez dites-moi pitié...
il faudrait quand même pas que je remette cet or empty($adresse2) et que j'enlève tous les autres?
Allez dites-moi pitié...
Malheureusement non, empty ne teste pas si la variable est vide.
Je te suggère de lire la documentation de cette fonction dans le manuel PHP.
Pour tester si le champ est vide, le plus simple est de calculer la taille de la chaine que contient ce champ.
Voici un simple ex :
Je te suggère de lire la documentation de cette fonction dans le manuel PHP.
Pour tester si le champ est vide, le plus simple est de calculer la taille de la chaine que contient ce champ.
Voici un simple ex :
- <?php
- if (isset($_POST['go']) && $_POST['go'] == 'ok') {
- if (!isset($_POST['blu']) || strlen($_POST['blu']) == 0) echo 'le champ est vide';
- else echo 'le champ n\'est pas vide';
- }
- ?>
- <form action="blu.php" method="post">
- <input type="text" name="blu" value="" />
- <input type="submit" name="go" value="ok" />
- </form>
Accès rapide :
Remonter 

