2012-06-03 5 views
1

Итак, я просмотрел разные сообщения и другие ресурсы, и я все еще не могу заставить его работать. Кажется основным и общим, но я потерян. Вот мой код. Страница "test_start.php":передать переменную php через страницы с перенаправлением

<html> 
<head> 
<title>Test</title> 
</head> 
<body> 
    <p>Click <a href="test_script.php">here</a></p> 
</body> 
</html> 

Страница "test_script.php":

<?php 
    session_start(); 
    $_SESSION['passed']="My text!"; 
    header("Location: test_ultima.php"); 
?> 

Страница "test_ultima.php":

<?php session_start(); ?> 
<html> 
<head> 
    <title>Something</title> 
</head> 
<body> 
    <p>This text shows, so redirect worked!</p> 
    <?php 
     echo "<p>Result isset: ".isset($_SESSION['passed'])."</p>"; 
     echo "<p>I passed:".$_SESSION['passed']."</p>"; 
    ?> 
</body> 
</html> 

Когда я нажимаю на ссылку I см. следующее:

Этот текст показывает, поэтому перенаправление работало!
Результат Исеть:
Я прошел:

Что я делаю неправильно? Пожалуйста, если вы можете, также explein, как и почему он должен работать ...

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

+0

Включили ли вы сообщение об ошибках в PHP? – PeeHaa

+0

Мой php в значительной степени находится в настройках «по умолчанию», включен ли он по умолчанию? Если нет, как мне включить его? – rodedo

+0

поместить print_r ($ _ SESSION) на вторую страницу для просмотра содержимого – codingbiz

ответ

1

с комментарием OP:

session_start() [function.session-старт]: открыт (C: \ PHP \ сеансов \ sess_87ruc3n1gb0e5ivlsfurgr0nr0, O_RDWR) не удалось: нет такого файла или каталога (2) в C: \ Inetpub \ wwwroot \ missione-berna.ch \ test_ultima.php в строке 3

Это означает, что либо каталог, в котором PHP пытается написать сеансы, не существует, либо просто не имеет права на чтение/запись в этом каталоге.

Итак, сначала вам нужно проверить, существует ли каталог на самом деле. Если он существует, вы должны проверить разрешения пользователя apache (или другого веб-сервиса) в этом каталоге.

+1

Итак, проблема была в настройке моей php-установки, php.ini указал на папку «сеансы», но имя папки было неправильно (сеанс). Спасибо всем, что было поучительно! – rodedo

+0

Пусть это будет для вас уроком. ** Всегда ** включить отчет об ошибках при разработке. :-) – PeeHaa

Смежные вопросы