Form is zero

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joshua

Joshua

05/01/2008 23:19:00
Quote Anchor link
Ik had een code geschreven zodat mensen uit een dropdown list, waarbij ze aantallen van producten konden kiezen, tenminste 1 product moesten kiezen :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
27
28
29
30
31
32
<?php

session_start();

if ($_SERVER[ 'REQUEST_METHOD' ] == ' POST ' ) {
     $_SESSION[ ' form2 ' ] = $_POST;

}


ini_set('display_errors',1);
error_reporting(E_ALL);


if   (     ($_SERVER[ 'REQUEST_METHOD' ] == ' POST ' )
    && (
isset($_POST['herenfietsen']) && ctype_digit( $_POST['herenfietsen'] ) )
    && (
isset($_POST['damesfietsen']) && ctype_digit( $_POST['damesfietsen'] ) )
    && (
isset($_POST['kinderfietsen']) && ctype_digit( $_POST['kinderfietsen'] ) )
    && (
isset($_POST['hybride']) && ctype_digit( $_POST['hybride'] ) )
    && (
isset($_POST['mountainbikes']) && ctype_digit( $_POST['mountainbikes'] ) )
    && (
isset($_POST['tandems']) && ctype_digit( $_POST['tandems'] ) )
    && (
isset($_POST['steppen']) && ctype_digit( $_POST['steppen'] ) )
    )


if ((int) $_POST['herenfietsen']  + (int) $_POST['damesfietsen'] + (int) $_POST['kinderfietsen'] + (int) $_POST['hybride'] +
 (int)
$_POST['mountainbikes'] + (int) $_POST['tandems'] + (int) $_POST['steppen'] == "0" ) {
echo "Je moet wel in ieder geval één fiets huren hoor!";
exit();
}




?>


Alleen werkt hij dus niet. Wanneer ik alles op "0" (nul) laat staan geeft hij niet die melding.. Weet iemand wat er aan veranderd moet worden?
 
PHP hulp

PHP hulp

05/05/2024 11:36:32
 

05/01/2008 23:27:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if ((int) $_POST['herenfietsen']  + (int) $_POST['damesfietsen'] + (int) $_POST['kinderfietsen'] + (int) $_POST['hybride'] +
 (int)
$_POST['mountainbikes'] + (int) $_POST['tandems'] + (int) $_POST['steppen'] == "0" ) {
?>

Daar vergelijk je allemaal ints met een string, niet de bedoeling lijkt me.
Misschien wat doen met empty?
$_SESSION[ ' form2 ' ] = $_POST; kan je ook kwijt in de tweede if.
(Exit is wel een hard eind.)
 
PHP Newbie

PHP Newbie

05/01/2008 23:42:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
    session_start();
    ini_set('display_errors',1);
    error_reporting(E_ALL);

    if ($_SERVER['REQUEST_METHOD'] == 'POST' )
    {

         $_SESSION['form2'] = $_POST;
        
         if(empty($_POST['herenfietsen']) || empty($_POST['damesfietsen']) || empty($_POST['kinderfietsen']) /* || enz.. */)
         {

            echo "Je moet wel in ieder geval één fiets huren hoor!";
         }
    }

?>
 
Joshua

Joshua

05/01/2008 23:48:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
27
28
29
30
31
<?php

session_start();

if ($_SERVER[ 'REQUEST_METHOD' ] == ' POST ' ) {
     $_SESSION[ ' form2 ' ] = $_POST;

}


ini_set('display_errors',1);
error_reporting(E_ALL);


if   (     ($_SERVER[ 'REQUEST_METHOD' ] == ' POST ' )
    && (
isset($_POST['herenfietsen']) && ctype_digit( $_POST['herenfietsen'] ) )
    && (
isset($_POST['damesfietsen']) && ctype_digit( $_POST['damesfietsen'] ) )
    && (
isset($_POST['kinderfietsen']) && ctype_digit( $_POST['kinderfietsen'] ) )
    && (
isset($_POST['hybride']) && ctype_digit( $_POST['hybride'] ) )
    && (
isset($_POST['mountainbikes']) && ctype_digit( $_POST['mountainbikes'] ) )
    && (
isset($_POST['tandems']) && ctype_digit( $_POST['tandems'] ) )
    && (
isset($_POST['steppen']) && ctype_digit( $_POST['steppen'] ) )
    )


if ((int) $_POST['herenfietsen']  + (int) $_POST['damesfietsen'] + (int) $_POST['kinderfietsen'] + (int) $_POST['hybride'] +
 (int)
$_POST['mountainbikes'] + (int) $_POST['tandems'] + (int) $_POST['steppen'] == 0 ) {
echo "Je moet wel in ieder geval één fiets huren hoor!";
exit();
}



?>


Ik heb het gedeelte: == "0" ) veranderd in: == 0 ) zodat het gezien word als een int maar lijkt niet te helpen
 
Joshua

Joshua

05/01/2008 23:50:00
Quote Anchor link
@PHP newbie: Is dat niet een code die die echo geeft als alles empty? En de velden kunnen nooit echt empty zijn, empty zou hier 0 (nul) zijn. Of ziet hij 0 ook als empty?
 

06/01/2008 00:04:00
Quote Anchor link
Joshua schreef op 05.01.2008 23:50:
@PHP newbie: Is dat niet een code die die echo geeft als alles empty? En de velden kunnen nooit echt empty zijn, empty zou hier 0 (nul) zijn. Of ziet hij 0 ook als empty?

Als je nou eens kijkt voordat je gaat roepen. Ik heb zelfs nog een link geplaatst naar php.net over empty.
 
Joshua

Joshua

06/01/2008 00:09:00
Quote Anchor link
Ja je hebt gelijk. Sorry had over de link heen gelezen.

Bedankt gasten, hij werkt =)
 
Joshua

Joshua

06/01/2008 00:17:00
Quote Anchor link
Nee hij werkt niet. Met die code van PHP Newbie moet je alles in hebben gevuld. Hij pikt het niet als er eentje bijvoorbeeld nog op 0 staat. Dat is een beetje het tegenover gestelde van wat ik had geschreven oorspronkelijk, wat er vanuit ging dat er tenminste 1 object niet empty mocht zijn.

Hmm..

EDIT: gewoon de " || " veranderd door " && " en alles werkt :)
Gewijzigd op 01/01/1970 01:00:00 door Joshua
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.