Проблема с перенаправлением WordPress с php

69
7

У меня есть некоторые пользователи в моем db. Сценарий 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");
}

спросил(а) 2017-04-18T08:15:00+03:00 3 года, 5 месяцев назад
1
Решение
80

@Nadav В моей error_log отображается следующая ошибка:

[02-May-2017 07:29:06 UTC] PHP Warning: session_start(): Не удается отправить cookie сеанса - уже отправленные заголовки (вывод запущен в /home/mysite/public_html/wp/wp-includes/class.wp- styles.php: 237) в /home/mysite/public_html/wp/wp-content/plugins/insert-php/insert_php.php(47): код eval() 'в строке 2

[02-May-2017 07:29:06 UTC] PHP Warning: session_start(): Не удается отправить ограничитель кеша сеанса - уже отправленные заголовки (вывод запущен в /home/mysite/public_html/wp/wp-includes/class.wp- styles.php: 237) в /home/mysitec/public_html/wp/wp-content/plugins/insert-php/insert_php.php(47): код eval() 'в строке 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): код eval() 'в строке 25

ответил(а) 2017-05-02T10:35:00+03:00 3 года, 4 месяца назад
40

следующий код решил мою проблему

'function register_my_session()

{

if (! session_id())

{

session_start();

}

} 'в function.php

и начать сеанс без каких-либо ошибок, для заголовка я использовал перенаправление java-скрипта, это решило мою проблему

ответил(а) 2017-05-03T15:09:00+03:00 3 года, 4 месяца назад
41

Выполняете ли вы перенаправление после того, как заголовки уже отправлены? Если так, то это не сработает. Убедитесь, что ваш код запущен до отправки заголовков, предпочтительно в качестве части шаблона, который предлагает Wordpress.

Если вы не знаете, где загружается ваш код, я предлагаю вам включить ваш код внутри функции, которая выполняется во время hook_redirect. Например, вы можете добавить в свой файл functions.php тему:

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

ответил(а) 2017-04-19T12:29:00+03:00 3 года, 5 месяцев назад
40

мои подробности следуют

страница авторизации

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

ответил(а) 2017-04-19T12:17:00+03:00 3 года, 5 месяцев назад
41

пожалуйста, проверьте это, если полезно для u

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;

ответил(а) 2017-04-18T10:09:00+03:00 3 года, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема