注意:第2行C:\xampp\htdocs\php\second.php中的未定义索引:name

注意:第2行C:\xampp\htdocs\php\second.php中的未定义索引:name,php,Php,我是php的初学者。作为这段代码,我一直在tutorialspoint.com上练习。在站点中,这段代码产生了实际结果,但在我的本地主机中运行时,第2行的C:\xampp\htdocs\php\second.php中显示了未定义的index:name <?php if( $_POST["name"] || $_POST["age"] ) { if (preg_match("/[^A-Za-z'-]/",$_POST['name'] )) { die ("invalid name and n

我是php的初学者。作为这段代码,我一直在tutorialspoint.com上练习。在站点中,这段代码产生了实际结果,但在我的本地主机中运行时,第2行的C:\xampp\htdocs\php\second.php中显示了未定义的index:name

<?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>

使用该函数可避免
未定义索引
错误

使用

而不是

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

您好,您已经在同一个页面中编写了html和php,所以首先当您加载页面时,您将不会在
$\u POST
中获得任何值,所以您可以尝试下面的代码,这样您就不会得到错误

<?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>


将isset()用于POST variablesThank you Md.Sahadat Hossain。为什么会出现这个问题?放置if(isset($_POST[“name”])| | isset($_POST[“age”])和if($_POST[“name”]|$| | u POST[“age”])有什么区别,因为此代码必须在tutorials point.com中运行。为什么会这样?使用
isset
函数检查数组中是否存在键
<?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>