Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   создать переход на php страничку после регистрации (https://javascript.ru/forum/server/79878-sozdat-perekhod-na-php-stranichku-posle-registracii.html)

monstrorosso 03.04.2020 17:44

создать переход на php страничку после регистрации
 
Добрый. Не как не получается создать переход на php страницу после регистрации, плз) помогите.

<?php
require "db_connect.php";

$data=$_POST;
	if(isset($data['do_login'])) // если была нажата кнопка
	{
		$errors = array();
		$user = R::findOne('users', 'login = ?', array($data['login']));
		if( $user)
		{
			// Когда  логин сушествует, проверяем пароль
			if(password_verify($data['password'], $user->password))
			{
		  //	echo 'Логинится';
			// Все хорошо, логиним пользователя
				$_SESSION['logged_user'] = $user;
				
					

*!*
				echo '<div style = "color: green;">Вы Авторизованы! <br/> Можете перейти на <a href="F:\JAWA\Arxiv\maxim\OSPanel\domains\Game\script\menu game.php">главную</a> страницу!</div><hr>';
	           header("Location: script\menu game.php");

*/!*


			} else {
				$errors[] = 'Пароль неправильно введен';
			}
		} else
		{
			$errors[] = 'Пользователь не найден!';
		}

		if (!empty($errors)) {
			echo'<div style="color:red;">'.array_shift($errors).'</div><hr>';
		} 
	}
	?>

	<form action="login.php" method="POST">
		<p>
			<p><strong>Логин:</strong></p>	
			<input type="text" name="login" value = "<?php echo @$data['login'];?>">
		</p>
		<p>
			<p><strong>Пароль:</strong></p>	
			<input type="password" name="password" value = "<?php echo @$data['password'];?>">
		</p>
		<p>
			<button type="submit" name = "do_login">Войти</button>
		</p>

	</form>

laimas 03.04.2020 18:33

Цитата:

Сообщение от monstrorosso
F:\JAWA\Arxiv\maxim\OSPanel\domains\Game\script\me nu game.php

Нельзя такие пути указывать, не будет на реальном сервере таких путей да еще и в стиле Widows. До передачи заголовков (header) не должно быть никакого вывода в браузер. Удалите из кода передачу заголовка, оставив только ссылку, но с нормальным адресом.

monstrorosso 03.04.2020 18:45

да виноват, это уже от бессилия. вставлял по ссылке страницу гугла, все работает, но php файл я так не могу вставить.

header("Location: script\menu game.php"); или у меня в этой строке не правильно указан путь?

laimas 03.04.2020 18:50

Еще раз:

echo "..."

а затем

header("...")

это ошибка и не будет никакого перехода. Если нужно после приема формы и успешной проверки данных направить пользователя на нужную страницу, то зачем вы еще и ссылку пытаетесь воткнуть? Убирайте ее из кода, оставив передачу заголовка с обязательным завершением скрипта:

header("Location: script/menu?game.php");
exit;

И слеш должен быть обратным. На месте вопроса - не должно быть в пути пробела, разбирайтесь что за баг у вас тут.

monstrorosso 03.04.2020 19:43

header("Location: http://Game/script/index.php");
exit;
из за того что это локальный сервер, адрес нужно писать иначе, спс подтолкнули в нужное направление.

laimas 03.04.2020 19:56

Цитата:

Сообщение от monstrorosso
из за того что это локальный сервер, адрес нужно писать иначе

Какая разница какой сервер, у вас в адресе ошибка. И указывать полный сетевой путь нужно тогда когда переход на другой домен, на одном домене достаточно относительного пути. Только без пробелов и прочих багов.


Часовой пояс GMT +3, время: 19:34.