Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 尝试在搜索框中回显字符串_Php_String_Textbox_Echo - Fatal编程技术网

Php 尝试在搜索框中回显字符串

Php 尝试在搜索框中回显字符串,php,string,textbox,echo,Php,String,Textbox,Echo,我正试图在搜索框中回显字符串。但是到目前为止,它只回显字符串的第一个单词 require 'search.php'; $searchQuery = $_GET['searchText'] ; echo $searchQuery;//prints "this is a test" $search = new Search(); $search->run($searchQuery); . . <input name="searchText" type="text" id="searchT

我正试图
在搜索框中回显
字符串。但是到目前为止,它只回显字符串的第一个单词

require 'search.php';
$searchQuery = $_GET['searchText'] ;
echo $searchQuery;//prints "this is a test"
$search = new Search();
$search->run($searchQuery);
.
.
<input name="searchText" type="text" id="searchText" size=70 value = <?php echo $searchQuery; // prints "this"?> />
需要“search.php”;
$searchQuery=$\u GET['searchText'];
echo$searchQuery//打印“这是一个测试”
$search=新搜索();
$search->run($searchQuery);
.
.

它之所以发生,是因为它周围没有引号,所以实际输出的是

<input ... value = this is a test />

因此,它将第一个标记指定为“value”属性。 试试这个:

<input ... value="<?php echo $searchQuery; ?>" />

之所以发生这种情况,是因为它周围没有引号,所以实际输出的是

<input ... value = this is a test />

因此,它将第一个标记指定为“value”属性。 试试这个:

<input ... value="<?php echo $searchQuery; ?>" />
试试这个:

<input ... value="<?php echo $searchQuery; ?>" />
<input name="searchText" type="text" id="searchText" size="70" value="<?php echo $searchQuery; ?>" />
试试这个:

<input ... value="<?php echo $searchQuery; ?>" />
<input name="searchText" type="text" id="searchText" size="70" value="<?php echo $searchQuery; ?>" />

您需要在“value”属性的值周围添加引号,例如:

<input name="searchText" type="text" id="searchText" size=70 value="<?php echo $searchQuery; // prints "this"?>" />

您需要在“value”属性的值周围添加引号,例如:

<input name="searchText" type="text" id="searchText" size=70 value="<?php echo $searchQuery; // prints "this"?>" />
尝试添加引号:

<input name="searchText" type="text" id="searchText" size="70" value="<?php echo htmlspecialchars($searchQuery); ?>"/>
尝试添加引号:

<input name="searchText" type="text" id="searchText" size="70" value="<?php echo htmlspecialchars($searchQuery); ?>"/>


没问题,我们偶尔都会错过一些小事情!投-1票:请给出理由或取消投票。提交者已经评论说这个答案是正确的。没问题,我们都会时不时地错过一些小事情!投-1票:请给出理由或取消投票。提交者已经评论说这个答案是正确的。这是直接来自
$\u GET
,所以你可以在“其他”中投票否决其他所有正确答案,以清理问题页面。做得很好:)我会在我想的时候删除我的答案。好吧,它们只对了一半。如果查询只包含引号呢?然后它又会在某个词处停止。这甚至没有考虑XSS。让它们完全正确是很容易的,所以如果有人编辑,我会删除它们。我当然理解。在这种情况下,他只是在寻找一个快速的解决方案,不是一个特殊的场景,但程序员有不同的天赋:)顺便说一句,我还想说这不是一个特殊的情况。任何值得使用的搜索框都将支持精确匹配的引号。谷歌、stackoverflow搜索等;p这是直接来自
$\u GET
的,因此您可以在“其他”中每隔一个正确答案进行否决投票,以清理问题页面。做得很好:)我会在我想的时候删除我的答案。好吧,它们只对了一半。如果查询只包含引号呢?然后它又会在某个词处停止。这甚至没有考虑XSS。让它们完全正确是很容易的,所以如果有人编辑,我会删除它们。我当然理解。在这种情况下,他只是在寻找一个快速的解决方案,不是一个特殊的场景,但程序员有不同的天赋:)顺便说一句,我还想说这不是一个特殊的情况。任何值得使用的搜索框都将支持精确匹配的引号。谷歌、stackoverflow搜索等;你不能直接附和那些东西。。如果我的查询是
“>…
在使用前不要忘记清理
$\u GET
变量你不能直接回显那些东西..如果我的查询是
“>…
在使用前不要忘了清理
$\u GET
变量哦,我多么喜欢匿名否决票。。。有什么理由吗?你不同意注射性吗?你想举个例子吗?不管怎样,这只是额外的信息,我的回答仍然解决了这个问题。我不想在页面上的每个答案中都有相同的对话。你可以阅读我对Chibueze Opata回答的评论。在搜索中使用引号是非常常见的,它会打破这一点,并且只显示部分单词。除了不正确之外,它们还存在XSS漏洞。因此,它们不仅“没有用处”,而且完全有害。想要对此进行元讨论吗?@Esailija是的,我回答了他的问题,并解释了不清理GET变量所造成的安全漏洞。你读过我或其他人的答案吗?这个问题不仅已经回答了,而且你还迟到了。不要因为你认为你的答案更好就投反对票。。。从常见问题解答中:
每当你遇到一篇极其草率、不费力气的帖子,或者一个明显且可能危险地错误的答案时,请投反对票。
足够公平。虽然我不同意你的注意力吸引机制,但我认为它是有效的。除了XSS是可能的这一事实之外,我明白你关于引号/转义的观点,回想起来,简单地告诉他转义w/htmlspecialchars是最简单、最简洁和正确的答案。因此,很抱歉,我对您所认为的asbergers的简洁性做出了回应:)但我在此避免的一件事是总是给出简单的答案“像这样使用这个函数”,因为询问者可能不理解什么是消毒,或者
htmlspecialchars
做了什么。他/她现在可能会,呵呵。因为我不想给他关于插头和插头的答案,我想说“这很危险”,而不是给出一个单线解决方案,所以他/她必须自己做一些工作(否则类似的问题可能会再次被问到)。我想让他/她知道为什么这是危险的,理解它何时适用,何时不适用,等等。无论如何,添加了一个对函数的引用和一个指向开源web应用程序安全项目的链接,我认为这对新手来说是好的。哦,我多么喜欢匿名否决票。。。有什么理由吗?你不同意注射性吗?你想举个例子吗?不管怎样,这只是额外的信息,我的回答仍然解决了这个问题。我不想在页面上的每个答案中都有相同的对话。你可以阅读我对Chibueze Opata回答的评论。在搜索中使用引号是非常常见的,它会打破这一点,并且只显示部分单词。除了不正确之外,它们还存在XSS漏洞。因此,它们不仅“没有用处”,而且完全有害。想对此进行元讨论吗?@Esailija是的,我回答了他的问题,并解释了不消毒h造成的安全漏洞