Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z funkcją isset()
Forum PHP.pl > Forum > Przedszkole
miki555
Witam wszytskich. Mam na serwerze taki zestaw php5.1.2 + apache2 + mysql 5.0.5 i nie wiem czemu ale funkcja isset() wogole nie dziala. Wiem ze powina zwracac true badz false w przydapku gdy formularz posiada jakas wartosc badz nie.
Przykladowo dla poniższego przykladu:
echo 'isset($ile): '.isset($ile).'<br />';
Za kazdym razem nizaleznie czy formualrz jest wypelniony czy nie, otrzymuje taki wynik: isset($ile):
bez jakiejkowiek wartosci, podobny efekt ma funkcja empty z tym ze w jej przypadku zawsze zwraca 1 czyli prawde.
Nie wiem co jest grane
lenczewski
po pierwsze uzywaj odpowiedniego BBCode (php),
po drugie funkcja isset zwraca TRUE jeżeli zmienna istnieje (zostanie utworzona)
Jeżli zmienna istnieje, ale ma wartość NULL (jest pusta) funkcja isset także zwróci wartośc TRUE.
miki555
Z tego co ty piszesz wynika ze nawet jeżeli zadklaruję zmienna czyli zostanie ona utworzona to isset powinno zwrocic true. To co w takim razie powiesz na taki przyklad:
przyklad 1 "zmienna jest utworzona ale nie nadano wartosci"
Kod
<?php
    $zmienna;
    if(isset($zmienna))
    {
     echo 'zmienna istnieje';
    }
    else
    {
     echo 'zmienna nie istnieje';
    }
?>


Wynik:
Kod
zmienna nie istnieje


przyklad 2 "zmienna jest utworzona i ma nadana wartosc"
Kod
<?php
    $zmienna = 5;
    if(isset($zmienna))
    {
     echo 'zmienna istnieje';
    }
    else
    {
     echo 'zmienna nie istnieje';
    }
?>


Wynik:
Kod
zmienna istnieje
lenczewski
przy:
  1. <? $zmienna; ?>

dostaniesz:
Cytat
php Notice:  Undefined variable

spróbuj:
  1. <? $zmienna=""; ?>
miki555
oki dzieki już kapuje. Myślałem, że sama deklaracja zmiennej powoduje ze domyślnie przyjmuje ona wartośc NULL, ale widać tak nie jest. Dzieki
dr_bonzo
co do isset:

  1. <?php
  2. $a = 1;
  3. $x = isset( $a );
  4. var_dump( $x );
  5.  
  6. $b = 1;
  7. $y = isset( $c );
  8. var_dump( $y );
  9. ?>

teraz dopiero zobaczysz TRUE i FALSE
nospor
Jak juz ktos wsponial: uzywaj właściwego bbcode.
Pozatym to nie ma nic wspolnego z php5. Przenosze
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.