[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Если истинна тогда: разрешено.
burned
Доброго времени суток.
Как сделать так, что если истинна, тогда она разрешает просмотр странички, если лож, запрещает, и оставляет на той же страничке. Заранее большое спасибо. ))
<?php
$name = 'burned';
$pass = '12345';

if($_POST[login] == $name and $_POST[password] == $pass){

echo 'Логин принят! Добро пожаловать.';


}else{
echo 'Вы ввели не верный логин или пароль вы или не зарегистрированы. Нажмите <a href="#">СЮДА</a> для регистрации' ;}

?>




Спустя 2 минуты, 43 секунды (29.07.2011 - 22:08) Invis1ble написал(а):
if ($_POST['login'] == $name && $_POST['password'] == $pass){
header('Location: ' . $url); // $url - URL страницы, доступной для авторизованных пользователей
}

Спустя 3 минуты, 41 секунда (29.07.2011 - 22:12) burned написал(а):
я так понимаю мне нужно будет создать переменную $url с сылкой на страничку ?

Спустя 1 минута, 49 секунд (29.07.2011 - 22:14) Invis1ble написал(а):
burned
не обязательно, это я для наглядности написал. Можно простто написать url непосредственно
header('Location: http://site.com/script.php');

Спустя 1 минута, 21 секунда (29.07.2011 - 22:15) burned написал(а):
Ладно огромное спасибо, плюсик обеспечен! )

Спустя 7 минут, 40 секунд (29.07.2011 - 22:23) burned написал(а):
Сделал как ты сказал, вот такая ошибка выходит"
Warning: Cannot modify header information - headers already sent by (output started at D:\AppServ\www\site\post.php:2) in D:\AppServ\www\site\post.php on line 7"


Может потому что, я с бд не связывал свой скрипт ?

Спустя 1 минута, 53 секунды (29.07.2011 - 22:25) Winston написал(а):
burned
Перед header запрещен любой вывод на экран. Если у тебя его нету, то возможно у тебя файл в кодировке UTF-8 With BOM попробуй отключить, должно заработать.



Спустя 25 секунд PHPprogrammer написал(а):
Покажи свой код.

Спустя 1 минута, 19 секунд (29.07.2011 - 22:26) burned написал(а):
<?php
$name = 'burned';
$pass = '12345';

if($_POST[login] == $name and $_POST[password] == $pass){
header('Location: [URL=http://127.0.0.1/site/index1.php');]http://127.0.0.1/site/index1.php');[/URL]

echo 'Логин принят! Добро пожаловать.';


}else{
echo 'Вы ввели не верный логин или пороль вы не зарегестрированны. Нажмите <a href="#">СЮДА</a> для регистрации' ;}

?>

