28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous,

Qqn pourrait-il m'aider en me précisant la technique à employer pour modifier dynamiquement (en php) la couleur de la bordure d'un champ input en cas d'imputation erronnée ? Merci d'avance. (Je ne trouve pas dans les listes des sujets traités).

A+ Jo/
Modifié par JoVD (20 Jun 2010 - 21:43)
Bonjour,

C'est très simple. Tu commences par créer 2 classes différentes pour tes champs :
- Une pour les champs en général, lors de l'accès à la page (bordure normale dans ton cas)
- Une pour les champs incorrects. (bordure par exemple rouge dans ton cas)

Lors du premier accès au formulaire, tu utilises la première classe pour tous tes champs.
Lors de la soumission du formulaire, tu vérifies en php que tous les champs soient corrects, si c'est le cas tu exécutes ce que tu veux, par contre s'il y a une erreur, tu réaffiches le formulaire (en affichant les valeurs saisies), et tu changes la classe des champs erronés vers la seconde classe.

Et voilà
Bonjour et merci pour ta réponse, pixelb.

Ma question est justement de savoir comment remplacer ma classe 'normale' du champ input par une classe 'erreur' en php.

... de sorte que '<input type="text" name="Office#Fld" id="Office#Fld" size="1" maxlength="5" value="<?php print $_POST['Office#Fld']; ?>"/>"' devienne '<input type="text" name="Office#Fld" id="Office#Fld" size="1" maxlength="5" value="<?php print $_POST['Office#Fld']; ?>" style="border-color:red"/>'.

Bien à toi, JoVD.
salut
tu peux vérifier ton formulaire, avec du javascript, voici un tutoriel vidéo, montrant comment faire
http://www.grafikart.fr/tutoriels/valider-formulaire-jquery-57
coté positif: le formulaire est vérifié au fur et a mesure sans avoir besoi de soumettre le formulaire.
point faible: pas de vérification si l'utilisateur désactive le javascript,
donc le mieux c'est de l'utiliser en plus de la vérification php.
Dans tous les cas, il est indispensable de faire une validation php ! Envoyer des données POST altérées via un script externe n'est pas compliqué du tout, une validation javascript est donc très bien pour controler en temps réel les données, mais pas pour les valider.

Pour répondre à la question, en php il suffit d'une condition pour modifier la classe...

<input 
    type="submit" 
    name="champ_a_remplir" 
    value="valeur" 
    class="<?php echo (condition_de_validation_sur_le_champ)?'classe_valide':'classe_invalide';?>" 
/>
Un grand merci pour vos réponses rapides et efficaces, eyos et pixelb.

J'ai résolu impeccablement mon problème avec la solution de pixelb (class="<?php echo ($message["Office#"]!="")?'redborder':''; ?>") et me suis instruit avec le tuto d'eyos.

Merci aussi à Alsa d'exister. Bon succès à tous. JoVD.