[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите разобраться с PHP_SELF
allforweb
Хочу сделать так, чтобы обработчиком формы была текущая страница, а вылазит ошибка такая:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in

echo " <form name='add' method='post' action='<?php echo($_SERVER['PHP_SELF']) ?>' >





Спустя 2 минуты, 22 секунды (30.09.2010 - 18:06) waldicom написал(а):
<?php ?> убрать
двойные кавычки перед $_SERVER закрыть и поставить точку, затем после $_SERVER поставить точку и открыть кавычки.

Спустя 4 минуты, 37 секунд (30.09.2010 - 18:11) inpost написал(а):
Внутри ПХП открыть ещё одно ПХП? smile.gif)) Оригинально.

Спустя 1 час, 47 минут, 53 секунды (30.09.2010 - 19:58) allforweb написал(а):
Вот так строчка заработала
echo "<form name='add' method='post' action='", $_SERVER['PHP_SELF'],"'>

но при чем здесь запятые я так и не понял

Спустя 54 минуты, 7 секунд (30.09.2010 - 20:53) eXaM написал(а):
Функция echo (которая на самом деле — языковая конструкция) способна «писать» не только одну строку, но и несколько подряд. Скажем, есть у нас три переменные: $a, $b и $c, и хотим мы написать их в одну строку без пробелов. Можно сделать так:
echo $a;
echo $b;
echo $c;

а можно так:
echo $a,$b,$c;

Это всего лишь сокращенная форма записи, перечисление передаваемых функции echo параметров. Дело вкуса, в общем, кому как больше нравится. Я вообще предпочитаю конкатенацию:
echo $a . $b . $c;

очень удобно, когда одним «эхом» хочется вывести сразу кучу буковок.

А ваша ошибка состояла в том, что вы немного запутались. Используя echo, следует составлять строковое значение, которое станет частью HTML-кода. А вставлять PHP в атрибут элемента FORM нужно, если последний расположен вне PHP. То есть, например, в такой ситуации, как в этом уроке, где, на мой взгляд, пустое значение здесь
<form action="" method="post">

было бы правильнее заменить ссылкой на файл, то есть так:
<form action="<?php echo $_SERVER['PHP_SELF']?>"

Если неправ, буду очень рад услышать критику более опытных программистов, поскольку сам я только-только начинаю изучение языка.

Спустя 16 минут, 53 секунды (30.09.2010 - 21:09) Sonax написал(а):
Хотел написать сегодня, но был в бане.

<form method='post'>

Тебе нужно только это. Ну на PHP это будет выглядеть так
echo '<form method="post">';
Если не догадался. Если action не указано, то по умалчанию посылает на текущую страницу.

А то, что ты хотел, должно выглядеть так:
echo "<form method='post' action=' ".$_SERVER['PHP_SELF']." '>";
Пробелы между ковычками убери только, это я показал, что бы не запутался
Быстрый ответ:

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