php中的POST方法

时间:2016-02-13 12:42:18

标签: php post methods

我不知道如何处理错误。我只是想将值传递给另一个页面。我使用“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 ";
}

?>

4 个答案:

答案 0 :(得分:0)

此示例可以正常工作 - 与发送方法无关(GET / POST)。
这些情况已得到处理(您也可能会这样做):

  • 变量&#34;数据&#34;没发送。
  • 变量&#34;数据&#34;传输但是空了
  • 变量&#34;数据&#34;传播和有所内容

HTML代码

<!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脚本

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

?>