【问题标题】:Enter a code to go to a specific page输入代码以转到特定页面
【发布时间】:2012-08-01 00:30:05
【问题描述】:

我想使用我在另一个网站上看到的想法,我在其中输入“关键字”,按 Enter,然后将客户带到特定页面或网站。

我在http://qldgov.remserv.com.au看到过这样的内容,右侧有一个名为“我的雇主”的字段,例如输入“健康”,您将获得相关内容。

基本上我有客户品牌的迷你网站,我们想为每个客户品牌分配一个“关键字”,这样他们的所有员工都可以进入他们的网站输入这个关键字,而无需所有人都单独登录。我希望能够链接到我可以以某种方式定义的 URL。

我查看了上述网站的源代码,发现他们正在使用表单,但我不确定他们是如何分配关键字的,或者是否可以在没有数据库或类似的东西的情况下执行此操作。尽量保持简单,因为我无论如何都不是 PHP/Java 专家。

任何帮助都将不胜感激,即使它不是代码,而是我需要进入的方向来完成这项工作的想法。提前致谢!! :-)

【问题讨论】:

  • 我建议您将关键字存储在数据库中并带有相应的品牌名称或链接到该品牌,然后在 PHP 中编写代码。很容易重定向到带有参考的特定链接。

标签: php html forms keyword passphrase


【解决方案1】:

在我看来,最简单的方法是定义一个数组,其中包含所有关键字和相应的 url 客户端(在 JS 中)。例如:

​var array = { 'health' : '/health.php', 'sport' : '/swimming.php' };

然后,您将在 onSubmit 上获取用户输入,如果存在,请适当修改 window.location

if ( array[user_input] !== undefined ) {
     window.location = array[user_input];
}
else {
     alert ( 'not found' );
}

如果用户提供health,他们将被重定向到/health.php,如果他们提供sport,他们将被重定向到/swimming.php (JSFiddle)。或者,您可以使用服务器端(PHP、JAVA)来处理请求,但这可能不值得。

祝你好运。

【讨论】:

  • 嗨,Prowla,谢谢你,非常适合我目前需要的东西。
  • 忘了问,如何隐藏代码,因为它在源代码中显示关键字?
  • 由于代码是 JS 客户端,您无法对用户隐藏它。您可以对其进行模糊处理,但任何查看源代码的人仍然可以看到关键字。在源代码中显示键盘是一个大问题吗?
  • 此时没有。我将在不久的将来尝试在某个阶段实施登录过程,所以现在,你给我的东西是完美的。
【解决方案2】:

通过使用 php(而不是 javascript),您无需依赖 javascript + 使其对 seo 友好。

首先,您需要某种数据库或关键字/网址列表

$keywords = array('keyword1' => 'path/to/load.php', 'another keyword' => 'another/path');

那么你需要一个基本的表格

<form action="loadkeyword.php">
  <input name="query">
  <button type="submit">Go</button>
</form>

然后在loadkeyword.php中

$keywords = array('keyword1' => 'path/to/load.php', 'another keyword' => 'another/path');
$query = $_GET['query'];
if (isset($keywords[$query])) {
   $url = $keywords[$query];
   header("HTTP/1.0 301 Moved Permanently");
   header('location: '.$url);
   exit;
} else {
   header("HTTP/1.1 404 Not Found");
   die('unable to locate keyword');
}

如果您的关键字列表很大,我建议您使用数据库而不是数组来跟踪您的关键字。

【讨论】:

    【解决方案3】:

    您链接到的网站是在服务器端进行的,通过匹配内容的关键字列表或搜索功能(我怀疑是后者)。

    有几种不同的方法可以实现您的目标,所有这些方法都是将关键字与内容匹配,然后使用数组、列表或数据库进行重定向 - 原理都是一样的。

    但是,我会恭敬地建议这可能不是最好的解决方案。我的理由是(根据您提供的示例)您实际上是在让您的用户猜测哪个关键字与哪个迷你站点匹配(即使每个站点都有很多关键字)。为什么不提供某种菜单可供选择(即带有迷你站点列表的选择器)?

    【讨论】:

    • 这不会公开,因此每个公司都将获得有效登录到其迷你站点的“关键字”。他们不需要猜测任何东西。我不想公开展示客户是谁,但同时,我也不想为每个客户创建 100 次登录,并认为创建“关键字”分配会就用户体验而言,这是访问网站的一种非常简单的方式。
    • 没有wuckas。祝你好运。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-26
    • 2022-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多