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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как упростить выражение, $a=isset($_GET['a'])?$_GET['a']:false  
:(
    Опции темы
sergejzr
Дата 3.5.2007, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Приветы, у8важаемые гуру ПХП smile

Довольно много приходится переменных из GET/POST доставать. Каждый раз приходится писать в форме 

Код

$a=isset($_GET['a'])?$_GET['a']:false; 


нельзя ли как нибудь попроще такое написать? Моз
хет есть функция, кторая вместе с isset делает и присваивание? Самое противное, что самому такую не написать...
хотелось бы чтото вроде:

Код

$а=ifset($_GET['a'],false);


"своя" получилась бы:

Код

$а=ifset($_GET,'a',false);

Что весьма некрасиво..


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
capitan
Дата 3.5.2007, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Что-то не совсем понятно. Обычно пишут:
Код

if(isset ($_GET['a'])){
  делаем если что-то содержит
} else {
тут делаем что-то если пустая переменная
}

PM MAIL WWW ICQ   Вверх
BuShaRt
Дата 3.5.2007, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



capitan
ты щас написал более усложненный вариант :-P
PM MAIL   Вверх
ivashkanet
Дата 3.5.2007, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


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

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



 smile 
capitan, это то же самое, только используется условный оператор
Код
<условие>?<результат, если условие true>:<результат, если условие false>

Например выражение 
Код
$max = ($a>=$b)?$a:$b
 присвоит переменной max большее из чисел a и b 

P.S. извиняюсь, что влез не в свой раздел

Это сообщение отредактировал(а) ivashkanet - 3.5.2007, 13:33
PM MAIL WWW ICQ   Вверх
BuShaRt
Дата 3.5.2007, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



Вообще задача в идеале не решаемая т.к. если переменная не переданна, то как мы будем передавать ее функции, но есть хитрость, а именно сокрытие ошибок...

Код

function ifset ($var, $f_res=FALSE) {
    $val = isset( $var ) ? $var : $f_res;
    return $val; 
}
@print ifset($_GET['a'], 'Переменная не переданна');

PM MAIL   Вверх
ivashkanet
Дата 3.5.2007, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


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

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



sergejzr, а что-то типа 
Код
$а=ifsetIn_GET('a',false);
?
Все, не буду мешать.
PM MAIL WWW ICQ   Вверх
BuShaRt
Дата 3.5.2007, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



Можно еще реализовать, как ivashkanet говорит, но это придеться указывать какой именно массив smile 

Как огранниченный выход из ситуации, можно юзать $_REQUEST в функции...
PM MAIL   Вверх
sergejzr
Дата 3.5.2007, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Цитата(BuShaRt @  3.5.2007,  12:34 Найти цитируемый пост)
а именно сокрытие ошибок...

Не очень хочется.. Или это нормальный приём?


Цитата(BuShaRt @  3.5.2007,  12:34 Найти цитируемый пост)
Вообще задача в идеале не решаемая т.к. если переменная не переданна, то как мы будем передавать ее функции

isset - то работает..

Цитата(BuShaRt @  3.5.2007,  12:42 Найти цитируемый пост)
Можно еще реализовать, как ivashkanet говорит, но это придеться указывать какой именно массив smile 

Как огранниченный выход из ситуации, можно юзать $_REQUEST в функции... 

Дело в том, что хочется не только GET/POST, а универсальный вариант..


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
BuShaRt
Дата 3.5.2007, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



sergejzr

Цитата(sergejzr @  3.5.2007,  13:51 Найти цитируемый пост)
Не очень хочется.. Или это нормальный приём?

Ну в данном случае вполне нормальный мне кажеться, ведь мы пропускаем переменную для проерки, а не в свободный полет пускаем...
К тому же я не верно выразил мысль, это не ошибка, а нотейс т.е. интрипритатор дает знать нам, что скорее всего мы что то не учли и в 99% случаев он прав, этот случай мне кажеться 1% когда мы правы...


Цитата(sergejzr @  3.5.2007,  13:51 Найти цитируемый пост)
isset - то работает..

Ну, если юзать isset, до передачи значения функции, то какой толк тогда от функции? smile



PM MAIL   Вверх
Glip
Дата 3.5.2007, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(BuShaRt @  3.5.2007,  13:34 Найти цитируемый пост)
 но есть хитрость, а именно сокрытие ошибок...

это не хитрость - это вред карме smile
Цитата(sergejzr @  3.5.2007,  13:20 Найти цитируемый пост)

Код

$а=ifset($_GET['a'],false);

Код

$а=ifset($_GET,'a',false);


не пойму чем одна функция некрасивее другой.
для индекса массива второй вариант вполне даже
а для самостоятельной переменной обычного isset должно хватить

Это сообщение отредактировал(а) Glip - 3.5.2007, 14:50


--------------------
user posted image
PM MAIL   Вверх
BuShaRt
Дата 3.5.2007, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



Glip
В данном случае, это именно тот момент, ради которого существует данный элимент сокрытие ошибок... имхо

Я ведь не предлагаю его использовать ещестрочно и прекрасно понимаю, что злоупотреблять этим элиментом нельзя...
PM MAIL   Вверх
ivashkanet
Дата 3.5.2007, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


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

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



Glip, а так: 
Код
$а=ifset(value, altValue);
$а=ifset(array, memberID, altValue);
 ?
PM MAIL WWW ICQ   Вверх
BuShaRt
Дата 3.5.2007, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



Glip
И вообще, мне что-то подсказывает, что ты просто не вник в суть... попробуй сам написать функцию ;)
Я тоже сначала не понял, в чем проблематаки smile


ivashkanet
 smile 
не выдержал smile
PM MAIL   Вверх
Glip
Дата 3.5.2007, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ivashkanet,  а в первом варианте вообще смысла не вижу smile


--------------------
user posted image
PM MAIL   Вверх
GZep
Дата 3.5.2007, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



Код

if (@$_GET['a'])
   print "переменная пришла";


@ - отключение ошибок. Быстро и удобно.

Это сообщение отредактировал(а) GZep - 3.5.2007, 15:00


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
BuShaRt
Дата 3.5.2007, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



А вот и наглядный пример, того как нельзя использовать @
 smile 
PM MAIL   Вверх
GZep
Дата 3.5.2007, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



BuShaRt, а почему же нельзя?


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
BuShaRt
Дата 3.5.2007, 17:13 (ссылка) |   (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



GZep
Все ошибки и нотейсы должны выводиться пре откладке 
и
полностью скрываться на уровне конфигурации PHP пре использование движка.

В том, случае, который привел я, интрипритатор выводит нотейс, т.к. ему невдамек, что переменная передаеться, для обработки.
В твоем случае идет не чем не обоснованное сокрытие вывода ошибок.

Если копать глубже, то конструкция
Код

$a=isset($_GET['a'])?$_GET['a']:false; 

и есть решение, которое позволяет писать валидный код, не прибегая к твоему примеру
Код

if (@$_GET['a'])
   print "переменная пришла";


т.е. по суте ты предлагаешь вернуться к старым, непродуманным методам кодирования, когда есть методы более современные и поддержанные видущими программистами...
PM MAIL   Вверх
mishaSL
Дата 3.5.2007, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(sergejzr @  3.5.2007,  13:20 Найти цитируемый пост)
хотелось бы чтото вроде:

$а=ifset($_GET['a'],false);


Если хочется так, то не пойму в чем проблема:
Код

<?php
error_reporting(E_ALL);

function ifset(& $variable, $whatReturn = false)
{
    return (isset($variable) ? $variable : $whatReturn);
}

$_POST['a'] = 'переменная "а" в массиве POST';
var_dump(ifset($_GET['a'],false));
var_dump(ifset($_POST['a'],'нет'));
var_dump(ifset($var,'нет'));

?>


Или я что-то упустил? Никак не могу понять в чем проблема написания данной функции?



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
SelenIT
Дата 3.5.2007, 19:51 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



Лично я часто завожу в начале скрипта массив дефолтных ожидаемых значений, пробегаю по его индексам и смотрю - если такой индекс пришел из формы, заменяю на значение оттуда (заодно проверив на допустимость), если нет - оставляю дефолтное. А потом в нужном месте просто подставляю соответствующий элемент этого массива...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
skyboy
Дата 3.5.2007, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


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

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



Цитата(SelenIT @  3.5.2007,  18:51 Найти цитируемый пост)
Лично я часто завожу в начале скрипта массив дефолтных ожидаемых значений, пробегаю по его индексам и смотрю - если такой индекс пришел из формы, заменяю на значение оттуда (заодно проверив на допустимость), если нет - оставляю дефолтное.

а лично я вижу в этом подходе только преимущества в сравнении с "раздельным хранением":
1) ортодоксальный алгоритм загрузки и перекрытия дефолтных значений(не "сколько переменных - столько и вызовов функций", а один foreach)
2) данные, которые могут прийти из форм, собраны в одной переменной - массиве: так что внешние связи отделены от внутренних. Удобно и компактно для изменения.
3) (скорее, камень в огород "раздельнохранимости") очень часто надо инициировать переменные, хранящие значения из форм, дефолтными значениями на случай отсутсвия данных.
При раздельном хранении будет дополнительно ещё куча строк с присвоением. В случае массива - одна строка инициализации массива smile
PM MAIL   Вверх
GZep
Дата 3.5.2007, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



