Remplir champ

Résolu
rmerme Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -  
rmerme Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
0
rmerme Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention   > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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