Contrôler plusieurs champ en php sans avoir 30 lignes ...
10 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Contrôler plusieurs champ en php sans avoir 30 lignes ...
Bonjour,
Je cherche le moyen de contrôler plusieurs champs sans être obliger d'avoir 30 lignes de code...
En gros 3 champs sur une même ligne correspondant à date1, date 2 et prix.
Si date 1 remplit mais que date 2 vide et prix vide -> erreur
Si date 1 remplit ,date 2 remplit et prix vide -> erreur
Si date 1 remplit, date 2 vide et prix remplit -> erreur
Si date 1 vide mais que date 2 remplit et prix vide -> erreur
Si date 1vide mais que date 2 remplit et prix remplit -> erreur
etc..etc....et sa x10 !
Il n'y a pas un moyen plus rapide pour vérifier cela ?
Merci
Je cherche le moyen de contrôler plusieurs champs sans être obliger d'avoir 30 lignes de code...
En gros 3 champs sur une même ligne correspondant à date1, date 2 et prix.
Si date 1 remplit mais que date 2 vide et prix vide -> erreur
Si date 1 remplit ,date 2 remplit et prix vide -> erreur
Si date 1 remplit, date 2 vide et prix remplit -> erreur
Si date 1 vide mais que date 2 remplit et prix vide -> erreur
Si date 1vide mais que date 2 remplit et prix remplit -> erreur
etc..etc....et sa x10 !
Il n'y a pas un moyen plus rapide pour vérifier cela ?
Merci
Seraph a écrit:
- Code: Tout sélectionner
foreach($_POST as $field=>$name)
if (empty($name))
$error = true;
Faut faire attention, car si la personne à mis un espace, il considèrera le champs comme remplis et validera donc le formulaire
merci de vos réponses ^^,
Je ne comprend pas du tout comment fonctionne le code suivant:
Si mes variables sont $champ1, $champ2 et $champ3, je suis censé procéder comment ?
Merci
Je ne comprend pas du tout comment fonctionne le code suivant:
- Code: Tout sélectionner
foreach($_POST as $field=>$name)
if (empty($name))
$error = true;
Si mes variables sont $champ1, $champ2 et $champ3, je suis censé procéder comment ?
- Code: Tout sélectionner
if(isset($_POST["Valider"]))
{
....
$champ1 = mysql_real_escape_string($_POST["date1"]);
$champ2 = mysql_real_escape_string($_POST["date2"]);
$champ3 = mysql_real_escape_string($_POST["prix"]);
....
//mes conditions
if(machintruc != .....){
.....
else if(ICI JE VERIFIE $champ1, $champ2 et $champ3)
si un ou 2 des 3 champs est remplit
je balance l'erreur
....
Merci
Bah ça change rien...
La boucle sert juste à vérifier, au lieu de $error = true tu mets tes :
$champ1 = mysql_real_escape_string($_POST["date1"]);
$champ2 = mysql_real_escape_string($_POST["date2"]);
$champ3 = mysql_real_escape_string($_POST["prix"]);
....
La boucle sert juste à vérifier, au lieu de $error = true tu mets tes :
$champ1 = mysql_real_escape_string($_POST["date1"]);
$champ2 = mysql_real_escape_string($_POST["date2"]);
$champ3 = mysql_real_escape_string($_POST["prix"]);
....
Merci Seraph, mais il y a un truc que je ne comprend toujours pas ...
foreach($_POST as $field=>$name) , à quoi correspond $_POST, $field et =>$name?
J'ai lus les exemples sur http://fr.php.net/foreach mais je ne suis pas plus inversé ... je ne pige pas ce que sa fait !
foreach($_POST as $field=>$name) , à quoi correspond $_POST, $field et =>$name?
J'ai lus les exemples sur http://fr.php.net/foreach mais je ne suis pas plus inversé ... je ne pige pas ce que sa fait !
Pour ne plus se prendre la tête avec des formulaires le mieux pour moi est d'utiliser des classes facilitant le travail :
Exemple avec la classe PEAR HTML Quick Form :
Source : http://php.developpez.com/cours/pear/html-quickform/
Évidemment comme toute boite à outils si on veut sortir des clous ça demande un peu d'apprentissage mais ça facilite grandement la vie.
Exemple avec la classe PEAR HTML Quick Form :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>formulaire</title>
</head>
<body>
<?php
set_include_path(get_include_path() . ";c:\php\pear");
require_once "HTML/QuickForm.php";
$form = new HTML_QuickForm('frmTest', 'post');
$form->addElement('text', 'Pseudo', 'Votre pseudo : ');
$form->addElement('text', 'Nom', 'Votre nom : ');
$form->addElement('text', 'Email', 'Votre adresse email : ');
$options = array(
'language' => 'fr',
'format' => 'dMY',
'minYear' => 2001,
'maxYear' => 2005
);
$form->addElement('date', 'date', 'votre date de naissance : ', $options);
$form->addRule('Pseudo', 'Vous devez saisir un pseudo', 'required', '', 'client');
$form->addRule('Nom', 'Vous devez saisir un nom', 'required', '', 'client');
$form->addRule('Email', 'Vous devez saisir une adresse Email', 'required', '', 'client');
$form->addRule('Pseudo', 'Votre pseudo doit avoir entre 6 caractères et 10 caractères', 'rangelength', array(6,10), 'client');
$form->addRule('Email', 'Vous devez saisir une adresse email valide', 'email', '', 'client');
$form->applyFilter('Nom','trim') ;
$form->applyFilter('Pseudo','trim') ;
$form->setRequiredNote('<span style="color: #ff0000">*</span> = champs obligatoires');
$form->setJsWarnings('Erreur de saisie','Veuillez corriger');
$form->addElement('reset', 'bouton_clear', 'Effacer');
$form->addElement('submit', 'bouton_effacer', 'Envoyer');
if ($form->validate()) {
echo "Toutes les règles sont respectées<br>";
}
else {
$form->display();
}
?>
</body>
</html>
Source : http://php.developpez.com/cours/pear/html-quickform/
Évidemment comme toute boite à outils si on veut sortir des clous ça demande un peu d'apprentissage mais ça facilite grandement la vie.
10 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- OpenSocial : le projet de Google pour contrôler les réseaux sociaux
- Google achète le n°1 des weblogs
- Nouvelle plateforme de liens sponsorisés et contextuels chez Yahoo Search Marketing
- AD42 : acheter et vendre de la publicité sur Internet facilement
- Annuaire WRI : c'est la saison des validations !
- Solutions pour augmenter son PageRank Google
- Spam Report Google : explications en français...
- Des longues descriptions de sites (snippets) en test sur Google
- Comment contrôler ses Sitelinks Google
- Google HomePage API : Google se met aux widgets
- [PHP] Affhicher les 10 premieres lignes
- php: Lire lignes et colonnes fichier Excel (RESOLU)
- [PHP] lire un fichier texte par paquets de 10 lignes
- Lignes d'un mail
- Annuaire des boutiques en lignes
- Plate-forme Ventes en lignes
- Résultat sur deux lignes...
- Lignes bleues sur Google...
- Affichage adwords sur 5 lignes
- Script au lieu des 'x' lignes
- Titre sur deux lignes
- [MySQL] : différence entre 2 lignes d'une table
- un petit annuaire spécialisé boutiques en lignes
- nombre de lignes d'un tableau a 2 dimensions
- Plusieurs lignes dans les résultats Google
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum