empty() functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 3 volgende »

Ocirina Ocirina

Ocirina Ocirina

11/01/2011 22:02:36
Quote Anchor link
Dit script geeft weer dat ik geen wachtwoord heb ingevoerd.
Terwijl ik beide gegevens wel heb ingevuld. Wie kan mij raad geven?
Mvg willem

Quote:
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
33
34
35
36
37
38
<?php

$gebruikersnaam
        = $_POST['gebruikersnaam'];
$wachtwoord         = md5($_POST['wachtwoord']);
$cgebruikersnaam     = '-';
$cwachtwoord         = '-';

if($_POST)
{

    if(empty($_POST['gebruikersnaam']))
    {

        if(empty($_POST['wachtwoord']))
        {

            if($gebruikersnaam==$cgebruikersnaam&&$wachtwoord==$cwachtwoord)
            {

            echo "U bent ingelogd!";
            }

            else
            {
            echo "U bent niet ingelogd, de gegevens waren niet correct.";
            }
        }

        else
        {
        echo "U heeft geen gebruikersnaam ingevuld!";
        }
    }

    else
    {
    echo "U heeft geen wachtwoord ingevuld!";
    }
}

else
{
echo "U heeft geen gegevens ingevult.";
}

    
?>
 
PHP hulp

PHP hulp

06/05/2024 04:46:57
 
Ozzie PHP

Ozzie PHP

11/01/2011 22:05:53
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
    if(empty($_POST['gebruikersnaam']))
    {
    }

    else
    {
    echo "U heeft geen wachtwoord ingevuld!";
    }

?>

Controle klopt niet... als de gebruikersnaam leeg is dan.... ZO NIET (gebruikersnaam is dus ingevuld) toon "U heeft geen wachtwoord ingevuld!".
 
Ocirina Ocirina

Ocirina Ocirina

11/01/2011 22:14:53
Quote Anchor link
Dankje voor je snelle reactie!
Hij werkt nu. Wat vind je van mijn werk-style?
Quote:
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
33
34
35
36
37
38
<?php

$gebruikersnaam
        = $_POST['gebruikersnaam'];
$wachtwoord         = md5($_POST['wachtwoord']);
$cgebruikersnaam     = '-';
$cwachtwoord         = '-';

if($_POST)
{

    if(empty($_POST['gebruikersnaam']))
    {

        echo "U heeft geen gebruikersnaam ingevuld!";
    }

    else
    {
        if(empty($_POST['wachtwoord']))
        {

        echo "U heeft geen wachtwoord ingevuld!";
        }

        else
        {
            if($gebruikersnaam==$cgebruikersnaam&&$wachtwoord==$cwachtwoord)
            {

            echo "U bent ingelogd!";
            }

            else
            {
            echo "U bent niet ingelogd, de gegevens waren niet correct.";
            }
        }
    }
}

else
{
echo "U heeft geen gegevens ingevult.";
}

    
?>
Gewijzigd op 11/01/2011 22:17:55 door Ocirina Ocirina
 
Wim E

Wim E

11/01/2011 22:18:45
Quote Anchor link
Onduidelijk. Tevens is de buitenste POST check niet eens nodig. Je checkt of er een POST is en dan ga je checken of gebruikersnaam is ingevuld...beetje dubbelop...
 
Ocirina Ocirina

Ocirina Ocirina

11/01/2011 22:20:35
Quote Anchor link
Ok, maar is dat dan niet voor mensen die zomaar op de login.php pagina komt?
Wat vind je onduidelijk aan mijn schrijfstijl?
Dankje voor je sneller reactie!
 

11/01/2011 22:27:40
Quote Anchor link
Controleren of een formulier gepost is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST')
Je laat bij een inlog formulier niet precies zien wat er mis is. Je laat alleen zien dat er een fout is. Hackers kunnen precieze data zoals 'verkeerd wachtwoord' misbruiken.
 
- SanThe -

- SanThe -

