添加访问代码表单以调用基于页面的唯一页面,而无需注册

时间:2014-01-08 作者:Shanne69

我见过一些类似的问题,但它们并不完全相同。如果我找不到,请原谅我。然而,到目前为止,我所拥有的是:

我创建了一个表单,其中有一个访问代码输入字段和一个提交按钮,如下所示:

<form action="#" method="POST" name="access">
    <p style="text-align: center;">
        <input id="access_code" type="Text" name="access_code" value="" />
        <input type="Submit" name="access1" value="Register" />
    </p>
</form>
然后在后端,我从以下内容开始:

if(isset($_POST[\'Register\'])){
    if(empty($_POST[\'access_code\'])){
        echo "Access Code Must Be Entered";
    }
}

$DisplayForm = True;
if(isset($_POST[\'Register\'])){
    $DisplayForm = False;
    echo $_POST[\'access_code\'];
}

if ($DisplayForm){
    ?>
    <form action="#" method="POST" name="access">
        <input type="Text" name="access_code" value=" " />
        <input type="Submit" name="access1" value="Register" />
    </form>
    <?php
}

echo "<a href="http://www.mysite.com/<?php echo $_POST[\'access_code\'];?>"<img src="http://www.mysite.com/images/logo.jpg"></a>"
我意识到我的最终echo语法被破坏了,但不太确定如何写出。

我所要做的就是让这个表单将用户重定向到一个自定义页面,该页面基于给定的访问代码,并用一个简短的代码调用它。例如,如果访问代码为“help”,则会将其发送到http://www.mysite.com/help, 或者,如果密码为“contact”,则会将其发送到http://www.mysite.com/contact.

我最初想基于WordPress中的密码保护功能来实现这一点,如果页面密码也是“帮助”,它只会重定向到该URL,但我可能会让事情变得过于复杂。

So the new code should look like this:

if(isset($_POST[\'Register\'])){
    if(empty($_POST[\'access_code\'])){
        echo "Access Code Must Be Entered";
    }
}

$DisplayForm = True;
if(isset($_POST[\'Register\'])){
    $DisplayForm = False;
    echo $_POST[\'access_code\'];
}

if ($DisplayForm){
    ?>
    <form action="/" method="$_GET" name="access">
        <input type="Text" name="name" value="" />
        <input type="Submit" name="access1" value="Register" />
    </form>
    <?Php
}

wp_redirect(get_bloginfo(\'url\').\'/\'.$_POST[\'access_code\']);
我想我完全理解,除了之前的死刑get_header() 部分我该怎么做?

1 个回复
SO网友:GhostToast

如果你的代码真的是slug(“secret page”=example.com/secret page),你可以这样做。。。

wp_redirect(get_bloginfo(\'url\').\'/\'.$_POST[\'access_code\']);
但请注意,邮件头不可能已经发送,因此这需要在之前发生get_header(). 需要进行更多的测试,但这将使您在原则上走上正确的道路。

您还可以让表单的操作\'/\', 方法as$_GET 并使name 输入be的"name" (<input name="name" ...>).

所以如果你访问

example.com/?name=my-secret-page

你将在

example.com/my-secret-page

因为这是使用“漂亮”永久链接时的默认行为

结束

相关推荐

shortcode not working

我正在制作woocommerce的内容产品,并在模板中作为echo do_shortcode (\'[product_attribute attribute=\"Grams\"]\'); 其中Grams作为属性在我的后端,它有值,但没有输出任何内容。这是一个错误的查询还是我需要做其他事情?