Les valeurs d'un formulaire ne peuvent pas être transmises au fichier d'action ou le fichier d'action ne peut pas obtenir les valeurs des champs du formulaire

StackOverflow https://stackoverflow.com/questions/1825110

  •  22-07-2019
  •  | 
  •  

Question

Ceci est le code PHP:

$html=<<<eod
<div>Your current account balance is <span style="color:red">$$balance</span></div><br/>
<form id="digitalchange" action="digitalchange.php?" action="post">
<input type="hidden" name="tid" value=$announcementid />
<table rules=all FRAME=BOX><tr><td>Balance:<span class="price">$balance</span></td><td>Current Shortfall:$shortfall</td>
<td>Unit Price:<span class="price">$$unitprice</span></td></tr>
<tr><td>Add Balance:$<input  type="text" id="addbalance" name="addbalance" size="5" /></td>
<td>Add Shortall:<input type="text" id="addquota"  name="addquota" size="4" /></td><td></td></tr>
<tr><td></td><td>Reduce Shortfall:<input type="text" id="reducequota"  name="reducequota" size="4" /></td><td></td></tr></table>
Please click Confirm only once.
<input type="submit" value="Confirm" /></form>

<hr>
eod;
echo $html;

Ci-dessous, les deux premières lignes de digitalchange.php:

$addbalance=$_POST['addbalance'];
echo "What is wrong".$addblance;

Sorties:

  

Qu'est-ce qui ne va pas

digitalchange.php ne peut tout simplement pas obtenir la valeur de addbalance, j’ai essayé $ _REQUEST, mais j’ai toujours échoué. La zone de saisie de addbalance n'est pas vide. Mais il semble que les valeurs de la forme de digitalchange ne puissent pas être transmises à digitalchange.php. Quel est le problème?

Était-ce utile?

La solution

Je vois deux choses qui ne vont pas dans le code que vous avez posté:

<form id="digitalchange" action="digitalchange.php?" action="post">
                                                     ^

Cela devrait être method="post". Essayez de valider votre code HTML pour rechercher des problèmes comme celui-ci.

$addbalance=$_POST['addbalance'];
echo "What is wrong".$addblance;
                          ^

Une simple faute de frappe ici. Vous devriez toujours vérifier votre journal des erreurs, cela vous aurait donné un avertissement concernant l'utilisation d'une variable non déclarée $addblance.

Autres conseils

essayez print_r($_POST) et print_r($_GET) car vous avez probablement juste une faute de frappe dans un nom de champ quelque part.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top