Спустя 3 минуты, 26 секунд (29.07.2011 - 22:29) Winston написал(а):
Так надо писать
if($_POST['login'] == $name && $_POST['password'] == $pass){


if($_POST['login'] == $name && $_POST['password'] == $pass){
header('Location: http://127.0.0.1/site/index1.php');
}




Спустя 21 секунда PHPprogrammer написал(а):
А файл в какой кодировке ?

Спустя 3 минуты, 57 секунд (29.07.2011 - 22:33) burned написал(а):
Цитата (PHPprogrammer @ 29.07.2011 - 19:25)
burned
Перед header запрещен любой вывод на экран. Если у тебя его нету, то возможно у тебя файл в кодировке UTF-8 With BOM попробуй отключить, должно заработать.



Спустя 25 секунд PHPprogrammer написал(а):
Покажи свой код.

Файл у меня в кодировки UTF-8 With но не бом, а на какой перевести, на АНСИ ? Из за Анси у меня знаки не понятные появляются. Из за других тоже!

Как ты сказал написать, написал! Но ошибка та же самая.

Спустя 10 секунд (29.07.2011 - 22:33) alex12060 написал(а):
burned

Ты наверное подключаешь этот файл, да?
Ну если так, то, чтобы не заморачиваться, напиши так:


if($_POST['login'] == $name && $_POST['password'] == $pass) {
echo '<script type="text/javascript">window.location.href="/site/index1.php";</script> '.PHP_EOL;
echo '<noscript><META HTTP-EQUIV="REFRESH" CONTENT="0;URL=/site/index1.php"></noscript>'.PHP_EOL;
}

Спустя 1 минута, 19 секунд (29.07.2011 - 22:35) Winston написал(а):
burned
Какой редактор? Notepad++ ?

Спустя 27 секунд (29.07.2011 - 22:35) Invis1ble написал(а):
burned
Цитата
UTF-8 With но не бом

это как? "With но не бом"
99% что с BOM

Спустя 3 минуты, 14 секунд (29.07.2011 - 22:38) burned написал(а):
Цитата (alex12060 @ 29.07.2011 - 19:33)
burned

Ты наверное подключаешь этот файл, да?
Ну если так, то, чтобы не заморачиваться, напиши так:


if($_POST['login'] == $name && $_POST['password'] == $pass) {
  echo '<script type="text/javascript">window.location.href="/site/index1.php";</script>   '.PHP_EOL;
  echo '<noscript><META HTTP-EQUIV="REFRESH" CONTENT="0;URL=/site/index1.php"></noscript>'.PHP_EOL;
}

Большое спасибо, на Js прокатило, но всё же хотелось бы узнать в чём причина моей ошибки ? Ведь обучаюсь php.

Спустя 1 минута, 40 секунд (29.07.2011 - 22:40) alex12060 написал(а):
burned

Ответь на мой вопрос, мы тебе ответим.

Ты наверное подключаешь этот файл, да?

Спустя 11 секунд (29.07.2011 - 22:40) Invis1ble написал(а):
А скинь-ка файл, я посмотрю его



Спустя 1 минута, 6 секунд Invis1ble написал(а):
alex12060
присмотрись внимательно к варнингу
Цитата
headers already sent by (output started at D:\AppServ\www\site\post.php:2) in D:\AppServ\www\site\post.php on line 7
wink.gif

Спустя 1 минута, 45 секунд (29.07.2011 - 22:42) Winston написал(а):
Invis1ble
Цитата (Invis1ble @ 29.07.2011 - 22:41)
D:\AppServ\www\site\post.php:2

99.9% BOM

Спустя 1 минута, 51 секунда (29.07.2011 - 22:44) alex12060 написал(а):
Invis1ble

Меня смущает 2 трока, обычно с бомом идет 1, но фиг знает.
Значит БОМ smile.gif

ТС, пересохрани в UTF-8 Without BOM

Спустя 1 минута, 19 секунд (29.07.2011 - 22:45) Invis1ble написал(а):
alex12060
это не строка вроде, а номер байта (хотя не уверен, точно не помню)

Спустя 1 минута, 23 секунды (29.07.2011 - 22:47) Winston написал(а):
Цитата (Invis1ble @ 29.07.2011 - 22:45)
это не строка вроде, а номер байта (хотя не уверен)

Это номер строки с <?php

Спустя 2 минуты, 24 секунды (29.07.2011 - 22:49) alex12060 написал(а):
Invis1ble

Там строка, опять-же, насколько помню smile.gif
Сейчас проверим.

Спустя 1 минута, 25 секунд (29.07.2011 - 22:50) Invis1ble написал(а):
может и строка, я ж говорю, не помню точно smile.gif

burned
скидывай файл, я проверю кодировку

Спустя 2 минуты, 50 секунд (29.07.2011 - 22:53) burned написал(а):
Звучит весьма банальной, просто я на этом форуме редки гость, и тут всё запущенно. В общем, я не знаю как на этом форуме скидывается файл, дашь не большую инструкцию, с радостью скину файл )

Спустя 1 минута, 11 секунд (29.07.2011 - 22:54) Invis1ble написал(а):
Я сам не знаю, как в новом посте аттачится файл, но я делаю так: редактирую уже написанный пост, там есть в форме возможность добавления файла smile.gif
Так что отредактируй свой предыдущий пост

Спустя 1 минута, 20 секунд (29.07.2011 - 22:56) burned написал(а):
Вот файл )

