用php的WordPress重定向问题

时间:2017-04-18 05:15:37

标签: php wordpress redirect

我的数据库中有一些用户。 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"); 
}  

5 个答案:

答案 0 :(得分:0)

如果对你有用,请检查它

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;

答案 1 :(得分:0)

我的详细信息如下

  

登录页面

<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]

答案 2 :(得分:0)

您是否在发送标题后执行重定向? 如果是这样,它将无法工作。在发送标题之前,请确保您的代码正在运行,最好是作为Wordpress提供的template_redirect hook的一部分。

如果您不确定代码的加载位置,我建议您在template_redirect挂钩期间运行的函数中包含您的代码。例如,您可以将以下内容添加到主题的functions.php文件中:

function handle_session_data()
{
  //Your code here.
}
add_action( 'template_redirect', 'handle_session_data' );

答案 3 :(得分:0)

@Nadav我的error_log显示以下错误:

  

[02-May-2017 07:29:06 UTC] PHP警告:session_start():无法发送会话cookie - 已经发送的标头(输出从/ home / mysite / public_html / wp / wp-includes / class开始/wome/mysite/public_html/wp/wp-content/plugins/insert-php/insert_php.php(47)中的.wp-styles.php:237):第2行的eval()&#39;代码

     

[02-May-2017 07:29:06 UTC] PHP警告:session_start():无法发送会话缓存限制器 - 已发送的标头(输出从/ home / mysite / public_html / wp / wp-includes / class开始.hp / styles.php:237)在/home/mysitec/public_html/wp/wp-content/plugins/insert-php/insert_php.php(47):eval()&#39; d代码在第2行

     

[02-May-2017 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()&#39;代码

答案 4 :(得分:0)

以下代码解决了我的问题

`function register_my_session()

{

if(!session_id())

{

session_start();

}

}` 在function.php中

并启动会话没有任何错误,对于标题,我使用了java脚本重定向,这解决了我的问题