Remplir champ

Résolu/Fermé
rmerme Messages postés 36 Date d'inscription samedi 3 mars 2018 Statut Membre Dernière intervention 18 mars 2019 - 30 avril 2018 à 07:59
rmerme Messages postés 36 Date d'inscription samedi 3 mars 2018 Statut Membre Dernière intervention 18 mars 2019 - 1 mai 2018 à 15:33
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.



2 réponses

yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
Modifié le 30 avril 2018 à 17:36
bonjour, 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.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
30 avril 2018 à 20:04
Bonjour,

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...

0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
30 avril 2018 à 20:09
0
rmerme Messages postés 36 Date d'inscription samedi 3 mars 2018 Statut Membre Dernière intervention 18 mars 2019
1 mai 2018 à 13:54
Bonjour,

Je pense que la solution écrite en Java Script que tu proposes est la plus adaptée à mes besoins.
Je vais donc m'orienter dans cette direction.
Grand merci pour ton aide.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
1 mai 2018 à 14:49
pense à mettre le sujet en résolu ( via la roue crantée en haut de la discussion)
merci
0
rmerme Messages postés 36 Date d'inscription samedi 3 mars 2018 Statut Membre Dernière intervention 18 mars 2019 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
1 mai 2018 à 14:54
Voilà, 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.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
1 mai 2018 à 14:59
l'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
0