|
|
|
|
<?php
include("up.php");
include ("leftdiz1.php");
include ("left/index.php");
include ("leftdiz2.php");
$fraza = "Пользователя с таким именем ($name) не существует<br>Вы можете зарегистрироваться <a href='registration.php'>здесь</a>";
print "$fraza";
include ("rightdiz.php");
include ("dawn_copiright.php");
if(!file_exists("base/$name")) exit;
else
{
//проверяем наличие файла с именем которое ввё пользователь
$pass=md5($pass);
//шифруем пароль
$rfile=fopen("base/$name", "r");
$data=file("base/$name");
$newstr=strtok($data[1], "\n");
//предаём паролю значение $newstr и ниже проверяем равны ли значения если равно то перекидываем юзера на главную...но именно это почему то не происходит!
if (strcmp($newstr, $pass)==0) {
setcookie("valid_user", 'base/$name', time()+604800);
header("location:http://localhost/6/index.php");
exit; }
else {echo "Введен неправильный пароль";}
fclose($rfile);
}
?>
|
| |
|
|
|
|
|
|
|
для: 10100100
(24.09.2005 в 10:46)
| | До вызова header() что-нибудь в браузер выводится?
Куки, сессии, отправка заголовков должны происходить до отправки любой информации в окно браузера, т.е. до любого вывода echo, print или непосредственного вывода вне тэгов <?php и ?>. Это связано с тем, что HTTP-заголовки передаются перед всеми данными и когда происходит вывод в окно браузера PHP вынужден их пред этим отослать клиенту. Поэтому повторно, после вывода информации в браузер он не может работать с куками, сессиями и отправлять заголовки.
Если вывод текста до отправки заголовков необходим следует воспользоваться функциями управления вывода, позволяющих задерживать вывод информации в браузер.
http://www.softtime.ru/forum/ead.php?id_forum=1&id_theme=147
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=148
http://www.softtime.ru/group/id_group=12 | |
|
|
|
|
|
|
|
для: cheops
(24.09.2005 в 11:51)
| | скажу проще! всё работало идеально пока я не поменял локацию файлов с записями о юзерах! воть... да и не выводится ничего до этого, только в некоторых случаях else... | |
|
|
|
|
|
|
|
для: 10100100
(24.09.2005 в 11:57)
| | Выводится не должно вообще ничего, ни конструкцией echo, ни прямым выводом, например пробелов перед <?php, ни переводов строк - где-то вывод есть точно, иначе бы функция не капризничала. | |
|
|
|
|
|
|
|
для: cheops
(24.09.2005 в 12:18)
| | тоесть даже если else стоит и не работает? | |
|
|
|
|
|
|
|
для: 10100100
(24.09.2005 в 18:04)
| | Не, else ни при чем. Смотри в инклудах. | |
|
|
|
|
|
|
|
для: 10100100
(24.09.2005 в 18:04)
| | Нет, если ничего не выводится - всё должно быть нормально, но где-то чего-то выводится точно. | |
|
|
|
|
|
|
|
для: 10100100
(24.09.2005 в 10:46)
| |
<?
$fraza = "Пользователя с таким именем ($name) не существует<br>Вы можете зарегистрироваться <a href='registration.php'>здесь</a>";
print "$fraza";
?>
|
print "$fraza"; - выводит сообщение Пользователя с таким именем ($name) не существует<br>Вы можете зарегистрироваться <a href='registration.php'>здесь</a>.
Естественно header("location:http://localhost/6/index.php"); не сработает при любых условиях. | |
|
|
|