繁体   English   中英

php的WordPress重定向问题

[英]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"); 
}  

请检查是否对您有用

https://www.templatemonster.com/help/wordpress-how-to-create-a-redirect-from-a-home-page-to-any-url-using-the-php-redirect.html#gref

$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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM