Autor Zpráva
kachnak
Profil *
prosim vas ako spravim ze v php kode

if (v checboxe je krizik od uzivatela)
sprav jednu vec

if (checboxe je prazdny)
sprav druhu vec
error414
Profil
kdyz k checkboxu das atribut name, tak se k nemu v php scriptu dostanes prave pres name

<input type='checkbox' name='neco_udelat' value='1' />


<?php

$zakliknuti = $_POST['neco_udelat'];

if($zakliknuti){
// delej neco
}else{
//delej neco jineho
}
?>
Kdyz nic nezakliknes tak se hodnota neodesle. Pozor nato, kdyz nastavis value na nulu tak se vykona pouze "//delej neco jineho"
Hugo
Profil
Kdyz nic nezakliknes tak se hodnota neodesle. Pozor nato, kdyz nastavis value na nulu tak se vykona pouze "//delej neco jineho"

Tomuto se dá velmi snadno vyhnout


<?php
if($_POST['checkbox'] === 0){
// delej neco
}else{
//delej neco jineho
}
?>
error414
Profil
Hugo
me to porad nejde aby se podminka splnila.



<form method='get' action='#'>
<input type='checkbox' name='test' value='0'>
<input type='submit'>
</form>

<?php

if($_REQUEST['test'] === 0){

echo 'splnena';

}else{

echo 'ee';

}

?>
<hr />
<?php

if($_REQUEST['test']){

echo 'splnena';

}else{

echo 'ee';
}

?>


http://test-e.php5.cz/test2.php?test=0#
Hugo
Profil
Nojo, asi dochází po cestě k přetypování. Toto funguje

<?php
if ((string)$_POST['id'] === '0')
{
print 'ok';
}
else
{
print 'ko';
}
?>

http://temp.z-moravec.net/
Peca
Profil
Nemělo by tam spíš být ===FALSE ?
Hugo
Profil
Peca

Pokud by tam bylo false, tak by se to chovalo přesně opačně.
error414
Profil
Hugo
Tohle uz je logicke, ty stoho udelas string takze uz to neni nula takze by melo fungovat i
if ((string)$_GET['test'] == '0')
{
print 'ok';
}
else
{
print 'ko';
}
?>
Hugo
Profil
Jojo, tři rovnítka jsou už zbytečně.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0