php一个表单get过来时有值,post就获取不到值了

发布于 2021-12-01 16:18:48 字数 2026 浏览 937 评论 6

html

<form action="results.php" method="get">
    Choose Search Type:<br />
    <select name="searchtype">
        <option value="author">Author
        <option value="title">Title
        <option value="isbn">ISBN
    </select>
    <br />
    Enter Search Term:<br />
    <input name="searchterm" type="text" size="40">
    <br />
    <input type="submit" name="submit" value="Search">
</form>



php

<?php
// create short variable names
@$searchtype=$_GET['searchtype'];
@$searchterm=trim($_GET['searchterm']);

if (!$searchtype || !$searchterm) {
    echo 'You have not entered search details.  Please go back and try again.';
    exit;
}

if (!get_magic_quotes_gpc()){
    $searchtype = addslashes($searchtype);
    $searchterm = addslashes($searchterm);
}

@ $db = new mysqli('localhost', 'root', 'lzy', 'books');

if (mysqli_connect_errno()) {
    echo 'Error: Could not connect to database.  Please try again later.';
    exit;
}

$query = "select * from books where ".$searchtype." like '%".$searchterm."%'";
$result = $db->query($query);

$num_results = $result->num_rows;

echo "<p>Number of books found: ".$num_results."</p>";

for ($i=0; $i <$num_results; $i++) {
    $row = $result->fetch_assoc();
    echo "<p><strong>".($i+1).". Title: ";
    echo htmlspecialchars(stripslashes($row['title']));
    echo "</strong><br />Author: ";
    echo stripslashes($row['author']);
    echo "<br />ISBN: ";
    echo stripslashes($row['isbn']);
    echo "<br />Price: ";
    echo stripslashes($row['price']);
    echo "</p>";
}

$result->free();
$db->close();

?>



这里我method=”get“时是可以的,但是当我改成post时就不行了,var_dump()后发现传过来的值是null,请问这是为什么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

蓝颜夕 2021-12-02 05:48:31

你调试下看看变量里面有没有呢。

网名女生简单气质 2021-12-02 05:48:31

楼主注意:

get_magic_quotes_gpc在新版php中已经废弃了。

鹤舞 2021-12-02 05:48:09

我method="post"时用的就是$_post,取不到

风透绣罗衣 2021-12-02 05:47:45

<form action="results.php" method="get">  

method="get"  这里写 get  就用  get 接收值

method="post"  这里写 post就用  post接收值

混吃等死 2021-12-02 03:58:58

不不,我这是写的get的代码,我写成post的时候$_post取值也是取不到

背叛残局 2021-12-01 20:07:39

取值也要用$_POST来取

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文