Undefined index d'erreur PHP
Je suis nouveau en PHP et j'obtiens cette erreur:
Notice: Undefined index: productid /var/www/test/modifyform.php sur
ligne 32Notice: Undefined index: nom in /var/www/test/modifyform.php sur la ligne
33Notice: Undefined index: prix /var/www/test/modifyform.php sur la ligne
34Notice: Undefined index: description /var/www/test/modifyform.php
sur la ligne de 35
Je ne pouvais pas trouver toute solution en ligne, alors peut-être que quelqu'un pourra m'aider.
Voici le code:
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
<input type="hidden" name="rowID" value="<?php echo $rowID;?>">
<p>
Product ID:<br />
<input type="text" name="productid" size="8" maxlength="8" value="<?php echo $productid;?>" />
</p>
<p>
Name:<br />
<input type="text" name="name" size="25" maxlength="25" value="<?php echo $name;?>" />
</p>
<p>
Price:<br />
<input type="text" name="price" size="6" maxlength="6" value="<?php echo $price;?>" />
</p>
<p>
Description:<br />
<textarea name="description" rows="5" cols="30">
<?php echo $description;?></textarea>
</p>
<p>
<input type="submit" name="submit" value="Submit!" />
</p>
</form>
<?php
if (isset($_POST['submit'])) {
$rowID = $_POST['rowID'];
$productid = $_POST['productid']; //this is line 32 and so on...
$name = $_POST['name'];
$price = $_POST['price'];
$description = $_POST['description'];
}
Ce que je fais par la suite (ou du moins je vais essayer) de mettre à jour une table dans MySQL.
Je ne comprends vraiment pas pourquoi $rowID
est défini alors que les autres variables ne sont pas.
Merci de prendre de votre temps pour me répondre.
Cheers!
<form>
tags?fais un print_r de $_POST tableau et de voir les index et les valeurs
kunststube.net/isset
Essayez de faire cela et voir ce que vous obtenez
var_dump($_POST);
La Sortie affiche uniquement le rowID variable au moment de la soumission.Array ( [rowID] => Oranges [soumettre] => Soumettre! )
OriginalL'auteur LPoblet | 2012-05-16
Vous devez vous connecter pour publier un commentaire.
Essayer:
Idem!:) Fonctionne très bien!
Super !!! Nice. J'ai résolu mon bug
Pour ceux qui arrivent ici, plus récemment, PHP 7 apporte de la valeur null fusionnent opérateur, de sorte que l'exemple peut être simplifiée:
$name = $_POST['name'] ?? 'any default value, but probably null';
OriginalL'auteur Adam
Apparemment l'index "productid" est absent de votre formulaire html.
Inspectez votre html entrées d'abord. par exemple
<input type="text" name="productid" value="">
Mais cela va gérer l'erreur actuelle est PHP sensibilisation.
OriginalL'auteur Robert Wilson
ESSAYER
OriginalL'auteur sumish1985
Ce qui se passe parce que votre code PHP est arriver exécuté avant que le formulaire est posté.
Pour éviter cela, enveloppez votre code PHP en suivant les instruction si, et il s'occupe du reste pas nécessaire d'établir si les déclarations pour chacune des variables
OriginalL'auteur Akshat Maltare
Il devrait y avoir le problème, lorsque vous générez le
<form>
. Je parie que les variables$name
,$price
sontNULL
ou chaîne vide lorsque vousecho
dans levalue
de la<input>
champ. Vide les champs de saisie ne sont pas envoyées par le navigateur, donc$_POST
n'auront pas leurs clés.De toute façon, vous pouvez vérifier avec
isset()
.Les variables de Test avec les éléments suivants:
if(isset($_POST['key'])) ? $variable=$_POST['key'] : $variable=NULL
De mieux vous définir à
NULL
, parce queOriginalL'auteur Dyin
Hey ce qui se passe, car u r l'affichage de la valeur avant de assignnig il
U suffit de remplir les valeurs et soumettre le formulaire, il affiche de bons résultats
Ou u peut écrire ur le code php ci-dessous balises de formulaire
Ll s'exécuter sans erreur
OriginalL'auteur rohit sonawane
Si vous utilisez wamp serveur , alors je vous recommande d'utiliser xampp serveur .
vous . j'ai cette erreur à moins que je me minute, mais j'ai résolu ce problème en utilisant (isset) de la fonction . et je n'ai pas d'erreur .
et après cela, j'ai supprimer (isset) et la fonction je ne,t vois aucune erreur.
par la façon dont je suis en utilisant xampp serveur
OriginalL'auteur Amjad Glory amjad iqbal
cette erreur s'est produite autrefois attribut de méthode ( valable méthode de passage )
Erreur option :
method="get" mais appelé par $Fname = $_POST["nom"];
ou
Plus d'informations, visitez http://www.doordie.co.in/index.php
OriginalL'auteur OpenWebWar
Pour supprimer cette erreur, dans votre formulaire html, vous devez effectuer les opérations suivantes dans
enctype
:La suite de down est la cause de cette erreur que j'ai.e si vous commencez avec des données de formulaire dans enctype, de sorte que vous devriez commencer avec multipart:
OriginalL'auteur Omary