Remplir champ

Résolu
rmerme Messages postés 36 Statut Membre -  
rmerme Messages postés 36 Statut Membre -
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 24281 Statut Contributeur Ambassadeur 1 584
 
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 40050 Statut Modérateur 4 755
 
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 40050 Statut Modérateur 4 755
 
0
rmerme Messages postés 36 Statut Membre
 
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 40050 Statut Modérateur 4 755
 
pense à mettre le sujet en résolu ( via la roue crantée en haut de la discussion)
merci
0
rmerme Messages postés 36 Statut Membre > jordane45 Messages postés 40050 Statut Modérateur
 
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 40050 Statut Modérateur 4 755
 
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