Stranice: [1]   Idi dole
  Štampaj  
Autor Tema: isset problem  (Pročitano 4889 puta)
maddox
Gost
« poslato: Ponedeljak, 02. Maj 2005. 17:12:18 »

Prilikom rada sa isset funkcijom pojavio mi se jedan problem. Npr:
<?
$var=$_POST['var'];
$var1=$_POST['var1'];
if ((isset($var)) && (isset(var1))
      echo "TRUE";
else
      echo "FALSE";
?>

Ovo je samo primer. Kod mene se samo umesto echo "TRUE"; izvrsava upis u bazu podataka. E sta je sada problem. Ako je vrednost uslova FALSE umesto echo "FALSE"; kod mene treba da se vraca na stranicu da unese vrednosti   za var i var1. Cak i kada ne unesem nista u input  polja u form-u ovaj skript mi unese podatke u bazu. Znaci samo se id poveca za jedan zbog  auto_increment, a ostala polja ostanu prazna.

Molim vas pomozite mi. [/u][/i]
Sačuvana
maddox
Gost
« Odgovor #1 poslato: Sreda, 08. Jun 2005. 21:04:34 »

Uf...
Stalno zaboravljem da napisem ono sta sam provalio...
Kada se prosledi neki text iz html form-a promenjljiva koja sadrzi taj text se inicijalizuje vrednoscu "" !!! Sto znaci da isset vraca TRUE za ovu promenjljivu. Resenje je preslikati promenjljivu u bool pa je onda ispitivati jer bi bool za "" promenjljivoj dodelio vrednost FALSE i ne bi prosla uslov.
Sačuvana
ivana.d
Gost
« Odgovor #2 poslato: Četvrtak, 25. Maj 2006. 07:51:39 »

Onog momenta kada napises
$var  = $_POST["var"], ti si definisao vrednost promenljive $var, i f-ja isset ce uvek da vrati TRUE. To je moje dosadasnje iskustvo, mozda neko zna bolje, i ja bih voleo da cujem.

Uslov koji bi po meni tebi zavrsio posoao je:
$var = (isset($_POST["var"]) && $_POST["var"] != "") ? $_POST["var"] : "";
if($var != "") {
echo "var is set";
} else {
echo "var is not set";
}

Ovo je nacin koji ja intenzivno koristim, pa mogu da ga preporucim.
Nadam se da sam bio od pomoci
pozdrav
Sačuvana
vpetrov
Gost
« Odgovor #3 poslato: Utorak, 12. Decembar 2006. 11:15:15 »

Isto to samo malo elegantnije:

Kod:
$myvar=(isset($_REQUEST['myvar'])&&!empty($_REQUEST['myvar']))?$_REQUEST['myvar']:false;
if($myvar){
   ....
} else {
   ....
}

Naravno da ovo ne proverava ni na kakav nacin ispravnost podataka (sto bi u tvom slucaju znacilo da neko moze da kroz neku $_REQUEST variablu da posalje i javascript i php i sql i monogo sto sta jos) tako da je potencijalno vrlo opasno da sirove podatke koristis direktno.
Sačuvana
Stranice: [1]   Idi gore
  Štampaj  
 
Prebaci se na:  

?>