我不知道如何处理错误。我只是想将值传递给另一个页面。我使用“GET”方法,没关系。但是,它不能使用“POST”方法。
错误: 未定义的索引:第18行的C:\ Users \ x \ x \ x \ x \ x中的数据
Testing.html:
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<form method="POST" action="testing.php">
<input name="data" type="text">
<input type ="submit" value="send">
</form>
</body>
</html>
testing.php
<?php
$data = $_REQUEST["data"];
if (isset($data)) {
echo $data;
}
else
{
echo "No data ";
}
?>
答案 0 :(得分:0)
此示例可以正常工作 - 与发送方法无关(GET / POST)。
这些情况已得到处理(您也可能会这样做):
<!DOCTYPE html>
<head>
</head>
<body>
<form method="POST" action="testing.php">
<input name="data" type="text">
<input type ="submit" value="send">
</form>
</body>
</html>
<?php
if (isset($_REQUEST["data"])) {
$data = trim($_REQUEST["data"]);
if (strlen($data) > 0) {
echo "Data sent: $data";
} else {
echo "Data sent but EMPTY";
}
} else {
echo "NO DATA sent";
}
?>
其中一个......
NO DATA sent
Data sent: myData
Data sent but EMPTY
答案 1 :(得分:0)
恕我直言,您应该检查数据是否实际传递。改变你的PHP如下:
<?php
$data = (isset($_REQUEST["data"]) && $_REQUEST["data"] != "") ? $_REQUEST["data"]: "no data" ;
echo $data;
//this should print value of data (or "no data" if no value passed)
?>
答案 2 :(得分:-1)
在检查它是否存在之前,您无法将其分配给局部变量。您需要就您关心的实际内容致电isset
:
if (isset($_POST["data"])) {
$data = $_POST["data"];
答案 3 :(得分:-1)
试试这个:
<?php
$data=trim($_POST['data']);
if(empty($data){
echo "no data";
} else {
echo $data;
}
?>