2016-05-18 7 views
-1

Ich bin Begineer in PHP. Als diesen Code habe ich von tutorialspoint.com geübt. in der Seite hat dieser Code das tatsächliche Ergebnis produziert, aber während in meinem localhost läuft, sagt es nicht definiert Index: Name in C: \ xampp \ htdocs \ php \ second.php on line 2.Hinweis: Undefinierter Index: Name in C: xampp htdocs php second.php in Zeile 2

<?php 
if($_POST["name"] || $_POST["age"]) { 
if (preg_match("/[^A-Za-z'-]/",$_POST['name'])) { 
die ("invalid name and name should be alpha"); 
} 
echo "Welcome ". $_POST['name']. "<br />"; 
echo "You are ". $_POST['age']. " years old."; 
exit(); 
} 
?> 
<!------------Form-----------------> 
<html> 
<body> 
<form action = "<?php $_PHP_SELF ?>" method = "POST"> 
Name: <input type = "text" name = "name" /> 
Age: <input type = "text" name = "age" /> 
<input type = "submit" /> 
</form> 
</body> 
</html> 
+0

Verwenden Sie isset() für POST-Variablen – Thamilan

Antwort

0

Verwendung isset Funktion vermeiden undefined index Fehler

Verwenden

if(isset($_POST["name"]) || isset($_POST["age"])) 

statt

if($_POST["name"] || $_POST["age"]) 
+0

Vielen Dank Md. Sahadat Hossain. Warum erscheint dieses Problem? Was sind die Unterschiede beim Setzen von if ($ _POST ["name"] || $ _POST [isset ($ _ POST ["name"]) || isset ($ _ POST ["alter"])) und [" Alter "]), wie dieser Code scheint in Tutorials point.com funktionieren warum ist es so.? –

+0

mit Hilfe der 'isset' Funktion überprüfen Sie, ob der Schlüssel existiert oder nicht im Array –

+0

Vielen Dank Md. Sahadat Hossain –

0

Hallo, Sie haben HTML und PHP beide auf der gleichen Seite geschrieben, also zuerst, wenn Sie die Seite zu diesem Zeitpunkt laden, erhalten Sie keinen Wert in $_POST, so dass Sie wie unten Code versuchen können, dann erhalten Sie keinen Fehler.

<?php 
if(isset($_POST)) 
{ 
if($_POST["name"] || $_POST["age"]) { 
if (preg_match("/[^A-Za-z'-]/",$_POST['name'])) { 
die ("invalid name and name should be alpha"); 
} 
echo "Welcome ". $_POST['name']. "<br />"; 
echo "You are ". $_POST['age']. " years old."; 
exit(); 
} 
} 
?> 
<!------------Form-----------------> 
<html> 
<body> 
<form action = "<?php $_PHP_SELF ?>" method = "POST"> 
Name: <input type = "text" name = "name" /> 
Age: <input type = "text" name = "age" /> 
<input type = "submit" /> 
</form> 
</body> 
</html> 

in diese, wenn zunächst ohne Laden der Seite eintragen überprüft, ob $_POST isset dann PHP-Code ausführen sonst nicht. eigentlich php script zeilenweise laufen so ohne $_POST wenn du versuchst darauf zuzugreifen dann wirst du fehler bekommen versuch diesen code möge es dir helfen.

+0

danke Dinesh Bhojvani –

Verwandte Themen