Цитата(BuShaRt @  3.5.2007,  17:13 Найти цитируемый пост)
    
$a=isset($_GET['a'])?$_GET['a']:false; 

никакой ошибки isset не генерирует!
Цитата(BuShaRt @  3.5.2007,  17:13 Найти цитируемый пост)
if (@$_GET['a'])
   print "переменная пришла";

и тут тоже никакой ошибки не генерируется!
Цитата(BuShaRt @  3.5.2007,  17:13 Найти цитируемый пост)
Все ошибки и нотейсы должны выводиться пре откладке 

не в этом случае. Тут просто проверяем существование переменной и все.

if (@...) - абсолютно не старый способ и его как раз ведущие программисты и используют. А ваш isset будет пропускать все значения кроме null, поэтому его надо использывать в связке с empty => слишком громоздкая конструкция - ниодин "ведущий" программист так писАть не будет.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
BuShaRt
Дата 4.5.2007, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



GZep
я понял в чем проблема, ты просто не знаешь значение оператора @.
Это вовсе не сокращенная форма isset, а сокрытие ошибок...

Удостоверься
Код

var_dump(isset($_GET['a']));
var_dump(@$_GET['a']);



mishaSL
А что в данном случае означает оператор & ?
PM MAIL   Вверх
mishaSL
Дата 4.5.2007, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(BuShaRt @  4.5.2007,  12:26 Найти цитируемый пост)
mishaSL, 
А что в данном случае означает оператор & ? 

Передача аргумента в функцию по ссылке.


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
BuShaRt
Дата 4.5.2007, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



mishaSL
Что то знакомое, но вспомнить не могу, можно  чуть поподробние?
PM MAIL   Вверх
Kallisto
Дата 4.5.2007, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: -3
Всего: -1



Уважаемые, конструкция: $a= isset($_GET["a"])?$_GET["a"]:false;
неправильная, хотя бы потому, что если вы дальше будете использовать конструкцию: if(!$a) {если нету} то эта конструкция будет выполняться также и если а установлена и равна 0. ;)

Для упрощения работы с формамы я использую (если количество переменных динамическое значение) масивы переменных.
то есть 
Код

<input ... name=a[0]> 
<input ... name=a[1]>
...
<input ... name=a[n]>

Очень удобно потом проверять ;)
если устанолвена A, то проверяем их количество, если не совпало - форма пришла левая.
Если совпало, проверили на SQL баги, и удобно делать проверки с помощью циклов.

надеюсь вам помог )

Добавлено через 3 минуты и 5 секунд
BuShaRt, это значит что передается не значение переменной, а ее ссылка.
то есть:
Код

$a=1;

function change_a(& $some)
{
$some=2;
}

echo $a;
change_a($a);
echo $a;

