Remplir champ
Résolu
Bonjour,
J'ai un formulaire qui comprend 3 champs
<!-- formulaire -->
<form method="post" action="formulaire.php">
<p>
<label for="champ1">Votre Champ1 :</label>
<input type="text" name="champ1" id="champ1 "required>
<label for="champ2">Votre Champ2 :</label>
<input type="text" name="champ2" id="champ2" required>
<label for="champ3">Votre Champ3 :</label>
<input type="text" name="champ3" id="champ3">
</p>
<input type="submit" value="Envoyer" />
</form>
Le script formulaire.php va examiner le champ3 et si celui-ci est vide, il calcule une valeur à partir de champ1 et champ2 et doit placer le résultat dans champ3. Comment afficher une valeur dans champ3 ?
Merci d'avance pour vos réponses.
J'ai un formulaire qui comprend 3 champs
<!-- formulaire -->
<form method="post" action="formulaire.php">
<p>
<label for="champ1">Votre Champ1 :</label>
<input type="text" name="champ1" id="champ1 "required>
<label for="champ2">Votre Champ2 :</label>
<input type="text" name="champ2" id="champ2" required>
<label for="champ3">Votre Champ3 :</label>
<input type="text" name="champ3" id="champ3">
</p>
<input type="submit" value="Envoyer" />
</form>
Le script formulaire.php va examiner le champ3 et si celui-ci est vide, il calcule une valeur à partir de champ1 et champ2 et doit placer le résultat dans champ3. Comment afficher une valeur dans champ3 ?
Merci d'avance pour vos réponses.
2 réponses
-
ModérateurBonjour,
En plaçant ton code php dans le même fichier que celui de ton formulaire :<?php //récupération PROPRE des variables AVANT de les utiliser $champ1 = !empty($_POST['champ1']) ? $_POST['champ1'] : NULL; $champ2 = !empty($_POST['champ2']) ? $_POST['champ2'] : NULL; $champ3 = !empty($_POST['champ3']) ? $_POST['champ3'] : ''; //traitement du formulaire si champ1 et champ2 sont remplis... if($champ1 && $champ2){ $champ3 = $champ1 + $champ2; } ?> <!-- formulaire --> <form method="post" action=""> <p> <label for="champ1">Votre Champ1 :</label> <input type="text" name="champ1" id="champ1" value="<?php echo $champ1;?>" required> <label for="champ2">Votre Champ2 :</label> <input type="text" name="champ2" id="champ2" value="<?php echo $champ2;?>" required> <label for="champ3">Votre Champ3 :</label> <input type="text" name="champ3" id="champ3" value="<?php echo $champ3;?>"> </p> <input type="submit" value="Envoyer" /> </form>
Le code PHP est à place AVANT ton code HTML.
Je t'invite fortement à lire ceci :https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Bien entendu, il aurait été également possible de faire cela en Javascript au lieu de le faire en PHP.
Mais là.. c'est une autre question...
-
ModérateurPour le Javascript, voir réponse ici
https://forums.commentcamarche.net/forum/affich-35333733-bouton#3 -
-
-
@jordane45Voilà, c'est fait.
Par contre, j'aurai certainement des questions concernant l'interface entre Java Script et Mysql.
Si tu as des références à conseiller, envoie-les moi.
Bon après-midi. -
Modérateurl'interface entre mysql et javascript ?
Le seul moyen... c'est d'utiliser de l'ajax.
Le javascript s'exécutant côté "poste utilisateur" .. il ne peut pas communiquer directement avec une bdd. Seul un langage serveur (tel que le PHP) le peut.
Il existe, via l'ajax, la possibilité de faire exécuter un code PHP depuis un Javascript.
Pour se faire, je te conseille de charger la librairie JQUERY dans ton code.
Voici des exemples :
https://codes-sources.commentcamarche.net/source/102253-exemple-ajax-en-jquery
-
-
Contributeurbonjour, le php peut proposer une valeur pour le champ, en ajoutant
value="..."
:<input type="text" name="champ3" id="champ3" value="valeurcalculée">
le php doit afficher le formulaire complet, il ne peut pas modifier le formulaire existant.