2013-09-02 3 views
0

Я знаю, что это было задано много, много и много раз; однако различные вещи, которые я видел и пытались, не сработали.Использование сеанса для передачи данных с php на другую страницу

Все, что я хочу сделать, это передать данные с одной страницы на другую, чтобы я мог использовать электронную почту пользователя, чтобы делать различные вещи базы данных.

Вот мой login.php файл (в сокращенном виде, только показывая логин материал):

<?php 
session_start(); 

ini_set("display_errors", "1"); 

$user_email = $_POST['user_email']; 
$_SESSION['user_email'] = $user_email; 

$password = $_POST['user_password']; 

//DB stuff 

if ($num_results == 1) { 

header('Location: nextPage.html'); 
exit; 
} 

else { 

echo "<p> Username or Password is incorrect! </p>"; 
} 
?> 

Вот моя следующая страница HTML файл:

<?php 
session_start(); 

ini_set("display_errors", "1"); 

$email = $_SESSION['user_email']; 

echo $email; 
?> 


<html> 
<head> 
<title> next page </title> 
</head> 

<body> 

You have logged in! 
</body> 
</html> 

Всякий раз, когда я пытаюсь повторить его по электронной почте пустое, и когда я проверяю его, он говорит мне, что он пуст.

Любой совет был бы полезен, спасибо огромное!

+1

попробуйте переименовать nextpage.html в nextpage.php – Tushar

+0

также его хорошую практику, чтобы проверить, действительно ли значения $ _POST установлены перед использованием. –

+0

Значения post устанавливаются и проверяются, извините, я сократил код, забыл включить эту часть. @Tushar, есть ли какая-то конкретная причина, почему следующей странице должен быть php вместо html? –

ответ

2

Причина, по которой у вас возникли проблемы, заключается в том, что ваш header('Location: nextPage.html'); указывает на файл .html.

Попутный сессий с одной страницы на другую будет работать только в РНР среде и должны были быть установлены как header('Location: nextPage.php');

Однако .html файлы могут работать как PHP, используя следующие директивы в .htaccess

AddType application/x-httpd-php .html 

Если вы планируете включить PHP на одной странице, лучше настроить этот путь:

<Files nextPage.html> 
AddType application/x-httpd-php .html 
</Files> 
Смежные вопросы