Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Функция, где переменная в переменной, не могу с синтаксисом разобраться 
:(
    Опции темы
neokortex
Дата 10.4.2008, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 19.3.2007

Репутация: нет
Всего: нет



делаю одни и те же операции, решил уже написать функцию.
Функция проверяет наличие той или иной переменной, и создает еще одну с указанием результата проверки, у меня вот так 
Код

function post ($name_perem) {
                                                 if (!isset ($_POST['$name_perem'])) $$name_perem_status=false;
                                                 else $$name_perem_status=true;
                                                };
name_perem("email");

понятно что "$$name_perem_status" - это [censored33! Пожалуйста, соблюдайте элементарные правила приличия при общении на форуме] какое-то, которое я сам придумал, поэтому и не работает.
Может кто подсказать, как это "оформить"?
Т.е. по идее новая переменная должна принимать вид "$email_status=true". 
PM MAIL   Вверх
Canarat
Дата 10.4.2008, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 11.3.2008
Где: Каспий

Репутация: 5
Всего: 5



Весь код - бред. Особенно 
Код

!isset ($_POST['$name_perem']

Это всегда вернет false для любых значения $name_perem. По понятным причинам.

А чтобы устанавливать переменные - использовать $_GLOBALS массив, если не терпится так.
PM MAIL   Вверх
Sannis
Дата 10.4.2008, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.8.2007
Где: Москва

Репутация: 6
Всего: 13



Код
${$name_perem.'status'}


Подписываюсь под словами выше. Не проще ли брать переменную из POST и не менять её название?


--------------------
Я Критик Джим, раньше писал моды для IPB 1.3.x-2.3.x, а теперь продвигаю Node.js в массы.
PM MAIL WWW   Вверх
Feldmarschall
Дата 10.4.2008, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



neokortex, для начала ответь на вопрос - а зачем тебе переменная с результатом проверки?
PM   Вверх
neokortex
Дата 10.4.2008, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 19.3.2007

Репутация: нет
Всего: нет



ну например пользователь заполняет некую сложную форму, дабы исключить попытки вандализма, необходимо проверить почти каждое поле на наличие самого поля, на заполненность (или незаполненность), а также необходимо проверить содержание поля.
Ведь можно сохранить форму себе на комп, отредактировать стандартные html-евские "ограничения", и добавить в базу всякой дряни.
Но это все лирическое отступление.
так вот первый этап это наличие переменной.
Если отсутствует $_POST['name_perem'] необходимо выполнить одну операцию, если присутствует - другую, таких полей множество, надо проверить все и если будет замечена хоть одна ошибка, данные не будут обрабатываться далее, а будет выводится ошибка.
для этого нужна "переменная в переменной"
PM MAIL   Вверх
Feldmarschall
Дата 10.4.2008, 17:10 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Вот именно - если хоть одна замечена, то скрипт перестанет выполняться.
Следовательно, какой смысл давать переменной отдельное имя? сделай одну переменную, $error, и её проверяй.
Переменные переменные при проверке формы нафиг не нужны.
В лучшем случае, тебе понадобится массив, где ключом будет имя поля, а значением - сообщение об ошибке.

по поводу проверки наличия - почитай про синтаксис массивов в документации, http://php.net/types.array
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0951 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.