【问题标题】:How to make a search bar that search content of an external .txt file? [closed]如何制作一个搜索外部 .txt 文件内容的搜索栏? [关闭]
【发布时间】:2018-10-23 20:12:56
【问题描述】:

请在我更新内容时向下滚动,或从此处阅读以了解我想要的内容。

我想知道专家是否可以帮助我:) 我正在制作一个网站(不是我最好的一面:D),让用户可以搜索他们的 ID,无论他们是否被禁止。

基本上应该是这样工作的:

  1. 用户输入“数据”。 (例如 123456789987654321 )
  2. 用户按下“搜索”按钮。
  3. 搜索脚本从这里开始
  4. 'It','我想要的 Web 脚本',转到自定义 URL 进行搜索(例如 www.website.com/bans.txt)(我想要的 URL 需要不可编辑 - 只有我可以编辑 URL,因此用户永远不会知道或更改 URL)
  5. 如果“它”找到“数据”,那么他就会对客户做出响应。 (如果他找到它,他会说:“你被禁止了。”|或|如果他没有找到它,他说:“你没有被禁止。”)

我确实做了很多搜索工作。但我找不到任何东西可以上班。我什至关注了 YouTube 上的 tut,但他们一直在从机器上已经存在的文件中搜索。我搜索的是从 URL 搜索。 (它也是一个 txet 文件,但在外部站点上,而不是搜索脚本。)

我确实尽力解释了我尝试制作的内容。我希望有人能帮助我,确实花了 5 个小时才找到一些东西......

--更新--

我确实做了一个如下所示的搜索栏:

<div class="search-container">

                            <form action="search.php">
                                <input type="text" placeholder="Add your UID here" name="search">
                                <button type="submit">Search | Am I Banned?</button>
                            </form>
                        </div>

比我添加了一个像@Justin T.所说的php文件,它看起来像这样:

    <?php

$userSearchString = $_POST['searchStrFromForm'];

$secretURL = "censored";
$urlContents=file_get_contents($secretURL);

if(strstr($urlContents,$userSearchString)!=FALSE){
  //found
  echo "You are banned.";
}else{
  //not found
  echo "You are not banned.";
}

?>

但是,这并不是我总是得到的 - 你没有被禁止。 - 作为响应,即使 UID(用户搜索的字符串)存在于 .txt 文件中。

如果您想要演示,请转到 here 并输入 UID 列表中不存在的“asdasd”,然后尝试输入列表中的“76561198151285096”,但您仍然会看到 -> 您没有被禁止.

【问题讨论】:

  • 我感觉是meta.stackexchange.com/questions/66377/what-is-the-xy-problem;比如你将如何隐藏 URL?从 API 处理它?是否有第 3 方 API 或者您是否必须进行屏幕抓取?
  • 我们没有任何代码可以查看,所以我们不可能知道它为什么不起作用,抱歉
  • 顺便说一句,txt 文件可能不是这里最好的解决方案。有很多存储数据的方法,这些方法带有各种用于搜索和解析的好工具,你不会从那个 txt 文件中得到。如果你想让它变得非常简单,XML 或 JSON 文件会好得多,但如果你想要更具可扩展性的东西,你应该研究一个 SQL 数据库(SQL server、mySQL、Oracle、PostgreSQL 等......) ,如果您想通过 IP 地址除了用户帐户之外还阻止其他人,您可以阅读 .htaccess 文件。
  • 试图改变内容和标题 - 我希望现在它是干净的理解。我不需要任何 API,它只是一个干净的搜索栏,可以从外部 URL 的 .txt 中进行快速检查...

标签: javascript php html css search


【解决方案1】:

我会使用 PHP 处理用户的输入,并使用 file_get_contents() 将您指定的 URL 中的内容加载到变量中,然后使用 strstr() 和其他 PHP 搜索函数在变量中搜索搜索文本。

您的 PHP 代码看起来像这样......

<?php

$userSearchString = $_POST['searchStrFromForm'];

$secretURL = "http://www.yoursecreturl.com";
$urlContents=file_get_contents($secretURL);

if(strstr($urlContents,$userSearchString)!=FALSE){
  //found
  echo "You are banned.";
}else{
  //not found
  echo "You are not banned.";
}

?>

我没有对此进行测试,它可能需要一些调整,但希望能让你走上正确的道路。祝你好运!

【讨论】:

  • 我确实添加了这个 - 即使我在那个 url 中写了一个字符串,他也会返回其他......所以他总是说找不到。如果它存在与否,他总是说你没有被禁止。有人可以帮我解决它吗? (我确定您提供的 html 和 php 代码中的搜索栏很好,但也许我们需要添加其他内容?)
  • 我刚刚对其进行了测试,它对我有用。你能发布你的 HTML 和 PHP 代码吗?
  • 我确实发布了您可以使用的所有内容:)
  • 您忘记更改 $_POST 变量。在您的 PHP 中,更改 "$userSearchString = $_POST['searchStrFromForm'];"对此...“$userSearchString = $_POST['search'];”。在您的 HTML 中,将“
    ”更改为...“
    ”,您应该一切顺利!
  • 感谢贾斯汀的回复 :) 但它仍然说:你没有被禁止 - 当它应该说我被禁止时。
猜你喜欢
  • 2022-12-02
  • 2022-12-15
  • 1970-01-01
  • 1970-01-01
  • 2014-05-29
  • 2019-01-24
  • 1970-01-01
  • 2018-07-29
  • 1970-01-01
相关资源
最近更新 更多