Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.10;
Скачать: CL | DM;

Вниз

Вопросик по PHP   Найти похожие ветки 

 
Parus ©   (2006-08-15 10:03) [0]

Как проверить есть ли данные в $_GET["l"]


 
McSimm ©   (2006-08-15 10:05) [1]

isset()


 
Parus ©   (2006-08-15 10:09) [2]


> McSimm ©   (15.08.06 10:05) [1]

Поподробнее плиз, я только вчера на PHP начал.


 
McSimm ©   (2006-08-15 10:11) [3]

Не получится подробнее.
Есть название функции, есть мануал.


 
Parus ©   (2006-08-15 10:14) [4]


> Не получится подробнее.

Синтаксис напиши плиз!


 
McSimm ©   (2006-08-15 10:17) [5]

http://php.net/docs.php разнообразные варианты мануала.

он-лайн:
http://php.net/manual/en/function.isset.php


 
Parus ©   (2006-08-15 10:19) [6]

Пасиб! получилось!


 
Parus ©   (2006-08-15 10:54) [7]

Ипочему это не работает?<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>

<body>
<form name="form1" method="POST" action="">
<input type="text" name="l">
 +
 <input type="text" name="la">
 <input type="submit" name="Submit" value="=">
 <?php if (isset($_POST["l"]))
{
echo $_POST["l"] +$_POST["la"];

}?>
</form>
</body>
</html>


 
cyborg ©   (2006-08-15 10:57) [8]

> echo $_POST["l"] +$_POST["la"];

Сложение строк не плюс, а точка.
echo $_POST["l"].$_POST["la"]


 
McSimm ©   (2006-08-15 10:57) [9]

что вы подразумеваете под "не работает" ?


 
Furyz ©   (2006-08-15 11:29) [10]

> Как проверить есть ли данные в $_GET["l"]

а так нельзя &
if ($_GET["I"] == 0){
echo "netu";
}


 
_dimka ©   (2006-08-15 11:40) [11]

> а так нельзя &
> if ($_GET["I"] == 0){
> echo "netu";
> }

а если у тебя вобще не определен $_GET["I"] то выдаст предупреждение (при определеном уровне обработок ошибок), и тем более что isset для єтого и предназнаечен :)


 
McSimm ©   (2006-08-15 11:47) [12]


> Furyz ©   (15.08.06 11:29) [10]
> а так нельзя &

Нельзя по нескольким причинам. Во первых "0" - это тоже данные, во вторых ваша проверка скажет "netu"  и на такие варианты входных данных, как "Hello, World"
И, наконец, уровень вывода ошибок должен быть всегда E_ALL, а программа написана так, чтобы никаких предупреждений не появлялось.


 
VirEx ©   (2006-08-15 19:52) [13]


>  [11] _dimka ©   (15.08.06 11:40)
> > а так нельзя &
> > if ($_GET["I"] == 0){
> > echo "netu";
> > }
>
> а если у тебя вобще не определен $_GET["I"] то выдаст предупреждение
> (при определеном уровне обработок ошибок), и тем более что
> isset для єтого и предназнаечен :)

так возьми и проверь:
if (! $_GET[] == null)

$_GET[], $_POST[] и т.п. это массивы


 
_dimka ©   (2006-08-17 11:19) [14]

> [13] VirEx ©   (15.08.06 19:52)
>
> >  [11] _dimka ©   (15.08.06 11:40)
> > > а так нельзя &
> > > if ($_GET["I"] == 0){
> > > echo "netu";
> > > }
> >
> > а если у тебя вобще не определен $_GET["I"] то выдаст
> предупреждение
> > (при определеном уровне обработок ошибок), и тем более
> что
> > isset для єтого и предназнаечен :)
>
> так возьми и проверь:
> if (! $_GET[] == null)
>
> $_GET[], $_POST[] и т.п. это массивы


и что?
массив может и не равняеться нулл, а вот $_GET["I"] может и не быть


 
mfender ©   (2006-08-17 11:38) [15]

Массивы $_GET, $_POST, $_REQUEST никогда не могут быть null. Они всегда array().
По теме:
Проверять нужно наличие элемента в массиве и его значение: isset($_GET["i"]) && is_null($_GET["i"])


 
McSimm ©   (2006-08-17 12:04) [16]


> isset($_GET["i"]) && is_null($_GET["i"])

абсолютно во всех возможных случаях равно false :)


 
mfender ©   (2006-08-17 12:18) [17]


> абсолютно во всех возможных случаях равно false :)

Блин, одно символ забыл... :)
isset($_GET["i"]) && !is_null($_GET["i"])


 
McSimm ©   (2006-08-17 12:30) [18]


> isset($_GET["i"])
> !is_null($_GET["i"])


всегда равны


 
mfender ©   (2006-08-17 12:35) [19]


> > isset($_GET["i"])
> > !is_null($_GET["i"])
>
> всегда равны

Не всегда. Переменная может быть, но не инициализированная. Например, если запрос http://domain.dom/script.htm?value=
Вот тут-то она (value) и буде null


 
Ketmar ©   (2006-08-17 12:37) [20]

блин, надо в своём "форуме" "обернуть" всё этими вызовами. но как же лениво... %-)


 
McSimm ©   (2006-08-17 12:44) [21]


> Не всегда.

Всегда.


> Переменная может быть, но не инициализированная. Например,
>  если запрос http://domain.dom/script.htm?value=
> Вот тут-то она (value) и буде null

null не будет. Это пустой string.


 
McSimm ©   (2006-08-17 13:08) [22]

Разница между неинициализированной переменной и переменной равной null только в одном - для второй память выделена и при использовании в выражении не будет генерироваться Notice.

В остальном такие переменные полностью идентичны.

функции isset() и is_null() по своему результату являются антонимами.
Всегда. Разница между ними только в том, что при проверке isset() не генерируется Notice для неустановленных переменных.


 
mfender ©   (2006-08-17 13:27) [23]


> Разница между неинициализированной переменной и переменной
> равной null только в одном - для второй память выделена
> и при использовании

Максим, вот соглашусь я с тобой только в физике процесса. Но isset() - проверка наличия этой самой переменной. is_null() - проверка наличия значения. Это разные вещи, как ты сам понимаешь. И эти самые проверки нужно производить.


 
DSKalugin ©   (2006-08-17 13:27) [24]

А как это вообще у вас работает??
<form name="form1" method="POST" action="">
при action=""
Куда данные передаются?


 
mfender ©   (2006-08-17 13:42) [25]


> А как это вообще у вас работает??
> <form name="form1" method="POST" action="">
> при action=""
> Куда данные передаются?

по тому же адресу, который сгенерировал эту, пардон, форму.


 
VirEx ©   (2006-08-17 13:49) [26]


_dimka   ( 17.08.06 11:19)   [13] VirEx ©  (15.08.06 19:52)
 
  [11] _dimka ©  (15.08.06 11:40)
   а так нельзя
   if ($_GET["I"] == 0){
   echo "netu";
   }
 
  а если у тебя вобще не определен $_GET["I"] то выдаст
 предупреждение
  (при определеном уровне обработок ошибок), и тем более
 что
  isset для єтого и предназнаечен :)
 
 так возьми и проверь:
 if (! $_GET[] == null)
 
 $_GET[], $_POST[] и т.п. это массивы


и что?
массив может и не равняеться нулл, а вот $_GET["I"] может и не быть

----
спросили как проверить есть или нет, поэтому претензии не ко мне :-/


 
McSimm ©   (2006-08-17 14:27) [27]


> Это разные вещи, как ты сам понимаешь.

Как я понимаю, я подробно расписал, советую вдумчиво перечитать.


> И эти самые проверки нужно производить.

Проверки - вещь необходимая. Проверки, лишенные какого-либо смысла - нет :)



Страницы: 1 вся ветка

Текущий архив: 2006.09.10;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.043 c
15-1155533431
Ega23
2006-08-14 09:30
2006.09.10
С Днём рождения! 13 августа


15-1155641982
Desdechado
2006-08-15 15:39
2006.09.10
Разыскиваются


2-1156314634
Андрей Пазик
2006-08-23 10:30
2006.09.10
Создание кросс-массива


11-1132397786
Separator
2005-11-19 13:56
2006.09.10
Версии


1-1153733070
Mintos
2006-07-24 13:24
2006.09.10
OleContainer и Exel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский