[PHP] $_POST wel 1,2,3 maar geen 0

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • GoVegan
  • Registratie: Juni 2002
  • Laatst online: 28-07 15:05
ik probeer doormiddel van een select in een form een veld in een mysql tabel te veranderen.
na dit lukt me wel alleen het stome is wanneer ik de waarde in nul veranderd dat wijzigde hij nix..

hier de code

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?PHP
if($_POST['filter']){
$filter=$_POST['filter'];
$nummer=$_POST['nummer'];

$updateSQL = "UPDATE detabel SET filter = '$filter' WHERE nummer='$nummer'";
  mysql_select_db($database_db, $db);
  $Result1 = mysql_query($updateSQL, $db) or die(mysql_error());
  header("location: ".$currentpage);
  exit;
 }
?>
-- EN DE SELECT

                  <select name="filter" class="field" id="filter">
                    <?PHP if($HTTP_SESSION_VARS['log']['bev']<='01'){ ?>
                    <option value="0"<?PHP if($row_Recordset1['filter']=='0'){ echo ' selected'; } ?>>ruw</option>
                    <?PHP } if($HTTP_SESSION_VARS['log']['bev']<='01'){ ?>
                    <option value="1"<?PHP if($row_Recordset1['filter']=='1'){ echo ' selected'; } ?>>klant_ruw</option>
                    <?PHP } if($HTTP_SESSION_VARS['log']['bev']<='05'){ ?>
                    <option value="2"<?PHP if($row_Recordset1['filter']=='2'){ echo ' selected'; } ?>>klant_selectie</option>
                    <option value="3"<?PHP if($row_Recordset1['filter']=='3'){ echo ' selected'; } ?>>pers </option>
                    <?PHP } ?>
                                  
                  echo "SELECTED"
                  </select>


hij werkt dus niet wanneer ik voor ruw kies (value 0)
iemand enig idee

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

"0" == false tip: isset()

en waarom gebruik je wel $_POST, maar $HTTP_SESSION_VARS ipv $_SESSION?

[ Voor 41% gewijzigd door crisp op 16-10-2003 16:18 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Je if evalueert naar false:
http://nl.php.net/manual/...php#control-structures.if en dan vooral http://nl.php.net/manual/...age.types.boolean.casting
Je string $_POST['filter'] is "0" en dat evalueert naar false ;)

edit:
Foei crisp. Het is geen integer 0 welke in $_POST['filter'] zit, maar de string "0" wat dus ook naar false evalueert. :+

[ Voor 20% gewijzigd door Glimi op 16-10-2003 16:19 ]


Acties:
  • 0 Henk 'm!

  • GoVegan
  • Registratie: Juni 2002
  • Laatst online: 28-07 15:05
ke ik snap het al opgelost met

PHP:
1
2
3
4
5
<?PHP
if($filter=='nul'){
$filter=0;
}
?>


en in de select dus value nul gegeven

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Glimi schreef op 16 October 2003 @ 16:17:
[...]
edit:
Foei crisp. Het is geen integer 0 welke in $_POST['filter'] zit, maar de string "0" wat dus ook naar false evalueert. :+
ik had 'm lekker al eerder gecorrigeerd als jouw edit :P
GoVegan schreef op 16 October 2003 @ 16:22:
ke ik snap het al opgelost met

PHP:
1
2
3
4
5
<?PHP
if($filter=='nul'){
$filter=0;
}
?>


en in de select dus value nul gegeven
waar is je mooie $_POST nou weer gebleven, en waarom doe je nou zo moeilijk?
Je kan gewoon isset() gebruiken om te kijken of je post-waarde gevuld is, dat geeft ook true als er "0" in staat.

Intentionally left blank