Üresnek számítanak:
$valtozo; $valtozo=""; $valtozo=0; $valtozo="0"; $valtozo=NULL; $valtozo=FALSE; $valtozo=array();
$a = "teszt"; $b = 12; $c = NULL; echo '$a vizsgálat eredménye = '.isset($a).'<br>'; // TRUE echo '$b vizsgálat eredménye = '.isset($b).'<br>'; // TRUE echo '$a,$b vizsgálat eredménye = '.isset($a,$b).'<br>'; // TRUE unset ($a); // Töröljük $a változót. echo '$a vizsgálat eredménye = '.isset($a).'<br>'; // FALSE echo '$b vizsgálat eredménye = '.isset($b).'<br>'; // TRUE echo '$a,$b vizsgálat eredménye = '.isset($a,$b).'<br>'; // FALSE echo '$c vizsgálat eredménye = '.isset($c); // FALSE |
Az isset() programunk eredménye: $a vizsgálat eredménye = 1 $b vizsgálat eredménye = 1 $a $b vizsgálat eredménye = 1 $a vizsgálat eredménye = $b vizsgálat eredménye = 1 $a $b vizsgálat eredménye = $c vizsgálat eredménye = |
$a = "teszt"; $b = 12; $c = NULL; echo '$a vizsgálat eredménye = '.empty($a).'<br>'; // FALSE echo '$b vizsgálat eredménye = '.empty($b).'<br>'; // FALSE unset ($a); // Töröljük $a változót. echo '$a vizsgálat eredménye = '.empty($a).'<br>'; // TRUE echo '$b vizsgálat eredménye = '.empty($b).'<br>'; // FALSE echo '$c vizsgálat eredménye = '.empty($c); // TRUE |
Az empty() programunk eredménye: $a vizsgálat eredménye = $b vizsgálat eredménye = $a vizsgálat eredménye = 1 $b vizsgálat eredménye = $c vizsgálat eredménye = 1 |
Gyakorlatban mindegyiket, feltételek meghatározásához alkalmazzuk: if(feltétel) --- feltétel = true vagy false.
- isset() bármikor alkalmazható. (Változó létezik vagy nem létezik.)
- empty() értelme akkor van, ha változó létezik.
Külön-külön is, alkalmazhatjuk mindegyiket.
<?php // $xy = 5; // Letíltva! Nem létezik. // Változó létezésének vizgálata. if (isset($xy) ) { echo 'Keresett változo létezik. <br>'; // Változó létezik, akkor a tartalmát ellenőrízzük. if (empty($xy) ) { echo 'Értéke = üres vagy nincs beállítva, <br>'; } else { echo 'Értéke = '.$xy.' <br>'; } } else {echo'Keresett változó, nem létezik.';} ?> |
Programunk eredménye: Keresett változó, nem létezik. |
Oldjuk fel a letíltást azon változónál, melyet tesztelni akarunk.
<?php // $xy=NULL; // Változó NULL értékkel. Így, változó nem létezik. // $xy=""; // Változó érték nélkül. Létezik, értéke = üres. // $xy=0; // Változó értéke 0-a. Létezik, értéke = üres. // $xy='0'; // Változó értéke '0'-a. Létezik, értéke = üres. $xy = 5; // Változó létezik, értéke = 5; // Változó létezésének vizgálata. if (isset($xy) ) { echo 'Keresett változo létezik. <br>'; // Változó létezik, akkor a tartalmát ellenőrízzük. if (empty($xy) ) { echo 'Értéke = üres vagy nincs beállítva, <br>'; } else { echo 'Értéke = '.$xy.' <br>'; } } else {echo'Keresett változó, nem létezik.';} ?> |
Programunk eredménye: Keresett változo létezik. Értéke = 5 |
<?php // Ellenőrizzük változó létezését. if(isset($xv)) { echo 'Változó létezik.<br>';} else {echo 'Változó nem létezik.<br>';} // Nem létezik, akkor itt, létrehozzuk. if(isset($xv) !== true) { $xv=10; } // Ismét ellenőrizzük, változó létezését. if(isset($xv)) { echo 'Változó létezik.<br>';} else {echo 'Változó nem létezik.<br>';} ?> |
Programunk eredménye: Változó nem létezik. Változó létezik. |
Vagy így:
<?php // Ellenőrizzük változó létezését. if(isset($xv)) { echo 'Változó létezik.<br>';} else {echo 'Változó nem létezik.<br>'; $xv=10; } // Ismét ellenőrizzük, változó létezését. if(isset($xv)) { echo 'Változó létezik.<br>';} else {echo 'Változó nem létezik.<br>';} ?> |
Programunk eredménye: Változó nem létezik. Változó létezik. |
Ha az űrlapmezők value értéke üres, azaz, adat nem lett beírva.
Már az űrlap elkűldése előtt vagy elküldéskor, hibajelzést kapunk, ha nem indexeljük a várható változókat.
Példák hibajelzésre:
- Notice: Undefined index: adat1 in ...... on line xx
- Notice: Undefined index: adat2 in ...... on line xx
- Notice: Undefined index: adat3 in ...... on line xx
Adatokat nem indexeljük | Elküldés előtti eredmény, ez lesz. |
---|---|
Az xxxxxx-ek helyére írjuk, feldolgozó fájl nevét.
<form action="xxxxxx.php" method="POST"> Adat1 = <input type='text' name='adat1' id='adat1' value='' size="3"> <br> Adat2 = <input type='text' name='adat2' id='adat2' value='' size="3"> <br> Adat3 = <input type='text' name='adat3' id='adat3' value='' size="3"> <br> <input type='submit' value="Küldés. Katt ide."> </form> <?php $adat1=$_POST['adat1']; $adat2=$_POST['adat2']; $adat3=$_POST['adat3']; // --------------------------------------------------------- echo'Adat 1 = '.$adat1.'<br>'; echo'Adat 2 = '.$adat2.'<br>'; echo'Adat 3 = '.$adat3.'<br>'; ?> |
Adat1 = Adat2 = Adat3 = |
Adatokat indexeljük. empty() | Elküldés előtti eredmény, ez lesz. Hibajelzést nem kapunk. |
---|---|
<form action="xxxxxx.php" method="POST"> Adat1 = <input type='text' name='adat1' id='adat1' value='' size="3"> <br> Adat2 = <input type='text' name='adat2' id='adat2' value='' size="3"> <br> Adat3 = <input type='text' name='adat3' id='adat3' value='' size="3"> <br> <input type='submit' value="Küldés. Katt ide."> </form> <br>Feldolgozó PHP program eredménye:<br> Űrlap adatok:<br> <?php // Az űrlapról érkezhető adatokat, // be kell vezetni, azaz, indexelni kell. if(empty($_POST['adat1'])) { $_POST['adat1']=""; } if(empty($_POST['adat2'])) { $_POST['adat2']=""; } if(empty($_POST['adat3'])) { $_POST['adat3']=""; } // --------------------------------------------------------- $adat1=$_POST['adat1']; $adat2=$_POST['adat2']; $adat3=$_POST['adat3']; // --------------------------------------------------------- echo'Adat 1 = '.$adat1.'<br>'; echo'Adat 2 = '.$adat2.'<br>'; echo'Adat 3 = '.$adat3.'<br>'; ?> |
Bal oldalon leírtak eredménye. Tesztelhető űrlap. Feldolgozó PHP program eredménye: Űrlap adatok: Adat 1 = Adat 2 = Adat 3 = |