Заранее спасибо =)
Спустя 18 минут, 12 секунд (16.03.2010 - 18:29) Игорь_Vasinsky написал(а):
нет. ты не правильно понял.
$PHP_SELF - eng на себя, тоесть проверка формы на той же странице где и форма, очень удобно на форумах и т.д.
Посетитель нашёл интересную тему и хочет добавить комент, а нужна авторизация, он авторизируется по этой форме и остаётся на этой же странице, но уже авторизацирован
$PHP_SELF - eng на себя, тоесть проверка формы на той же странице где и форма, очень удобно на форумах и т.д.
Посетитель нашёл интересную тему и хочет добавить комент, а нужна авторизация, он авторизируется по этой форме и остаётся на этой же странице, но уже авторизацирован
<form method="POST" action = "<?php $PHP_SELF;?>">
Спустя 5 минут, 20 секунд (16.03.2010 - 18:34) Игорь_Vasinsky написал(а):
Пардон. я морожу, считай что пред сообщение для справки
а вот по существу:
$ _SERVER [ 'PHP_SELF']
Это имя файла в настоящее время исполнителями сценария, по отношению к документу корня. Однако, в отличие от $ _SERVER [ 'SCRIPT_NAME'], оно содержит дополнительную информацию о пути как $ _SERVER [ 'REQUEST_URI'], когда фактические php файл присутствует в путь. Так что, если $ _SERVER [ 'REQUEST_URI'] в / index.php / КГБ / каталог / то $ _SERVER [ 'PHP_SELF'] будет / index.php / КГБ / каталог /.
Однако, если все URI в соответствии с http://www.example.com/ отображается на http://www.example.com/index.php, то, например, http://www.example.com/ абг / Ок вернется / index.php например $ _SERVER [ 'SCRIPT_NAME']. Заметим, что $ _SERVER [ 'REQUEST_URI'] данных игнорируется для этого запроса.
$ _SERVER [ 'PHP_SELF'] поддерживается на всех платформах.
а вот по существу:
$ _SERVER [ 'PHP_SELF']
Это имя файла в настоящее время исполнителями сценария, по отношению к документу корня. Однако, в отличие от $ _SERVER [ 'SCRIPT_NAME'], оно содержит дополнительную информацию о пути как $ _SERVER [ 'REQUEST_URI'], когда фактические php файл присутствует в путь. Так что, если $ _SERVER [ 'REQUEST_URI'] в / index.php / КГБ / каталог / то $ _SERVER [ 'PHP_SELF'] будет / index.php / КГБ / каталог /.
Однако, если все URI в соответствии с http://www.example.com/ отображается на http://www.example.com/index.php, то, например, http://www.example.com/ абг / Ок вернется / index.php например $ _SERVER [ 'SCRIPT_NAME']. Заметим, что $ _SERVER [ 'REQUEST_URI'] данных игнорируется для этого запроса.
$ _SERVER [ 'PHP_SELF'] поддерживается на всех платформах.
Спустя 4 часа, 10 минут, 45 секунд (16.03.2010 - 22:45) koala написал(а):
Игорь_Vasinsky, пробую разобрать скрипт IRRBIS:
Но мне вылазит ошибка:
А за объяснения спасибо, но с этим скриптом я не могу понять =(
<?php
/**
* The guest book
* Гостевая книга
* @author IT studio IRBIS-team
* @copyright © 2009 IRBIS-team
*/
/////////////////////////////////////////////////////////
/**
* We establish the charset and level of errors
* Устанавливаем кодировку и уровень ошибок
*/
error_reporting(E_ALL);
/////////////////////////////////////////////////////////////////
// VARIABLES
// ПЕРЕМЕННЫЕ
/////////////////////////////////////////////////////////////////
$text1 = !empty($_POST['text1'])?$_POST['text1']:null;
$text2 = !empty($_POST['text2'])?$_POST['text2']:null;
/////////////////////////////////////////////////////////////////
// SCRIPT
// СКРИПТ
/////////////////////////////////////////////////////////////////
if(isset($_POST['ok']))
{
if(!$text1)
echo 'Текстовое поле не заполнено.';
elseif(!$text2)
echo 'Текстовая область не заполнена.';
else
{
file_put_contents('text.txt', $text2, FILE_APPEND);
header('location: '. $_SERVER['PHP_SELF']);
exit();
}
}
else
echo 'Напишите что нибудь';
/////////////////////////////////////////////////////////////////
// VIEW
// ОТОБРАЖЕНИЕ
/////////////////////////////////////////////////////////////////
?>
<form action="?" method="post">
Логин:<br />
<input name="text1" type="text" value="<?php echo htmlspecialchars($text1) ?>"/><br />
Сообщение:<br />
<textarea name="text2" cols="40" rows="10"><?php echo htmlspecialchars($text2);?></textarea><br />
<input name="ok" type="submit" />
</form>
Но мне вылазит ошибка:
Warning: Cannot modify header information - headers already sent by (output started at Q:\home\localhost\www\cursi\test1.php:1) in Q:\home\localhost\www\cursi\test1.php on line 38
А за объяснения спасибо, но с этим скриптом я не могу понять =(
Спустя 1 час, 2 минуты, 37 секунд (16.03.2010 - 23:48) Awilum написал(а):
Спустя 2 минуты, 5 секунд (16.03.2010 - 23:50) phz написал(а):
koala вот еще почитай http://phpforum.ru/index.php?showtopic=17590
Спустя 2 часа, 4 минуты, 20 секунд (17.03.2010 - 01:54) Игорь_Vasinsky написал(а):
Сервер тебе говорит то что он уже отравил заголовок и второй раз он уже не может...
а именно когда ты его (заголовок ) в 38 строчке отправляешь
header('location: '. $_SERVER['PHP_SELF']);
ты случаем сессию не запускал?
session_start();
в коде чётко видно что заголовок отправляется один раз
у меня ошибок не выдал
Спустя 3 часа, 37 минут, 42 секунды (17.03.2010 - 05:32) twin написал(а):
Нужно внимательно почитать текст ошибки. Там четко указан адрес - виновник злоключений:
Q:\home\localhost\www\cursi\test1.php:1
С вероятностью 99% это BOM.
Вот тут почитай, как бороться.
Q:\home\localhost\www\cursi\test1.php:1
С вероятностью 99% это BOM.
Вот тут почитай, как бороться.
Спустя 1 час, 31 минута, 27 секунд (17.03.2010 - 07:03) Игорь_Vasinsky написал(а):
ой вы пр строку забыли...
Q:\home\localhost\www\cursi\test1.php on line 38
Q:\home\localhost\www\cursi\test1.php on line 38
Спустя 2 часа, 37 минут, 54 секунды (17.03.2010 - 09:41) twin написал(а):
Нет, я не забыл. Эта часть указывает на место вызова функции, которая спровоцировала ошибку.
А вот до этого (в скобках) указывается адрес места на которое ругается интерпретатор. То есть на тот самый вывод, который помешал хидеру.
А вот до этого (в скобках) указывается адрес места на которое ругается интерпретатор. То есть на тот самый вывод, который помешал хидеру.
Спустя 7 часов, 18 минут, 54 секунды (17.03.2010 - 17:00) koala написал(а):
Игорь_Vasinsky, сессию не запускал.
Всем спасибо за советы, проблема решилась =) Извините что так поздно ответил =)
Помогли ссылки на другие темы.
Всем спасибо за советы, проблема решилась =) Извините что так поздно ответил =)
Помогли ссылки на другие темы.
_____________
Vi Veri Veniversum Vivus Vici