Forum Webscript.Ru
Программирование => PHP => Тема начата: sa от 18 Февраля 2004, 00:22:48
-
подскажите мне пожалуйста как привильно работать с переадрисацией на страницы при помощи header ну ни работает оно у меня и всё как я только не писал у себя в скрипте (ошибок не выдает скрип выполняеется, до вызова header на "экран" ничего невыводится)
даже авторизация не переадрисовывается почемуто я не знаю уже что делать вот мой скрипт подскажите что там не так:
include("page.php");
//Проверка правильных логина и пароля
function CheckData() {
global $password;
global $login;
$password = crypt($password,\'golaid\');
$result = mysql_query("select iduser from tbl_usersite where login=\'$login\' and pas=\'$password\'");
$count = mysql_num_rows($result);
if ($count > 0) {
$id = mysql_fetch_array($result);
return $id["iduser"];}
else return -1;
}
if(isset($_POST[\'posted\']))
{
// проверка данных
if(isset($_POST[\'pass\']))
$password = addslashes(trim($_POST[\'pass\']));
if(isset($_POST[\'login\']))
$login = addslashes(trim($_POST[\'login\']));
/*записываем данные*/
include("../common/database.php");
//Подключение и соежденений с БД
$db = Connecting(HOST,LOGIN,PASS,DBNAME);
if (!$db) exit;
$id = CheckData();
if ($id != -1) {
error_reporting(0);
session_start();
$_SESSION[\'iduser\'] = $id;
// if (!headers_sent()) {
headers_sent (\'Location: writing.php\');
exit;
//}
// header("Location: http://".$_SERVER[\'HTTP_HOST\']."/scripts/user/writing.php");
exit;
}
else
{
PrintHeadPageLogin();
print \'Произошла при проверке данных в БД.
\';
print \'Обратитесь к системному администратору\';
print "
Ошибка в тексте запроса (напишите её системному администратору):
". mysql_error();
PrintPageFotterLogin();
}
exit;
}
else
{ //Вывод формы регистрации
PrintHeadPageLogin();
PrintBodyPageLogin();
PrintPageFotterLogin();
}
?>
Хотя если брать примеры из мануала они работаю без проблем ??
Помогите
-
ХА ХА ХА!
Давно я так не смеялся :-)))
-
:)))) код точно также записан у тебя в скрипте ?
комменты убери...
-
Между прочим не смешно вы думаете что я совсем чтоли ....
это не совсем так ! коменты тут к тому что я по разному пробывал всё равно малина одна и таже !!!!
-
да, мы думаем, что ты совсем что ли.
ты приводишь здесь код, который и должен себя вести, как ты описываешь - никуда не переходит, показывает чистую страницу.
в чем разбираться - совершенно непонятно.
Зачем ты на форуме его запостил - непонятно совершенно.
У тебя совсем что ли мозги отказали? Ну так это к доктору, а не на форум. КАКОЙ СМЫСЛ на форум лить заведомо нерабочий код???
-
sa я не стал разбиратся в правильности кода, но я знаю точно ,что хидер не терпит перед собой инклудов.Я везде использовал инклуд для вставки блока связи с БД,но там где испльзую хидер приходится писать прямо в скрипт.Поробуй.
RomikChef вы всех направляете на php.net но у меня есть мана по рнр 4.2 на русском (html ,размер архива 1.4Mb).Если нужно а могу выложить в одном месте.Вы можете скачать,разместить где надо.
-
может всё-таки правы те, которые называют пых ламогенератором.
я такого ужаса даже в форумах по яваскрипту не видел
-
it4all давненько я от тебя такого концетрата глупостей не слышал.
я знаю точно ,что хидер не терпит перед собой инклудов
еще раз услышу такую глупость - бан пожизненно.
это ты МНЕ говоришь ПОПРОБОВАТЬ?
Родной. Мне пробовать не нужно.
Потому, что я ЗНАЮ как оно работает, и почему.
вы всех направляете на php.net
я всех направляю на http://faq.phpclub.net/!!!
ГАЛОПОМ убежал туда!
И про хидер читать, и про документацию!!!
-
RomikChef:
давненько я от тебя такого концетрата глупостей не слышал.
Все больше влазить в чужие темы с медвежьей помощью не буду.Клянусь здоровьем Билла Хейтса.
Так русская дока не нужна,ну нет так нет,и я кстати не имел ввиду тебя,когда говорил о направлении на рнр.нет,но ссылки на туда частенько вылезают здесь.
-
it4all, не льсти себе.
ты придурок не из-за пары пробелов.
А из-за того, что не можешь прочесть две строчки.
ГАЛОПОМ убежал туда! читать, и про документацию
а все пихаешь мне свой несчастный архив.
А, главное - зачем?
Ты мне что предлагаешь?
чтобы я помимо функции, которая нужна спрашивающему, еще и инструкцию писал, как найти ее в этом архиве?
Официальная документация, в которую я посылаю, ПОТОМУ, ЧТО ЕСЛИ ТЫ ПИШЕШЬ НА ЯЗЫКЕ, ТЫ ДОЛЖЕН ЧИТАТЬ ДОКУМЕНТАЦИЮ, а не тунеядствовать на форуме -эта документация, помимо того, что является САМОЙ ТОЧНОЙ и правильной (в отличие от пирамидинского перевода, который устарел еще год назад) еще и НОРМАЛЬНО ОРГАНИЗОВАНА, и в ней можно дать прямую ссылку на описание функции!
Так ты не можешь ДАЖЕ по прямой ссылке пойти и прочесть! А если бы я тебя в этот архив послал, твоего бреда объемы вообще бы превысили все разумные пределы!
Ты переоцениваешь ваше племя ламеров.
Вам даже словами, безо всякой ссылки, без архива - в форуме все разжуешь - и то на пятый раз только доходит!
-
Блин ну даёте ..... что день не сложился ?
да, мы думаем, что ты совсем что ли.
ты приводишь здесь код, который и должен себя вести, как ты описываешь - никуда не переходит, показывает чистую страницу.
в чем разбираться - совершенно непонятно.
Зачем ты на форуме его запостил - непонятно совершенно.
У тебя совсем что ли мозги отказали? Ну так это к доктору, а не на форум. КАКОЙ СМЫСЛ на форум лить заведомо нерабочий код???
вот тут эта знаменитая статья ""
http://tony2001.phpclub.net/faq/other.location.html (http://tony2001.phpclub.net/faq/other.location.html)
сделано по её аналогии вот єтот кусочек не пашет ни как
header(\'location: \'.$_SERVER["HTTP_HOST"].$_SERVER["PHP_SELF"].\'?ok\');
Я хочу разоьраться в следующем
1)почему ?
2) почему это мой код не правильный ? (чем конкретно)
Спасибо !
-
вот это уже вразумительный вопрос. сразу видно - человек похмелился.
а если вместо header написать echo - что выведет?
и эээ...
как бы это сказать, чтобы не обидно было...
код, состоящий из одной этой строчки, ничего на экран не выведет...
-
а если вместо header написать echo - что выведет?
в смысле ?
написать echo header("Location: http://".$_SERVER[\'HTTP_HOST\']."/scripts/user/writing.php");
или echo ("Location: http://".$_SERVER[\'HTTP_HOST\']."/scripts/user/writing.php");
код, состоящий из одной этой строчки, ничего на экран не выведет...
я имел виду место где эта строчка !
-
я написал ВМЕСТО, а не вместе.
выведи уже эту строчку и вставь в браузер.
Покажет она что-нибудь?
Это делается для того, чтобы проверить - нет ли ошибок в строке.
-
в браузер вставлять без локейшена, КОНЕЧНО ЖЕ.
только адрес.
-
Пробівал да писал echo ("Location: http://".$_SERVER[\'HTTP_HOST\']."/scripts/user/writing.php"); пишет
http://и нормальный адрес всё ок но не
-
значит, у тебя что-то выводитсядо хидера, а ошибка об этом пишется в лог а не на экран
-
ДА ?!! а как этого избежать ? и где лог файл ?
да к стати у меня там в коде есть команда:
error_reporting(0); я её поствил потомучто session_start(); выдавала
варнинг:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at f:\\all-sait\\all-sait\\scripts\\user\\index.php:1) in f:\\all-sait\\all-sait\\scripts\\user\\index.php on line 34
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at f:\\all-sait\\all-sait\\scripts\\user\\index.php:1) in f:\\all-sait\\all-sait\\scripts\\user\\index.php on line 34
Хотя сама сесия открывется я проверял и работает !
а потом конечно идет уже тогда и мой ... варнинт:
Warning: Cannot modify header information - headers already sent by (output started at f:\\all-sait\\all-sait\\scripts\\user\\index.php:1) in f:\\all-sait\\all-sait\\scripts\\user\\index.php on line 47
Может поэтому ?
и вопрос не по теме что мой код дейсвительно очень карявый ?
-
гоша, нельзя так плохо думать о людях. Они еще хуже окажутся.
Поторопился ты об ужасах писать.
Если то было ужасом, то сейчас это как назвать?
sa иди отсюда, христа ради, пока я тебя не убил.
-
блин ну что вы опять я ещё в веб программировани не сильно раздуплился толкь месяц раз в неделю пишу тут .. а ты грузиш скажи может где что прочитать или настроить что надо не ну ешукин кот ...
зачем форумы тогда нужны что бы с тебя ржали все что ли или они помогать и подсказыать созданы ....:confused:
-
как запрещать вывод ошибок - это ты самостоятельно "раздуплился"?
А как идти на форум голову морочить - так "я всего месяц"!
Когда ты САМ ЗАПРЕЩАЕШЬ СООБЩЕНИЯ ОБ ОШИБКАХ, а потом приходишь на форум сопли размазывать "у меня чистый экран" - ты ты или издеваешься, или даун конченый.
почитать тебе?
На, почитай. Если до сих пор не разглядел эту ссылку
http://faq.phpclub.net/
ВСЕ читай.
И про твою ошибку и как ее исправить.
И про сессии
И последний пункт, что делать, если ничего не работает.
И все остальные пункты тоже
Потому, что ни специально написаны, на опыте таких, как ты, чукчей, которые по одним и тем же граблям ходят, чудило.
Пока не прочтешь - сюда носа не показывай.
-
форумы помогают тем, у кого у самого в голове хоть капля мозгов есть.
тем, кто если пишет, что
до вызова header на "экран" ничего невыводится
то значит так оно и есть, а не как у тебя
[(вывод начался в f:\\all-sait\\all-sait\\scripts\\user\\index.php в строке 47
Если бы ты не соврал в самом начале, тебе бы давно помогли.
А если ты пишешь всякий бред на форуме, то извини, это не форум тебе виноват!
Форум может помочь по РНР.
Но вот голову вылечить он не поможет.
-
Хорошо путь мой вопрос будет убйственным это на меня позднее время действует:
Для решения этой проблемы нужно функцию header() (или session_start(), setcookie) и всю логику, которая ее вызывает, поместить ДО любого вывода в броузер. Просто перенести повыше в скрипте.
Как я тогда проверю корректность и в куках запомню если всё єто повыше перенесу ? куда ещё выше .....
По голове не бить :-)
-
каком кверху.
возьмешь и перенесешь.
для того, чтобы проверить, ничего в браузер выводить не нужно.
если же твой вопрос продиктован незнанием фака http://faq.phpclub.net/na_tanke то я просто не знаю, что с тобой сделаю.
-
гоша
к вопросу о рассадниках.
А ведь этот эталонный, просто хрестоматийный ламер it4all других учит.
сайт у него.
несет просвещение в массы.
-
Если бы ты не соврал в самом начале, тебе бы давно помогли
что я соврал ?
-
совсем тупой?
там твое вранье процитировано.
строчкой ниже.
Это я еще молчу про "ошибок не выводится" при том, что error-reporting(0)
Все, ты свободен.
Все твои проблемы решили.
На тебя позднее время действует
иди спать.
потом читать фак ВЕСЬ.
Будут вопросы - заходи.
А сейчас - спокойной ночи.
Исчезни