Form weglaten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jerry php

Jerry php

04/11/2011 10:00:01
Quote Anchor link
Ik heb een formulier gemaakt, en ik zou graag alleen de foutmelding willen laten zien als die er is, maar ik wil geen aparte pagina, is dat mogelijk?
Dit is mijn code, nu geeft hij de foutmelding onder het formulier weer, maar ik wil alleen de foutmelding zien.

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
39
40
41
42
43
44
45
<body>

        <form action="register.php" method="POST">

        <label for="naam">Gebruikersnaam:</label>
        <input style="margin-left:70px;" type="text" name="naam" id="naam"/> <br />
    
        <label for="wachtwoord">Wachtwoord:</label>
        <input style="margin-left:89px;" type="password" name="wachtwoord" id="wachtwoord"/><br />
    
        <label for="wachtwoord2">Wachtwoord bevestigen:</label>
        <input style="margin-left:22px;" type="password" name="wachtwoord2" id="wachtwoord2"/><br />
    
        <input style="margin-left:251px;" type="submit" name="submit" value="Aanmelden"/>
    
        </form>
    
        <?php
    
    if($_SERVER['REQUEST_METHOD'] == "POST")
    {

        $error = array();
        
        if($_POST['wachtwoord'] == $_POST['wachtwoord2'])
        {

        $username   =   $_POST['naam'];
        $password   =   md5($_POST['wachtwoord']);
        }
        
        else
        {
           $error[] = "De wachtwoorden komen niet overeen";
        }

        
        if(count($error) > 0)
        {

            foreach($error as $errors)
            {

                echo $errors;
            }
        }
    }

    
    ?>


</body>
 
PHP hulp

PHP hulp

26/11/2020 18:27:40
 
- Ariën -
Beheerder

- Ariën -

04/11/2011 10:06:22
Quote Anchor link
Lees je topic van een maandje terug eens door? Ik en SanThe (en nog enkele anderen) hebben vorige maand veel tijd gespendeerd voordat je het eindelijk doorhad.
En dan is het vreemd dat je het nu opnieuw vraagt?

Ik geef een hint, maar dat is dan ook echt een laatste hint:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if($_SERVER['REQUEST_METHOD'] == "POST"){
    // gePOST
} else {
    // formulier
}
?>
Gewijzigd op 04/11/2011 10:14:36 door - Ariën -
 
Jerry php

Jerry php

04/11/2011 10:30:44
Quote Anchor link
Nu ik meer kennis heb, snap ik je hint meteen!
Dankje

Toevoeging op 04/11/2011 10:31:01:

EDIT:
is de md5 zo goed?
 
- Ariën -
Beheerder

- Ariën -

04/11/2011 10:33:31
Quote Anchor link
Ja, check ook de gebruikersnaam i.p.v. niet alleen de wachtwoorden.
En gebruik bij voorkeur geen MD5, maar sha1, met een 'salt'-string, als je het heel veilig wilt hebben.
 
Jerry php

Jerry php

04/11/2011 10:36:56
Quote Anchor link
Dus dan wordt het dit?:

sha1($_POST['wachtwoord'])
 
- Ariën -
Beheerder

- Ariën -

04/11/2011 10:39:59
Quote Anchor link
en een salt-string erbij, voor de veiligheid.
 
Jerry php

Jerry php

04/11/2011 10:45:36
Quote Anchor link
ik weet niet precies wat je bedoelt. Op internet wordt er gezegt bij salt-string, een crypt? kan dat?
 
- Ariën -
Beheerder

- Ariën -

04/11/2011 10:50:55
Quote Anchor link
Een extra stukje string, er eraan wordt toegevoegd. Ook bij een passwoord-controle bij de inlog (pass<->opslag) plaatst je die string erbij.

Zo heeft een gebruiker bijv. als passwoord: boom, en jij hebt dan als salt bijv.: *(yuh78*, dan wordt het uiteindelijke password welke als sha1() in de database gaat: boom*(yuh78*.

Zo wordt voorkomen dat met SHA1() dictionary-tables ge-brute-forced kan wordne op een wachtwoord. Boom zou vast wel bestaan, maar boom*(yuh78* vast weer niet ;-).
Gewijzigd op 04/11/2011 10:52:01 door - Ariën -
 
Jerry php

Jerry php

04/11/2011 10:59:41
Quote Anchor link
oke :) Bedankt.

Nu zit ik met het volgende, ik wil 2 variabelen bekijken of er één ervan leeg is, zo ja dat moet er een melding komen.

if(empty($_POST['naam'] || $_POST['wachtwoord']))
{
echo "Iets is leeg";
}

Maar dit accepteerd hij niet.

Toevoeging op 04/11/2011 11:02:21:

ik heb het al, het moest op deze manier:

if(empty($_POST['naam']) || empty($_POST['wachtwoord']))
{
echo "Iets is leeg";
}

Toevoeging op 04/11/2011 11:44:10:

Waarom doet mijn count het niet?? :O

ik doe dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
if(count($error > 1)
{
    echo "meer als 2";
}

else
{
    echo "1 error";
}


hij moet dus de $error optellen en als er meer dan 1 error is, moet hij die bovenste pakken, anders die onderste. Wat ik ook probeer hij doet niets, ook niet als ik dit doe:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
if(count($error => 2)
{
    echo "meer als 2";
}

else
{
    echo "2 errors";
}


of dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
if(count($error >= 2)
{
    echo "meer als 2";
}

else
{
    echo "2 errors";
}


Toevoeging op 04/11/2011 12:11:56:

Vraagje tussendoor, is dit zo correct?

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
if(empty($_POST['naam']))
            {
                $error[] = "U heeft uw gebruikers naam niet ingevuld";
            }
            
            if(empty($_POST['wachtwoord']))
            {
                $error[] = "U heeft het eerste wachtwoord niet ingevuld";
            }
            
            if(empty($_POST['wachtwoord2']))
            {
                $error[] = "U heeft het tweede wachtwoord niet ingevuld";
            }
 
Jacco Brandt

Jacco Brandt

04/11/2011 14:42:41
Quote Anchor link
Je bent een ) vergeten.
if(count($error) > 1)
 



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.