Спустя 14 секунд (29.07.2011 - 22:56) Winston написал(а):
Цитата (Invis1ble @ 29.07.2011 - 22:54)
но я делаю так: редактирую уже написанный пост, там есть в форме возможность добавления файла

В низу и верху страницы есть кнопка "Ответить" ее жмете и там есть поле для аттача smile.gif



Спустя 1 минута, 32 секунды PHPprogrammer написал(а):
Кодировка была utf-8 with BOM я пересохранил

Спустя 2 минуты, 14 секунд (29.07.2011 - 22:58) Invis1ble написал(а):
<link href="style.css" type="text/css" rel="stylesheet"> - вывод smile.gif

Спустя 1 минута, 22 секунды (29.07.2011 - 23:00) burned написал(а):
Цитата (Invis1ble @ 29.07.2011 - 19:58)
<link href="style.css" type="text/css" rel="stylesheet"> - вывод  smile.gif

Это плохо ? )

Цитата (Invis1ble @ 29.07.2011 - 22:54)
но я делаю так: редактирую уже написанный пост, там есть в форме возможность добавления файла

В низу и верху страницы есть кнопка "Ответить" ее жмете и там есть поле для аттача smile.gif


Теперь у меня вместо русских букв, какие то знаки! (

Спустя 55 секунд (29.07.2011 - 23:00) Winston написал(а):
Цитата (burned @ 29.07.2011 - 23:00)
Это плохо ? )

smile.gif
Из-за этой строчки ошибка
Цитата (Invis1ble @ 29.07.2011 - 22:40)
headers already sent by (output started at D:\AppServ\www\site\post.php:2) in D:\AppServ\www\site\post.php on line 7

Спустя 12 секунд (29.07.2011 - 23:01) Invis1ble написал(а):
burned
очень )))

У меня кстати не хочет качаться файл, тупо открывается в новой вкладке как текст

Спустя 27 секунд (29.07.2011 - 23:01) Winston написал(а):
Цитата (Invis1ble @ 29.07.2011 - 23:01)
У меня кстати не хочет качаться файл, тупо открывается в новой вкладке как текст

А ты его просто сохрани smile.gif

Спустя 37 секунд (29.07.2011 - 23:02) Invis1ble написал(а):
PHPprogrammer
таким образом кодировка вродебы сбиться может

Спустя 46 секунд (29.07.2011 - 23:02) Winston написал(а):
Invis1ble
Я тоже так думал, но все нормально :)



Спустя 24 секунды PHPprogrammer написал(а):
Цитата (burned @ 29.07.2011 - 23:00)
Теперь у меня вместо русских букв, какие то знаки! (

Вверху напиши
header('Content-Type: text/html; charset=utf-8');

Спустя 4 минуты, 1 секунда (29.07.2011 - 23:06) burned написал(а):
Цитата (PHPprogrammer @ 29.07.2011 - 20:00)
Цитата (burned @ 29.07.2011 - 23:00)
Это плохо ? )

smile.gif
Из-за этой строчки ошибка
Цитата (Invis1ble @ 29.07.2011 - 22:40)
headers already sent by (output started at D:\AppServ\www\site\post.php:2) in D:\AppServ\www\site\post.php on line 7

Убрал эту строчку, сделал как раньше мне говорили: header('Location: http://127.0.0.1/site/index.php');


Так же ошибка!

Спустя 1 минута, 37 секунд (29.07.2011 - 23:08) Winston написал(а):
Скажи какой редактор у тебя ?

Спустя 55 секунд (29.07.2011 - 23:09) burned написал(а):
Цитата (PHPprogrammer @ 29.07.2011 - 20:08)
Скажи какой редактор у тебя ?

notepad++

Спустя 1 минута, 17 секунд (29.07.2011 - 23:10) Invis1ble написал(а):
Вот попробуй:

Спустя 1 минута, 30 секунд (29.07.2011 - 23:12) Winston написал(а):
Нажми на меню Кодировки -> Кодировать в UTF-8 (без ИOM)



Спустя 1 минута, 4 секунды PHPprogrammer написал(а):
Цитата (Invis1ble @ 29.07.2011 - 23:10)
Вот попробуй

А ты мой попробуй smile.gif

Спустя 2 минуты, 17 секунд (29.07.2011 - 23:14) burned написал(а):
Цитата (Invis1ble @ 29.07.2011 - 20:10)
Вот попробуй:

Во, большое спасибо. Можно было бы ещё плюсики ставить, ещё всем вам поставил бы. )))



Спустя 1 минута, 24 секунды (29.07.2011 - 23:15) Invis1ble написал(а):
PHPprogrammer
Вот что в твоем вижу:
Свернутый текст
<link href="style.css" type="text/css" rel="stylesheet">
<?php

$name = 'burned';
$pass = '12345';

if($_POST['login'] == $name && $_POST['password'] == $pass) {
echo '<script type="text/javascript">window.location.href="/site/index1.php";</script> '.PHP_EOL;
echo '<noscript><META HTTP-EQUIV="REFRESH" CONTENT="0;URL=/site/index1.php"></noscript>'.PHP_EOL;
}

else{
echo 'Вы ввели не верный логин или пороль вы не зарегестрированны. Нажмите <a href="#">СЮДА</a> для регистрации' ;}

?>

Спустя 16 минут, 44 секунды (29.07.2011 - 23:32) burned написал(а):
Ну так пока что вы и я тут, задам ещё 1 вопрос.

Как сделать так, чтобы при нажатие на ссылку, выходило не большое окошко, а не перекидывала на другую страницу?)

Спустя 2 минуты, 56 секунд (29.07.2011 - 23:35) Invis1ble написал(а):
Вот написал маленькую функцию, кому не лень - протестируйте:
function replaceBOMFromUTF8($file) {
file_put_contents(
$file,
preg_replace('#^' . chr(0xEF) . chr(0xBB) . chr(0xBF) . '#', '', file_get_contents($file))
);

}

Спустя 7 минут, 4 секунды (29.07.2011 - 23:42) Invis1ble написал(а):
burned
почитай на тему pop-up

Спустя 19 минут, 5 секунд (30.07.2011 - 00:01) Winston написал(а):
Invis1ble
Ф-я работает на ура. Молоток! smile.gif
Кстати, str_replace тоже успешно с заменой справляется smile.gif

Спустя 2 минуты, 18 секунд (30.07.2011 - 00:04) Invis1ble написал(а):
PHPprogrammer
str_replace() вырежет все вхождения указанной последовательности, в то время как BOM - это первые три байта

ПС. Сейчас напишу в FAQ эту ф-цию

Спустя 2 минуты, 43 секунды (30.07.2011 - 00:06) Winston написал(а):
Ну я не думаю, что в файле еще будут такие последовательности. Или ошибаюсь ?

Спустя 55 секунд (30.07.2011 - 00:07) Invis1ble написал(а):
Скорее всего ты прав smile.gif

Спустя 20 секунд (30.07.2011 - 00:08) twin написал(а):
Invis1ble
Цитата
ПС. Сейчас напишу в FAQ эту ф-цию

Зря.

Спустя 42 секунды (30.07.2011 - 00:08) Invis1ble написал(а):
twin
Цитата
Зря.

Почему?

Спустя 1 минута, 27 секунд (30.07.2011 - 00:10) Winston написал(а):
Цитата (twin @ 30.07.2011 - 00:08)
Зря.

И мне интересно, почему ?

Спустя 5 минут, 58 секунд (30.07.2011 - 00:16) twin написал(а):
Просто потому что вы пытаетесь зеленкой лечить твердый шанкр.
Нужно лечить болезнь, а не последствия.

Спустя 1 минута, 39 секунд (30.07.2011 - 00:17) Winston написал(а):
Цитата (twin @ 30.07.2011 - 00:16)
Просто потому что вы пытаетесь зеленкой лечить твердый шанкр.
Нужно лечить болезнь, а не последствия.

Я не совсем понял.... huh.gif
BOM спокойно лечится этой ф-й.
Цитата (twin @ 30.07.2011 - 00:16)
Нужно лечить болезнь, а не последствия

Как ?

Спустя 1 минута, 19 секунд (30.07.2011 - 00:19) Invis1ble написал(а):
twin
Цитата
Просто потому что вы пытаетесь зеленкой лечить твердый шанкр.
Нужно лечить болезнь, а не последствия.

по твоей логике получается, что и эта утилита тоже написана зря

Спустя 5 минут, 13 секунд (30.07.2011 - 00:24) twin написал(а):
Твердый шанкр.

Не нужно изобретать лекарства от последствий. Просто BOM не нужен сразу. Для этого есть куча профилактических средств в каждом редакторе.

Иначе инфекция может выйти из под контроля скрипта. Может он захочет файлом поделиться.

Invis1ble
Цитата
по твоей логике получается, что и эта утилита тоже написана зря

Это химиетерапия. Применяется редко, в стадии полного запущения болезни. Причем однократно и единовременно.

Спустя 2 минуты, 16 секунд (30.07.2011 - 00:26) Winston написал(а):
laugh.gif

Спустя 1 минута, 45 секунд (30.07.2011 - 00:28) Invis1ble написал(а):
twin
Цитата
Это химиятерапия. Применяется редко, в стадии полного запущения болезни. Причем однократно и единовременно.

Я написал эту функцию для той же цели. Для единоразового применения. В факе я кстати указал, что это же можно сделать средствами редактора.
Плюс данной функции в отличие от редактора - можно обработать сразу большое колличество файлов, в отличие от ручного пересохранения.
У меня был такой опыт - в наследство от одного чудо-кодера осталось около 500 скриптов в UTF-8 With BOM

Спустя 2 минуты, 46 секунд (30.07.2011 - 00:31) Winston написал(а):
Цитата (Invis1ble @ 30.07.2011 - 00:28)
осталось около 500 скриптов в UTF-8 With BOM

Повезло тебе wink.gif smile.gif

Спустя 13 минут, 6 секунд (30.07.2011 - 00:44) twin написал(а):
Invis1ble
Да я то понял. Просто люди могут не понять. И начать применять твою функцию, как панацею. Ведь была куча прецедентов, когда люди пытались написать универсальный класс (или функцию) фильтрации данных. Фильтруя "опасные символы".

Я почему написал "зря", а не "не станет работать". Потому что действительно зря. Медвежья это услуга. Я написал прогу на сишке не посто так. А для того, чтобы люди могли исправить свою ошибку однократно. На PHP этот код (незамысловатый для посвященных) может быть встроен в любое приложение и начнет мазать зеленкой шанкр. Смотри выше.

Спустя 8 минут, 10 секунд (30.07.2011 - 00:52) Invis1ble написал(а):
Цитата
На PHP этот код (незамысловатый для посвященных) может быть встроен в любое приложение и начнет мазать зеленкой шанкр

согласен, есть такая вероятность. Но, как говорится, сдуру можно и хрен отломить. Сделаю пометку в факе.

Спустя 5 минут, 45 секунд (30.07.2011 - 00:58) twin написал(а):
Я бы не стал вообще кому-либо показывать эту функцию.
Для тебя это конечно обидно - впустую разработка. Но негативные последствия могут перечеркнуть все благие начинания. Да и собственно что это? Небльшая последовательность символов. Просто буквы. Прогер твоего уровня не должен ценить это так. smile.gif

Спустя 7 минут, 53 секунды (30.07.2011 - 01:06) Invis1ble написал(а):
Цитата
Для тебя это конечно обидно

нет smile.gif
Цитата
впустую разработка

да какая там разработка, так, 3-х минутное баловство smile.gif
Цитата
Небльшая последовательность символов. Просто буквы

возможно эти буквы кому-то помогут, примечание я сделал, так что зла в этом не вижу. Негативные последствия могут быть только у тех, кто невнимательно читает. Тут уж ничего не поделаешь. Да и пост тот - не полный ответ на вопрос, а всего лишь заготовка; насколько я понял замысел ТС FAQ - все это будет перерабатываться.

Спустя 13 минут, 37 секунд (30.07.2011 - 01:19) twin написал(а):
Ну хозяин - барин smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.