Ich bin neu in PHP und erhalte folgende Fehlermeldung:
Hinweis: Nicht definierter Index: Produkt-ID in /var/www/test/modifyform.php auf Zeile 32
Hinweis: Nicht definierter Index: Name in /var/www/test/modifyform.php in Zeile 33
Hinweis: Nicht definierter Index: Preis in /var/www/test/modifyform.php online 34
Hinweis: Nicht definierter Index: Beschreibung in /var/www/test/modifyform.php in Zeile 35
Ich konnte keine Lösung online finden, also kann mir vielleicht jemand helfen.
Hier ist der 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'];
}
Was ich danach mache (oder zumindest versuche ich) ist, eine Tabelle in MySQL zu aktualisieren. Ich kann wirklich nicht verstehen, warum $rowID
definiert ist, während die anderen Variablen dies nicht sind.
Vielen Dank, dass Sie sich Zeit genommen haben, um mir zu antworten.
Versuchen:
<?php
if (isset($_POST['name'])) {
$name = $_POST['name'];
}
if (isset($_POST['price'])) {
$price = $_POST['price'];
}
if (isset($_POST['description'])) {
$description = $_POST['description'];
}
?>
Anscheinend fehlt der Index 'productid' in Ihrem HTML-Formular Überprüfen Sie zuerst Ihre HTML-Eingaben. zB <input type="text" name="productid" value="">
Dies behandelt jedoch den aktuellen Fehler PHP, der .............
$rowID = isset($_POST['rowID']) ? $_POST['rowID'] : '';
$productid = isset($_POST['productid']) ? $_POST['productid'] : '';
$name = isset($_POST['name']) ? $_POST['name'] : '';
$price = isset($_POST['price']) ? $_POST['price'] : '';
$description = isset($_POST['description']) ? $_POST['description'] : '';
Dies geschieht, weil Ihr PHP -Code ausgeführt wird, bevor das Formular veröffentlicht wird.
Um dies zu vermeiden, wickeln Sie Ihren PHP -Code in die folgende if-Anweisung ein, und der Rest erledigt den Rest. Für jede Variable müssen keine if-Anweisungen gesetzt werden
if(isset($_POST) && array_key_exists('name_of_your_submit_input',$_POST))
{
//process PHP Code
}
else
{
//do nothing
}
VERSUCHEN
<?php
$rowID=$productid=$name=$price=$description="";
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'];
}
Hey, dies geschieht, weil ur versucht, den Wert vor dem Zuweisen des Werts anzuzeigen Sie müssen nur die Werte eingeben und das Formular absenden. Die Ausgabe wird korrekt ausgegeben. __ Irgendwelche Fehler
Es sollte das Problem geben, wenn Sie den <form>
generieren. Ich wette, die Variablen $name
, $price
sind NULL
oder eine leere Zeichenfolge, wenn Sie echo
in das value
-Feld des <input>
-Felds eingeben. Leere Eingabefelder werden vom Browser nicht gesendet, daher haben $_POST
keine Schlüssel.
Wie auch immer, Sie können das mit isset()
überprüfen.
Testvariablen mit folgenden Eigenschaften:
if(isset($_POST['key'])) ? $variable=$_POST['key'] : $variable=NULL
Setzen Sie es besser auf NULL
, weil
NULL-Wert steht für eine Variable ohne Wert.
Wenn Sie einen Wamp-Server verwenden, empfehle ich Ihnen, den Xampp-Server zu verwenden. Ich bekomme diesen Fehler in weniger als einer Minute, aber ich habe dies mit der Funktion (isset) behoben. und ich bekomme keine fehler. und danach entferne ich (isset) -Funktion und ich sehe keinen Fehler.
übrigens verwende ich xampp server