PM MAIL   Вверх
CyClon
Дата 4.5.2007, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код
<?php

// Функиця для ручной проверки
function varCheck(&$var, $default = '')
{
    return (isset($var)) ? $var : $default;
}

// Использование
$_GET['a'] = varCheck($_GET['a'], false);

?>


Выше есть подобный вариант, но там переменная передается не по ссылки, а клонируется, поэтому возникают ошибки.

Добавлено через 2 минуты и 16 секунд
ЗЫ: Оказалось парня успел поправить уже mishaSL )

Это сообщение отредактировал(а) CyClon - 4.5.2007, 14:32


--------------------
user posted image
PM   Вверх
BuShaRt
Дата 4.5.2007, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



Kallisto
Очень правильная конструкция, просто ее использоваь надо с умом, а не пихать куда попало smile
По большей часте ею проверяються GET-запросы, причем не с форм...

Вот пример:
Код

$action = isset($_REQUEST['a'])? $_REQUEST['a'] : 'viewpage';
$page = isset($_REQUEST['p'])? $_REQUEST['p'] : 'price';

Т.е. мы можем далее смело использовать переменные $action и $page
Код

if ($action == 'del_user'){

}

if ($action == 'del_download'){

}

if ($action == 'save_img'){
    
}


*Смело, если конечно не передаем эти данные в уязвимые места кода... но это другая история...


Всем
Спасибо, что открыли мне оператор &.

Добавлено через 6 минут и 24 секунды
Выдержка из стать: Осторожно, данные!
Автор: Кузьма Феськов

Первое правило безопасности
Первое, что вы должны научиться делать, это принимать данные из правильных источников.
Основные источники данных в PHP – это суперглобальные массивы, в частности $_GET и
$_POST. Приучайте себя брать данные именно из этих массивов. Также не лишним будет
отметить, и тот факт, что параметр php.ini register_globbals должен быть off.
Немного поясню последнее замечание о register_globbals. Ни раз мною замечалось – до сих пор
многие программисты не понимаю почему этот параметр важно устанавливать в значение off.
Многим кажется удобным, что переменные, переданные в скрипт методом POST или GET сразу
появляются в пространстве скрипта и готовы к использованию. Однако, это удобство крайне
обманчиво. Во-первых, если вы используете в своем скрипте какую-то переменную и заранее не
позаботились об инициализации ее значения, то, дописав в URL ее название, я легко могу
переопределить ее значение на нужное мне, в результате ваш скрипт этого даже не заметит. Во-
вторых, вы никогда не будете знать точно, каким именно образом вам передана та или иная
переменная. Есть и другие менее значимые факторы. Исходя из всех этих замечаний, легко
понять, что опасность подобного подхода весьма велика и он прямо ставит под угрозу написанные
вами скрипты.
PHP Inside'18 >> Идеи >> Осторожно, данные!
После небольшого отступления, давайте перейдем к практике. Итак, к нам поступила (или не
поступила) переменная методом GET:
Код

1.URL:/index.php?variable=10

О переменной мы заранее знаем, что она придет методом GET, будет содержать целое число.
Первым делом, мы присваиваем значение локальной переменной. Естественно, многие сделали
это следующим способом:
Код

<?php
    $variable = $_GET['variable'];
?>

Однако, что произойдет в том случае, если переменная не пришла (возможно кто-то пытался
испытать ваш скрипт на прочность и стер ее из URL)? Правильно – вы получите сообщение об
ошибке (NOTICE мы договорились считать ошибкой). Чтобы этого не произошло, необходимо
изменить наш код следующим образом:
Код

<?php
 $variable = isset($_GET['variable']) : (int)$_GET['variable'] : 0;
?>

Для простоты кода и удобства, я применил в данном случае так называемую короткую нотацию
оператора if. В обычном виде скрипт выглядел бы так:
Код

<?php
if (isset($_GET['variable'])) {
    $variable = (int)$_GET['variable'];
} else {
    $variable = 0;
}
?>

