[opgelost] Probleem met if, elseif en waarden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Haubebla haubebla

haubebla haubebla

01/12/2013 10:26:13
Quote Anchor link
Hallo daar!

(Sorry voor de titel, ik kon niks duidelijkers verzinnen)

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
/**
             * In het volgende blok code wordt $bv2Notice een waarde gegeven
             *
             * @value false:    Goed wachtwoord en sterk, geen melding
             * @value possible: Goed wachtwoord, maar kan sterker (toon melding)
             * @value special:  Slecht wachtwoord, komt voor in de lijst van de 20 meest gebruikten wachtwoorden (toon melding)
             * @value true:     Slecht of te zwak wachtwoord, ww moet veranderd worden (toon melding)
             */
            
            if ($bPassword_valid == true) { //goed en sterk wachtwoord
                $oStatus->toggle_bit(4);
                $bv2Notice = false;
            } elseif ($bPassword_valid == possible) { //goed wachtwoord, maar kan sterker
                $oStatus->toggle_bit(4);
                $bv2Notice = possible; //melding voor sterker wachtwoord
            } elseif ($bPassword_valid == special) { //Wachtwoor is een van de 20 meest gebruikte wachtwoorden
                $bv2Notice = special;
            } else { //slecht of te zwak wachtwoord
                $bv2Notice = true;
            }
        }
        
        //test-output
    echo (real)$bPassword_valid, '<br>';
        echo $_POST['password'], '<br><br>';
        
        echo (real)$bv2Notice;


Dit script gebruik ik om een password te valideren (tenminste, dit is het deel waar het om gaat).
Nu krijg ik dit als output:
Quote:
2
ravian88
[/quote]

Maar dat kan niet, want de waarde van $bPassword_valid == possible, dan kan $bv2Notice onmogelijk false zijn!

Kunnen jullie me helpen?

Groetjes Ravi
Gewijzigd op 01/12/2013 16:55:19 door Haubebla haubebla
 
PHP hulp

PHP hulp

08/09/2024 05:35:17
 
- SanThe -

- SanThe -

01/12/2013 10:32:55
Quote Anchor link
Zet de errors eens aan.
Helemaal bovenin je script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

// rest
?>
 
Haubebla haubebla

haubebla haubebla

01/12/2013 12:12:38
Quote Anchor link
Niks veranderd
 
Erwin H

Erwin H

01/12/2013 13:29:27
Quote Anchor link
Wat is possible? Is dat een voorgedefinieerde constante? Anders mis je een paar quotes.... (zelfde voor special natuurlijk)
 
Haubebla haubebla

haubebla haubebla

01/12/2013 13:30:54
Quote Anchor link
Code (boolv2.php) (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
<?php
    /**
     * Boolv2
     * @category boolean's
     * @author Ravithrasworld
     * @version 2
     *
     * @var possible
     *  @uses Als er geen concrete beslising is tussen true & false.
     *  @since 1
     * @var special
     *  @uses Als er iets speciaals aan de hand is, de waarde is 2
     *  @since 2
     */

    define('possible',2,false);
    define('special',3,false);
?>
 
Erwin H

Erwin H

01/12/2013 13:50:31
Quote Anchor link
Dan klopt het toch wat je krijgt? possible is als constante gedefinieerd met waarde 2 en dat is wat er geprint wordt.

Toevoeging op 01/12/2013 13:54:00:

Correctie: gebruik bij de eerste check "$bPassword_valid === true", en niet het dubbele = teken. Elke niet lege waarde is bij een dubbel = teken namelijk gelijk aan true, bij een driedubbel is alleen true ook echt gelijk aan true.
 
Haubebla haubebla

haubebla haubebla

01/12/2013 16:55:07
Quote Anchor link
Yes, dat was het dus.
Bedankt!
 



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.