[英]WordPress redirect issue with php
我的数据库中有一些用户。 PHP脚本准确地选择了用户,但是重定向不起作用。
请帮助以下任何一个我的脚本:
if($sqlquery==1)
{
$_SESSION['email']=$email;
$_SESSION['password']=$password;
wp_redirect( 'https://mcqpage.com/somepage', 301 );
exit;
}
else
{
header("location:http://www.mcqpage.com/index.php");
}
请检查是否对您有用
$location = get_site_url() . "/contact";
wp_redirect( $location, 301 );
exit;
我的细节如下
登录页面
<form onsubmit='return formValidator()' action='https://mcqpage.com/connection/' method='post'>
<h2>Enter Your Details</h2><hr/>
<label>Name :</label>
<input type='text' name ='addr1' id='addr' /><br />
<label>Password :</label>
<input type="password" name="password" id="password">
<input type='submit' value='Check Form' />
连接页面
> [insert_php]
session_start();
if($_POST['addr1']!="" && $_POST['password']!=""){
session_start();
$connec=@mysql_connect("") or
mysql_error();
if (!$connec) {
die('Could not connect: ' . mysql_error());
}
$email=$_POST['addr1'];
//echo"$email";
$password= $_POST['password']);
if ($email=="")
{
echo "Enter User Name.......";
}
else
$result = mysql_query("SELECT * FROM `database`.`table` WHERE
password='$password' and name='$email'");
$data = mysql_num_rows($result);
if($data==1)
{
$_SESSION['email']=$email;
$_SESSION['password']=$password;
wp_redirect( 'https://mcqpage.com/page', 301 );
exit;
}
else
{
header("location:http://www.mcqpage.com/index.php");
}
}
//connection closed
mysql_close ($connec);}
else{
header("location:http://www.mcqpage.com/index.php");
}
[/insert_php]
标头已发送后,您是否要执行重定向? 如果是这样,它将无法正常工作。 请确保在发送标头之前您的代码正在运行,最好是作为Wordpress提供的template_redirect钩子的一部分。
如果您不确定代码的加载位置,建议您将代码包含在template_redirect挂钩期间运行的函数中。 例如,您可以将以下内容添加到主题的functions.php文件中:
function handle_session_data()
{
//Your code here.
}
add_action( 'template_redirect', 'handle_session_data' );
@Nadav我的error_log显示以下错误:
[02-May-2017 UTC] PHP警告:session_start():无法发送会话cookie-已发送的标头(输出始于/home/mysite/public_html/wp/wp-includes/class.wp- /home/mysite/public_html/wp/wp-content/plugins/insert-php/insert_php.php(47)中的styles.php:237):第2行上的eval()代码
[2017年5月2日07:29:06 UTC] PHP警告:session_start():无法发送会话缓存限制器-标头已发送(输出从/home/mysite/public_html/wp/wp-includes/class.wp- /home/mysitec/public_html/wp/wp-content/plugins/insert-php/insert_php.php(47)中的styles.php:237):第2行上的eval()代码
[2017年5月2日07:29:06 UTC] PHP警告:无法修改标头信息-已发送的标头(输出始于/home/mysitec/public_html/wp/wp-includes/class.wp-styles.php: 237)在/home/mysite/public_html/wp/wp-content/plugins/insert-php/insert_php.php(47)中:第25行的eval()代码
以下代码解决了我的问题
`function register_my_session()
{
if(!session_id())
{
session_start();
}
}`in function.php
并启动会话没有任何错误,对于标题,我使用了Java脚本重定向,这解决了我的问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.