Но, согласитесь, эта запись слишком громоздка.
Давайте вернемся к нашему коду. Мы с вами использовали команду isset, которая проверяет
наличие переменной или индекса в массиве, и возвращает false если такого элемента нет, и true,
если он есть. Что позволяет нам избежать обращения к несуществующему элементу. Поскольку
мы заранее знаем, что эта переменная может содержать только целые числа, то, не анализируя ее
содержимое, мы приводим его к целому числу. В данном случае мы применили короткую команду
(int), которая эквивалентна intval(). Даже если вам передадут в этой переменной вместо числа
строку, данная команда приведет ее к числу 0, что является целым числом и вполне удовлетворяет
нашему требованию.
Это, безусловно, очень простой пример, но он способен показать все хитросплетения и повороты,
которые подстерегают нас на пути написания скрипта.
Итак, первое правило: Всегда берите значения там, откуда они должны придти в скрипт.
Всегда проверяйте переменные и индексы массивов на существование перед их
использованием. Всегда инициализируйте значения переменных перед их использованием.
PM MAIL   Вверх
GZep
Дата 4.5.2007, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



BuShaRt
Цитата(BuShaRt @  4.5.2007,  12:26 Найти цитируемый пост)
я понял в чем проблема, ты просто не знаешь значение оператора @.
Это вовсе не сокращенная форма isset, а сокрытие ошибок...

Вы не правы. Я прекрасно знаю, что делает @ и & и так далее... Прочитайте труд Дмитри Котерова "PHP5 В подлиннике" и убедитесь сами, что в подобных случаях использование @ куда более грамотно чем isset/empty. С г-ном Д. Котеровым не поспоришь... smile 


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
WolfON
Дата 4.5.2007, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А не проще-ли, для сокрытия ошибок от конечного пользователя просто отключить их отображение в интерпретаторе? )
PM MAIL ICQ   Вверх
BuShaRt
Дата 4.5.2007, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



GZep
Еще как поспорю, не раз на форуме поднимался вопрос о некомпетентности авторов книг. 

Интервью с Леонидом Лукиным
Цитата

О сертификации Zend уже было многое сказано, но не могли бы Вы нам еще раз рассказать,
что она собой представляет? Где и как можно записаться на сдачу экзаменов, сколько стоит
прохождение и подготовка, как к ним готовиться, в чем заключается сам экзамен, какие
сложности при сдаче, какие советы вы можете дать?


Вот выдержка из ответа
Цитата

Для успешной подготовки к экзамену я бы рекомендовал использовать ряд официальных учебных
пособий - Zend PHP Certification Study Guide и Zend PHP Certification Practice Test Book,
приобрести которые можно во многих электронных магазинах и на сайте компании Zend.
Личное мнение об экзамене – экзамен не сложный, однако не стоит рисковать, если вы не имеете
хотя бы годичного опыта работы с технологией PHP и не работали с официальной документацией,
опубликованной на www.php.net. К сожалению, обычная литература, и об этот я уже упоминал, не
позволит вам успешно сдать этот экзамен. Тем более что ни один из отечественных авторов книг
по PHP еще не смог сдать такой экзамен.





WolfON
Ну, я об этом упомянул выше, но по суте и на этапе откладки нужно писать так, чтоб ошибок не было ;)
PM MAIL   Вверх
GZep
Дата 4.5.2007, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



BuShaRt, вот скажите:
мы проверяем, передаются ли данные из формы или клиент ничего не передает.

Какие тут могут быть ошибки???? Причем тут ошибки? Может типа такого: "не могу определить, ты нажал кнопку под формой ввода данных или нет? не пойму никак?" или вот такие ошибки: "неизвесная функция 'isset'! ". Причем тут ошибки?

Выражения:
Код

if (isset($VAR) && !empty($VAR)) ...

и
Код

if (@$VAR) ...

эквивалентны. Более того ниодно из них не генерирует ошибок.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
BuShaRt
Дата 4.5.2007, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



GZep
@ - не может генерировать ошибок, как и system('rar e arhiv >nul'); не выводит сообщений smile
Но ведь >nul не глушит вывод в бинарнике, а лишь переадресовывает вывод в пустоту smile
PM MAIL   Вверх
GZep
Дата 4.5.2007, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



