我见过一些类似的问题,但它们并不完全相同。如果我找不到,请原谅我。然而,到目前为止,我所拥有的是:
我创建了一个表单,其中有一个访问代码输入字段和一个提交按钮,如下所示:
<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()
部分我该怎么做?
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
因为这是使用“漂亮”永久链接时的默认行为