11/01/2011 22:28:05
Quote Anchor link
Sinds wanneer is $_POST een boolean?
if($_POST)

Duidelijk? Nee.
Gebruik hier bv. eens spaties.
if($gebruikersnaam==$cgebruikersnaam&&$wachtwoord==$cwachtwoord)

En wees consequent met inspringen. Nu lijkt het wel random.
 
Obelix Idefix

Obelix Idefix

11/01/2011 22:30:10
Quote Anchor link
Waarom spring je op regel 12 in wel in en op regel 24 en 28 niet?
Waarom maak je $gebruikersnaam aan? Je hebt de informatie toch al in de POST?
Waarom maak je $cgebruikersnaam en $cwachtwoord aan? Je gebruikt ze verderop in een vergelijking, maar daar kun je toch ook de waarde die je nu toekent aan de variabele gewoon gebruiken? Overigens twijfel ik of $wachtwoord==$cwachtwoord gaat werken.
$wachtwoord is md5 gecodeerd en dat vergelijk je met -
Je maakt gebruik van POST, dus er hoort nog een formulier bij. Je kent eerst $gebruikersnaam toe (regel 3) en op regel 8 controleer je of er een POST is.
 

11/01/2011 22:30:35
Quote Anchor link
Owja, niet onnodig variabelen kopiëren. Als je niks hebt gedaan met de data die in $_POST zit, laat je die ook gewoon lekker in $_POST zitten en ga je die niet in een nieuwe variabele stoppen.
 
Ocirina Ocirina

Ocirina Ocirina

11/01/2011 22:32:24
Quote Anchor link
@Karl Karl, dankje voor je reactie. Ik heb een vriend die doet een hbo webdev opleiding. Zoals jij meld had ik het ook, maar die vriend van mij zeg dat dat niet efficiënt is.

@SanThe, ook bedankt voor jou reactie. Ik ga er aan werken. Als ik over 10 min. het script weer post zou je dan weer willen kijken?
 

11/01/2011 22:33:58
Quote Anchor link
Willem van Lent op 11/01/2011 22:32:24:
@Karl Karl, dankje voor je reactie. Ik heb een vriend die doet een hbo webdev opleiding. Zoals jij meld had ik het ook, maar die vriend van mij zeg dat dat niet efficiënt is.


Wat doet?
Jammer genoeg leer je het niet altijd goed op het HBO...
 
Ocirina Ocirina

Ocirina Ocirina

11/01/2011 22:37:32
Quote Anchor link
web development.. of iets in die trent.
Ik heb mijn script herzien, graag zou ik jullie mening willen horen.
Quote:
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
33
<?php

$gebruikersnaam
        = $_POST['gebruikersnaam'];
$wachtwoord         = md5($_POST['wachtwoord']);
$cgebruikersnaam     = '-';
$cwachtwoord         = '-';


    if(empty($_POST['gebruikersnaam']))
     {

        echo "De gebruikersnaam of het wachtwoord klopt niet!";
     }

    else
     {
        if(empty($_POST['wachtwoord']))
         {

            echo "De gebruikersnaam of het wachtwoord klopt niet!";
         }

        else
         {
            if($gebruikersnaam==$cgebruikersnaam&&$wachtwoord==$cwachtwoord)
             {

                echo "U bent ingelogd!";
             }

                else
             {
                echo "U bent niet ingelogd, de gegevens waren niet correct.";
             }
        }
     }


    
?>


HELAAS! Sorry, dat ik de reactie niet gelezen had. Ik ga het opnieuw herzien.
Gewijzigd op 11/01/2011 22:40:01 door Ocirina Ocirina
 

11/01/2011 22:40:12
Quote Anchor link
Je kopieert nog steeds een variabele. En je kunt het logischer maken.
 
- SanThe -

- SanThe -

11/01/2011 22:42:47
Quote Anchor link
Als ik alles in jouw script gebruik kom ik op dit uit.

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
<?php
$cgebruikersnaam
     = '-';