Цитата(BuShaRt @  4.5.2007,  17:14 Найти цитируемый пост)
@ - не может генерировать ошибок

так нам это и нужно.

З.Ы. вообщето может. smile 


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
BuShaRt
Дата 4.5.2007, 17:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



Какие ошибки? 
Ошибка в том, что
Код

if (@$VAR) ...

Передает, null в if, а if работает только с true/false т.е. интрепритатор упрощая жизнь программисту принимает null, как false и генерирует нотейс, уповещяющий о том, что так делать нельзя!
Но вы оператором @ просто глушите вывод этого нотейса и интрипритатор молча делат за вас работу по изменению null на false...

Добавлено через 1 минуту и 8 секунд
Цитата(GZep @  4.5.2007,  17:18 Найти цитируемый пост)
З.Ы. вообщето может.  

Вот, если вы приведете пример, как @ выводит ошибку, я удалю все свои посты, извенюсь и дам вам плюсик smile
PM MAIL   Вверх
mishaSL
Дата 4.5.2007, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



BuShaRt
GZepМодератор: вы далеко ушли от темы, если хотите обсудить правильность того или иного способа проверки входных данных для этого можно создать отдельную тему.

Добавлено через 3 минуты и 16 секунд
CyClon, по всей видимости тебе показалось smile  оператор & был с самого начала smile 


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
GZep
Дата 4.5.2007, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



Цитата(BuShaRt @  4.5.2007,  17:20 Найти цитируемый пост)
null, как false и генерирует нотейс

Цитата(BuShaRt @  4.5.2007,  17:20 Найти цитируемый пост)
глушите вывод этого нотейса

А почему бы не дать делать PHP за вас грязную работу? Тем более, что код от этого становится более красивым. Согласитесь, что isset + !empty - слишком длинно...
Цитата(BuShaRt @  4.5.2007,  17:20 Найти цитируемый пост)
Вот, если вы приведете пример, как @ выводит ошибку, я удалю все свои посты, извенюсь и дам вам плюсик

Yeah!
Вот, пожалуйста:
Код

<?php
error_reporting(E_ALL);
set_error_handler("error", E_ALL);

function error($no, $string, $file, $line) {
    //if (!error_reporting()) return;// А мы забыли эту строчку!!!
    echo "ошибка! \"no\" => $no \"string\" => $string \"file\" => $file \"line\" => $line<br />";
}


echo @$bla;
?>

 smile 

Это сообщение отредактировал(а) GZep - 4.5.2007, 17:30


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
BuShaRt
Дата 4.5.2007, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



mishaSL
Ну почему же? Был предложен самый коротки вариант. Что самый короткий кажеться нет сомнений, вот мы думает, а надо ли его использовать?
все по теме ... или нет? smile
PM MAIL   Вверх
GZep
Дата 4.5.2007, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



mishaSL, ничего, ибо теперь:
Цитата(BuShaRt @  4.5.2007,  17:20 Найти цитируемый пост)
я удалю все свои посты, извенюсь и дам вам плюсик

сообщений станет меньше... smile 



--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
BuShaRt
Дата 4.5.2007, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



GZep
Причем тут @, когда ошибка выводиться из-за несущестование константы к которой @ не как не относиться? smile

Вот, и не одной ошибки smile
Код

echo @$bla-@bla;

PM MAIL   Вверх
GZep
Дата 4.5.2007, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



BuShaRt, я уже подправил код, посмотрите еще раз.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
BuShaRt
Дата 4.5.2007, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



Код

Warning: Wrong parameter count for set_error_handler() in z:\home\localhost\www\test\index.php on line 3


Дубль три?

Добавлено через 2 минуты и 58 секунд
Более того, 

Код

<?php
error_reporting(E_ALL);
@set_error_handler("error", E_ALL);

function error($no, $string, $file, $line) {
    //if (!error_reporting()) return;// А мы забыли эту строчку!!!
    echo "ошибка! \"no\" => $no \"string\" => $string \"file\" => $file \"line\" => $line<br />";
}


