我是php的新手。我已经在asp.net mvc上工作,现在正在学习php。
我研究过$ _POST和$ _REQUEST并尝试将其用作:
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form name="test" action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post' >
<input type='text' name='abc'>
<input type="submit">
</form>
<?php
// put your code here
$abc = $_POST["abc"];
echo abc;
$abc = $_REQUEST["abc"];
echo abc;
?>
</body>
</html>
但是当我运行这些行时会出现:
注意:未定义的索引:第20行的C:\ xampp \ htdocs \ PhpProject1 \ index.php中的abc
注意:使用未定义的常量abc - 假设&#39; abc&#39;在第21行的C:\ xampp \ htdocs \ PhpProject1 \ index.php中 ABC
答案 0 :(得分:4)
应该是:
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form name="test" action='' method='post' >
<input type='text' name='abc'>
<input type="submit">
</form>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
echo $_POST["abc"];;
}
?>
</body>
</html>
由于您发布到同一页面地址不是必需的PHP_SELF。此外,您必须在表单提交
后访问$ _POST索引变量答案 1 :(得分:1)
abc
是一个变量,你写道:
echo abc;
这应该是:
echo $abc;
答案 2 :(得分:1)
第一次加载时未定义,请检查isset
<?php
if(isset($_POST["abc"]))
{
$abc = $_POST["abc"];
echo $abc;
}
if(isset($_REQUEST["abc"]))
{
$abc = $_REQUEST["abc"];
echo $abc;
}
?>