来自'的值;HTML';表格至';PHP';该文件不会被转换为php文件

来自'的值;HTML';表格至';PHP';该文件不会被转换为php文件,php,html,Php,Html,我的任务是为搜索字段创建表单。希望将值从搜索转移到所需的php文件“result.php”。但我发现我无法解决这个问题。请任何人帮帮我。我是php新手 HTML编码: <form action="result.php" method="POST"> <input type="search" name="query" size="10" id="searchfield" title="searchfield" /> <input type="subm

我的任务是为搜索字段创建表单。希望将值从搜索转移到所需的php文件“result.php”。但我发现我无法解决这个问题。请任何人帮帮我。我是php新手

HTML编码:

 <form action="result.php" method="POST">
    <input type="search" name="query" size="10" id="searchfield" title="searchfield" />
    <input type="submit" name="Search" value="" alt="Search" id="searchbutton" title="Search" />
    </form>
//result.php

@session_start();
include 'connections.php';
//echo "hai"; // I debug this code with the help of echo statements. and  successfully printing hai

if (isset($_POST['query']) && $_POST['query'] != ""){// unable to enter in `if` condition 
$query = $_POST['query'];
$min_length = 1;
if(strlen($query) >= $min_length)
{
$query = htmlspecialchars($query);
$query = mysql_real_escape_string($query);
............`

在搜索字段中输入的值不是从“HTML”表单到“PHP”文件来执行所需操作的,请任何人帮助我解决此错误。

如果值是用
var\u dump($\u POST['query'])打印的那么它实际上是通过表单发送的。为什么你要测试两次它的长度。尝试测试在获取表单的文件中是否设置了值。用jquery测试它。然后在result.php中只需检查值是否已发布。那么,您打算如何处理result.php中的值呢

试一试

编辑

您可以尝试使用ajax发送值。将下面的代码添加到带有表单的文件中的脚本标记中,就这样

    $("#searchbutton").click(function(){ 
    var value = $("#searchbutton").val(); 
    $.ajax({
    url: "result.php",
    type:"POST",
    data: value, 
    success: function(result){
     $("#div1").html(result); 
    }
    }); 
   });

尝试像这样更改输入的类型

<input type="text" name="query" size="10" id="searchfield" title="searchfield" />


为了确保它不会引起你的问题:)

最后我解决了我的问题。。由于“访问权限”而出现问题。我重写了访问权限。。现在它开始工作了,谢谢大家

您的两个文件都在同一个目录中吗?在您的注释中,您回送了$query,您的分配不正确,您有$query=var_dump($_POST['$query']);但更进一步,您可以使用$query=$\u POST['query']正确地分配它;在var_dump()的帮助下,我正在检查我得到的值。。。这只是调试。。我通过回显简单语句进行了调试您可能希望更改使用mysql的方式-要检查值,只需执行:$query=$\u POST['query'];echo$query<代码>var_dump($_POST['$query'])
在解释中,丢失$for query;)我们正在开发简单的图书馆网站。我们的数据库里有书。正在开发搜索操作。。因为那…不起作用。。。与之前一样,我使用var_dump($_POST['$query'])得到NULL;嗯。试着在会话之前删除@before,这样你就会看到是否有任何错误。然后试着把输入类型放在文本中而不是搜索(html5)。很抱歉,它对我不起作用@NejcRodošekNo use@Branimir Durekwell你的代码看起来很好。。。按f12并打开网络选项卡。然后提交表单并检查请求发布数据,以确保表单发送“查询”值。如果它有效,那么尝试注释所有内容,然后回显$\u POST[“query”],以确保代码的其余部分不会导致问题……对我来说没有任何效果。我不知道为什么。。甚至我也检查过ajax和javascript。从“html”表单到php文件的值未获取……。您确定没有重复的项目吗??所以你编辑了一个,但你测试了另一个的功能。。。
<input type="text" name="query" size="10" id="searchfield" title="searchfield" />