$cwachtwoord         = '-';

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

    if($cgebruikersnaam == $_POST['gebruikersnaam'] and $cwachtwoord == $_POST['wachtwoord'])
    {

        echo "U bent ingelogd!";
    }

    else
    {
        echo "Uw gegevens zijn onjuist!";
    }
}

?>
 

11/01/2011 22:43:43
Quote Anchor link
Santhe dat kan hij zelf toch ook bedenken :-(

Willem van Lent op 11/01/2011 22:32:24:
@Karl Karl (...) Zoals jij meld had ik het ook, maar die vriend van mij zeg dat dat niet efficiënt is.
(...)

Kan je dit nog verduidelijken?
 
- SanThe -

- SanThe -

11/01/2011 22:48:47
Quote Anchor link
Willem van Lent op 11/01/2011 22:37:32:
Ik heb mijn script herzien, graag zou ik jullie mening willen horen.


Even alleen het inspringen:
De 'else' op regel 25 staat nog niet goed.
Gewijzigd op 11/01/2011 22:50:14 door - SanThe -
 
Ocirina Ocirina

Ocirina Ocirina

11/01/2011 22:50:16
Quote Anchor link
Dankje voor jullie reactie. Santhe ik zie net jou reactie.
Ik heb net verwerkt wat je zij. De else op regel '25' (nu anders) heb ik aangepast. Ik zag hem ook staan.

@Karl Karl, Ik weet niet precies wat hij precies bedoelde maar het scheelde ergens in?

Quote:
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
<?php
$cwachtwoord
        = '-';


if(empty($_POST['gebruikersnaam']))
 {

    echo "De gebruikersnaam of het wachtwoord klopt niet!";
 }

else
 {
    if(empty($_POST['wachtwoord']))
     {

        echo "De gebruikersnaam of het wachtwoord klopt niet!";
     }

    else
     {
        if($_POST['gebruikersnaam'] == 'admin' and md5($_POST['wachtwoord']) == $cwachtwoord)
         {

            echo "U bent ingelogd!";
         }

        else
         {
            echo "U bent niet ingelogd, de gegevens waren niet correct.";
         }
     }
 }


    
?>
Gewijzigd op 11/01/2011 22:51:26 door Ocirina Ocirina
 
Ozzie PHP

Ozzie PHP

12/01/2011 10:11:53
Quote Anchor link
Kris "Zoals ik zeg: je doet dit enkel voor if/elseif/else.
Gebeurt het op gelijk welke andere plek dat je iets zet rechts van een accolade?

Hoe past dit dan in een globaal systeem van indentering?"

Ik snap niet wat je nu bedoelt, doe ik volgens jou iets niet goed?
Gewijzigd op 12/01/2011 10:14:14 door Ozzie PHP
 
Ocirina Ocirina

Ocirina Ocirina

12/01/2011 10:17:41
Quote Anchor link
edit: Bericht mod niet gezien.
Maar, wat is dan voor jullie het meest overzichtelijk?
Zoals ik het zelf doe vind ik fijn, eventueel de acco. zo neer zetten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(voorwaarde)
 {
echo "De gebruikersnaam of het wachtwoord klopt wel";} //doe iets
else
 {echo "De gebruikersnaam of het wachtwoord klopt niet";} //doe iets anders.
?>
Gewijzigd op 12/01/2011 10:21:24 door Ocirina Ocirina
 
Ozzie PHP

Ozzie PHP

12/01/2011 10:19:32
Quote Anchor link
Het schrijfstijl topic is gesloten. We gaan hier verder.
 
Ocirina Ocirina

Ocirina Ocirina

12/01/2011 10:29:59
Quote Anchor link
Jelmer nog bedankt voor je reactie. Ik zal je code eens goed bekijken.
Ik hoop daar al een hoop van te leren. Maar zoals je zegt, een real_escape_string gebruiken. Is dit veilig? voor bijvoorbeeld een online punten systeem?
mvg
 

Pagina: 1 2 3 volgende »



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.