echo @$bla;
?>


Собачка в действие smile Вывод ошибок = 0
PM MAIL   Вверх
GZep
Дата 4.5.2007, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



включи в 5-ой версии, скорее всего 4-я версия не умеет принимать 2-ой параметр. Если нету 5-ой, то попробуй еще раз в 4-ой вот это:
Код

<?php
error_reporting(E_ALL);

function error($no, $string, $file, $line) {
    //if (!error_reporting()) return;// А мы забыли эту строчку!!!
    echo "ошибка! \"no\" => $no \"string\" => $string \"file\" => $file \"line\" => $line<br />";
}

set_error_handler("error");

echo @$bla;
?>



--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
BuShaRt
Дата 4.5.2007, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



GZep
Вы только, что доказали свою неправоту smile)))))

Интрипритатор отметил ошибку, но не вывел ее т.к. @ ее скарыла... После чего вы ее извлекли вручную smile))

Значит ошибка есть! Какие тут еще могут быть споры?



 smile 
И если вы так принципиально хотите, чтоб я удалили посты т.к. вы доказали, что вывод ошибок может быть и пре указанному @, то я вас огорчю, вы отметили, что @ может вывести ошику, а я свою очередь попросил пример, того как @ выведет ошибку...
В пример вы привели, то как ошибка возникает из-за необъявленной переменой, а вовсе не из-за @.
PM MAIL   Вверх
GZep
Дата 4.5.2007, 18:29 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



Цитата(BuShaRt @  4.5.2007,  17:53 Найти цитируемый пост)
но не вывел ее т.к. @ ее скарыла...

Нет, не вывел потому что я взял на себя обязанность обрабатывать ошибки и не согласился с тем, что @ должен блокировать ошибки.
Цитата(BuShaRt @  4.5.2007,  17:53 Найти цитируемый пост)
В пример вы привели, то как ошибка возникает из-за необъявленной переменой, а вовсе не из-за @

ха-ха, ну ты даешь! Браво! Кроме того необявленную переменную я взял для примера, чтобы показать, что можно добиться того, чтобы @ не скрывал ошибку. И я это сделал.

Ну, если тебе так хочется, чтобы @ вызвал ошибку, то пожалуйста:
Код

<?php
@ //ошибка!
?>



--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
SelenIT
Дата 4.5.2007, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



Цитата(GZep @  4.5.2007,  17:30 Найти цитируемый пост)
isset + !empty - слишком длинно...

Правильно, поэтому isset тут лишний абсолютно smile.


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
GZep
Дата 4.5.2007, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



ну, это завиит от конкретной ситуации.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
SelenIT
Дата 4.5.2007, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



GZep, не зависит. В ситуациях, когда по смыслу нужен empty, его и достаточно (он сам по себе не дает нотайса на несуществующую переменную), если нужно проверить существование переменной независимо от значения, хватит одного isset-а. А if (isset($a) && !empty($a)) полностью эквивалентна if (!empty($a)) - разве не так?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
BuShaRt
Дата 4.5.2007, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



GZep
Спор зашел в тупик и двоем мы точно не найдем ответа, будем ждать людей более опытных...
PM MAIL   Вверх
GZep
Дата 4.5.2007, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



SelenIT, дошло smile 

BuShaRt, короче, ладно. smile согласен с закрытием этого спора. Думаю, что мы раскрыли эту проблему так как никто ее еще не раскрывал...лови медаль в репу! smile 


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
BuShaRt
Дата 5.5.2007, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1391
Регистрация: 29.6.2006

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



GZep
 smile 
Позитивный ответ, радует... и спасибо за урок по ручному котролю ошибок ;)
PM MAIL   Вверх
Alx
Дата 18.12.2007, 01:34 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



у меня сегодня получилось
Код

$act = @$_GET['act'] or $act = 'idx';

это конечно далеко от
Код

var act = act || 'idx';

но зато симпатичнее, чем
Код

$act = isset($_GET['act']) ? $_GET['act'] :  'idx';

да и с null/0 все знаем, как PHP расправляется, но может, кому-нибудь понравится smile
если ноль не ждем)

Это сообщение отредактировал(а) Alx - 18.12.2007, 01:39


--------------------
PM MAIL WWW ICQ   Вверх
bars80080
Дата 18.12.2007, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Alx, если ты настаиваешь на:
Цитата

$act = @$_GET['act'] or $act = 'idx';

, то очень зря
почитай это http://phpclub.ru/talk/showthread.php?s=&a...mp;pagenumber=1
я честно говоря пёрся по этому восьмистраничному эпосу,
но фанатичный модератор верно указывает на следующий факт:

животное @ - ни в коей мере не должна быть частью исполнительного кода,
это всего лишь средство отладки для программиста, и по завершению создания кода, его скрипты по определению не должны генерировать ошибок

для меня хватает уже этого

если тебе недостаточно, многие начинают уверять, де почему нельзя использовать, если она даёт нужный результат и т.п....

низя!
генерация ошибки и её погашение по определению будет жрать больше ресурсов, чем спокойный ход программы
один из товарищей на тамошнем форуме произвёл проверку на время, как оказалось @ на порядок увеличивает время выполнения

ну а если хочется кокретно поспорить, ссылка на форум дана
PM MAIL WWW   Вверх
flashaa
Дата 18.12.2007, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(sergejzr @ 3.5.2007,  13:20)

Код

$a=isset($_GET['a'])?$_GET['a']:false; 


нельзя ли как нибудь попроще такое написать? 

Проще написать можно так:
Код

$a =  @$_REQUEST['a']; 
$a = !$a ? false;


Это если строго соблюсти условие.
Проще будет $a =  @$_REQUEST['a'];
А дальше смотреть не false а null.
Код


if ($a == null){
    // переменная не передана
}

PM MAIL   Вверх
Anarki
Дата 18.12.2007, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(flashaa @ 18.12.2007,  15:33)
Это если строго соблюсти условие.
Проще будет $a =  @$_REQUEST['a'];
А дальше смотреть не false а null.
Код


if ($a == null){
    // переменная не передана
}



Не проще ли так?

Код

if (!isset($_REQUEST['a'])) {
   // переменная не определенна
}


Это сообщение отредактировал(а) Anarki - 18.12.2007, 16:28


--------------------
PM WWW   Вверх
Fally
Дата 18.12.2007, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А так не пойдёт?
Код

function getParam($par_name, $par_method = "POST") {
    if(array_key_exists($par_name, $GLOBALS['_'.$par_method])) {
        return $GLOBALS['_'.$par_method][$par_name];
    } else {
        return false;
    }
}


А потом вызывать:
Код

$val = getParam('param_name', 'GET');



--------------------
Прежде чем задать вопрос на форуме воспользуйтесь поиском.
user posted image
user posted image
PM MAIL   Вверх
HackMan
Дата 19.12.2007, 04:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


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

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



Так шаблоны в среде разработки вроде никто не отменял  smile 


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Alx
Дата 19.12.2007, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



я использую @.
и не вижу в этом ничего плохого. например,так:

Код

$f = @mysql_fetch_array(mysql_query('.... LIMIT 1'));
if(!empty($f)) ... 


или так::

Код

$post = @$_POST['datasend'];
if(!!$f) ...


считаю, что в данных случаях это оправдано.

так почему бы и не писать

Код

$post = @$_POST['datasend'] or $post = 'get';


Добавлено через 48 секунд
тем более что конструкция @... or... вполне официальная конструкция языка


--------------------
PM MAIL WWW ICQ   Вверх
bars80080
Дата 19.12.2007, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Цитата

тем более что конструкция @... or... вполне официальная конструкция языка 

да ну на фиг! пошлите меня туда, где это написано
PM MAIL WWW   Вверх
Fally
Дата 19.12.2007, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Alx @  19.12.2007,  17:23 Найти цитируемый пост)
и не вижу в этом ничего плохого.

ага, сам себе помощь скрываешь... а так больше ничего плохого ;)


--------------------
Прежде чем задать вопрос на форуме воспользуйтесь поиском.
user posted image
user posted image
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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