isset($_POST['x']) fonctionne uniquement si le bouton submit name=“soumettre”
J'ai de la difficulté à l'aide de publication parce que j'ai plus d'une forme et isset
ne fonctionne qu'avec name="submit"
boutons.
Mon code fonctionne très bien si j'utilise name="submit"
mais si j'ai changé le nom pour quelque chose d'autre, isset($_POST['somethingelse'])
sera toujours faux, pourquoi est-ce arrivé?
EDIT:
<input type="submit" name="submit" value="Submit" onclick ="validate(document.getElementById('form')); return false;" />
if (isset($_POST['submit'])) <-- works as expected
<input type="submit" name="asdf" value="Submit" onclick ="validate(document.getElementById('form')); return false;" />
if (isset($_POST['asdf'])) <-- does not works as expected
EDIT2:
<?php
$validated = false;
if (isset($_POST['submit'])) {
//preserve form values by storing the values from $_POST into variables
$test = $_POST['test'];
//validated is now true as submit button only submits if validated (script)
$validated = true;
} else {
//make variables empty as there's no values to preserve
$test = '';
}
if (!$validated) {
?>
<form id="form" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<p>Test: <input type="text" name="test" size="20" value="<?php echo $test ?>" /></p>
<p><input type="submit" name="submit" value="Submit" onclick ="validate(); return false;" /></p>
<?php } ?>
Par exemple, ici, fonctionne comme prévu (je peux garder les valeurs) name="envoyer"; if (isset($_POST['submit'])) est vrai lorsque le bouton soumet, mais si je change le nom="" et le if (isset($_POST["])) alors il ne fonctionnera pas tant que le isset est de retour faux (même si le bouton soumet).
Non, il doit y avoir un autre problème. Poste le code pertinent.
Poste votre code html et du code php
Nous avons besoin d'un peu de code
Et vérifier ce que
Le Code est très bien. Le problème, c'est autre chose. Bande tout vers le bas - retirez votre javascript et tous les autres non parties essentielles - laissez juste les entrées, le bouton "soumettre", et le
Poste votre code html et du code php
Nous avons besoin d'un peu de code
Et vérifier ce que
$_POST
contient. isset renvoie true si fasd est dans $_POST. Si elle n'est pas elle retourne la valeur false.Le Code est très bien. Le problème, c'est autre chose. Bande tout vers le bas - retirez votre javascript et tous les autres non parties essentielles - laissez juste les entrées, le bouton "soumettre", et le
isset
code. Cela devrait fonctionner. Puis commencer à ajouter le tout nouveau morceau par morceau jusqu'à ce qu'elle casse.OriginalL'auteur Yanoflies | 2014-05-30
Vous devez vous connecter pour publier un commentaire.
C'est normal parce que seulement cliqué sur le bouton "soumettre" est définie et non à la seconde, si vous cliquez sur le bouton soumettre avec le nom soumettre
isset($_POST['submit'])
vous donnera vrai etisset($_POST['asdf'])
faux, et si vous cliquez sur asdfisset($_POST['submit'])
donne faux etisset($_POST['asdf'])
vrai, je l'ai testé et il fonctionne sans aucun problème.Code de Test:
OriginalL'auteur Fares M.