Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] isset
Forum PHP.pl > Forum > Przedszkole
blizniak
  1. <form method="post" action = "index.php">
  2. <p>
  3. <? echo $lang[7]; ?><select name="rodz_lok" >
  4.        
  5.        <?
  6.          $wynik = mysql_query("select  *  from rodzaj_lok ");
  7.                            
  8.                 while($rzad1 = mysql_fetch_array($wynik))
  9.                   {
  10.                      if($_SESSION['langu'] == 'polish' or $_SESSION['langu']==NULL)
  11.                       {
  12.                         $idd = addslashes($rzad1["nam_pl"]);
  13.                       }
  14.                     if($_SESSION['langu'] == 'english')
  15.                       {
  16.                         $idd = addslashes($rzad1["nam_ang"]);
  17.                       }
  18.  
  19.                     echo '<option value='.$rzad1["id"].'>' .$idd.'</option>';
  20.                    
  21.                   }
  22.        ?>
  23.  
  24.        </select></p>
  25.  
  26.        <p><? echo $lang[8]; ?><select name="region" >
  27.        
  28.        <?
  29.          $wynik = mysql_query("select  *  from region ");
  30.                            
  31.                 while($rzad1 = mysql_fetch_array($wynik))
  32.                   {
  33.                      if($_SESSION['langu'] == 'polish' or $_SESSION['langu']==NULL)
  34.                       {
  35.                         $idd = addslashes($rzad1["reg_pl"]);
  36.                       }
  37.                     if($_SESSION['langu'] == 'english')
  38.                       {
  39.                         $idd = addslashes($rzad1["reg_ang"]);
  40.                       }
  41.  
  42.                     echo '<option value='.$rzad1["id"].'>' .$idd.'</option>';
  43.                    
  44.                   }
  45.        ?>
  46.  
  47.  
  48.        </select></p>
  49.        
  50.        <p><? echo $lang[9]; ?><select name="licz" >
  51.        
  52.        <?
  53.        
  54.          echo '<option  value=1>1</option>';
  55.          echo '<option  value=2>2</option>';
  56.          echo '<option  value=3>3</option>';
  57.          echo '<option  value=4>4</option>';
  58.          echo '<option  value=5>5</option>';
  59.          
  60.                
  61.        ?>
  62.  
  63.  
  64.        </select><? echo $lang[10]; ?></p>
  65.        
  66.        <p>
  67.          <input type="image" src="images/button.gif" name="advert_1" value="continue"/>
  68.        </p>
  69. </form>

  1. <?php
  2. if (!isset($_POST['advert_1'])){
  3. echo "pusta";
  4. }
  5.  
  6. if (isset($_POST['advert_1'])){
  7.  
  8.  if ($_POST['rodz_lok']==1)
  9.   {
  10.    echo "<p>";
  11.    echo $_POST['rodz_lok'];
  12.    echo "</p>";
  13.  
  14.  
  15.   }
  16.  
  17.  
  18.  if ($_POST['rodz_lok']=="2")
  19.   {
  20.    echo "<p>";
  21.    echo $_POST['rodz_lok'];
  22.    echo "</p>";
  23.  
  24.  
  25.   }
  26.  
  27.  
  28.  if ($_POST['rodz_lok']=="3")
  29.   {
  30.    echo "<p>";
  31.    echo $_POST['rodz_lok'];
  32.    echo "</p>";
  33.  
  34.  
  35.   }
  36.  
  37. }
  38. ?>

problem tutaj jest taki ze pod firefox wszystko jest dobrze natomiast w operze i internet expolorer po wyslaniu formularza pokazuje ze zmienna
  1. <?php
  2. $_POST['advert_1']
  3. ?>
jest pusta
w momencie gdy zmienie
  1. <input type="image" src="images/button.gif" name="advert_1" value="continue"/>
na
  1. <input type="submit" src="images/button.gif" name="advert_1" value="continue"/>

to wszystko dziala pod kazda przegladarka
w czym tu jest problem ?
peter13135
no więc... isset zwraca true, zawsze, kiedy zmienna jest zdefiniowana.. nawet jeśli jest pusta
  1. <?
  2. isset($a)/false
  3. $a='';
  4. isset($a)//true
  5. $a='asd';
  6. isset($a)//true
  7. ?>


więc proponuje takie coś
  1. <?php
  2. if($a)//jeśli $a ma jakąś zawartość
  3. ?>
blizniak
no ok ale czemu to jest zalezne od przegladarki, bo tak jak wyzej napisalem w jednej jest wszystko dobrze a w innej nie
Pilsener
http://forum.php.pl/index.php?showtopic=75989
Nic na to nie poradzisz, nie wszystkie przeglądarki wysyłają wartość dla type="image". Zrób normalny submit i ostyluj go przy pomocy CSS/JS.
wookieb
Cytat(peter13135 @ 30.09.2008, 07:29:00 ) *
  1. <?php
  2. if($a)//jeśli $a ma jakąś zawartość
  3. ?>

Nie sprecyzowałeś. ZAWSZE ma jakąś wartość. Nawet pustą ale ma.
if($a) bedzie true jezeli nie równa sie 0, false, nie jest pustym ciągiem, nie jest null
rodia
Jest jeszcze funkcja empty(). Zwaraca wartość true jeżeli zmienna nie istnieje lub jeśli jest pusta. Zatem w tym przypadku powinna być lepsza od zmiennej isset()
nospor
kazda przegladarka pole IMAGE wysyla jako nazwa_x oraz nazwa_y
czyli u Ciebie
nie $_POST['advert_1']
a $_POST['advert_1_x']
i bedzie smigac na kazdej przeglądarce
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.