Jump to content
  • 0

$_POST


Hol1killer
 Share

Question

15 answers to this question

Recommended Posts

  • 0

Вообще — да, но я всегда пользовался функцией isset(). Всё зависит от конкретного случая. Вот, например, напишем простой скрипт form.php в двух вариантах: в одном будет isset(), в другом — empty().


<?php
if(empty($_POST["test"])){echo "yes<br/><br/>";}
?>
<form action="form.php" method="post">
<input name="test" type="text">
<input type="submit">
</form>


<?php
if(isset($_POST["test"])){echo "yes<br/><br/>";}
?>
<form action="form.php" method="post">
<input name="test" type="text">
<input type="submit">
</form>

В обоих случаях функции вернут истину. Но в случае с empty() переменная будет проверяться сразу и, соответственно, текст «yes» будет выведен сразу при выполнении скрипта, а в случае с isset() — только после отправки формы.

Link to comment
Share on other sites

  • 0

Вообще — да, но я всегда пользовался функцией isset(). Всё зависит от конкретного случая. Вот, например, напишем простой скрипт form.php в двух вариантах: в одном будет isset(), в другом — empty().


<?php
if(empty($_POST["test"])){echo "yes<br/><br/>";}
?>
<form action="form.php" method="post">
<input name="test" type="text">
<input type="submit">
</form>


<?php
if(isset($_POST["test"])){echo "yes<br/><br/>";}
?>
<form action="form.php" method="post">
<input name="test" type="text">
<input type="submit">
</form>

В обоих случаях функции вернут истину. Но в случае с empty() переменная будет проверяться сразу и, соответственно, текст «yes» будет выведен сразу при выполнении скрипта, а в случае с isset() — только после отправки формы.

Ну да это понятно, спасибо за ответ, главный вопрос был выше, это дополнение к нему=) спасибо огромное!

Link to comment
Share on other sites

  • 0

isset проверяет наличие переменной, а !empty проверяет на пустоту оной.

http://cn2.php.net/manual/en/function.empty.php

empty() is the opposite of (boolean) var, except that no warning is generated when the variable is not set.

When using empty() on inaccessible object properties, the __isset() overloading method will be called, if declared.

Link to comment
Share on other sites

  • 0

ok. как тогда на счет такого варианта?


<?php
$a = '';

if(isset($a) && !empty($a)) {
echo 'переменная существует и она содержит инфу, поэтому есть смысл дальше продолжить работу скрипта<br>';
}

if(isset($a)) {
echo 'переменная a существует, но пустая, поэтому есть смысл прекратить работу скрипта';
}
?>

а теперь попробуй подставь в переменную $a что-нибудь ;) есть разница?

Link to comment
Share on other sites

  • 0

ok. как тогда на счет такого варианта?

А зачем такой вариант?

В выражении isset($a) && !empty($a) лишняя проверка isset, а не empty

В случае несуществования переменной и когда стоит только проверка !empty() будут выскакивать нотисы про то что переменная не определена, если в выражении будет присутствовать isset(), то нотисы появляться не будут.

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

Link to comment
Share on other sites

  • 0

В случае несуществования переменной и когда стоит только проверка !empty() будут выскакивать нотисы про то что переменная не определена, если в выражении будет присутствовать isset(), то нотисы появляться не будут.

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

empty() is the opposite of (boolean) var, except that no warning is generated when the variable is not set.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy