Form weglaten
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.
Dit is mijn code, nu geeft hij de foutmelding onder het formulier weer, maar ik wil alleen de foutmelding zien.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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>
<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>
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:
En dan is het vreemd dat je het nu opnieuw vraagt?
Ik geef een hint, maar dat is dan ook echt een laatste hint:
Gewijzigd op 04/11/2011 10:14:36 door - Ariën -
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?
Dankje
Toevoeging op 04/11/2011 10:31:01:
EDIT:
is de md5 zo goed?
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.
En gebruik bij voorkeur geen MD5, maar sha1, met een 'salt'-string, als je het heel veilig wilt hebben.
Dus dan wordt het dit?:
sha1($_POST['wachtwoord'])
sha1($_POST['wachtwoord'])
en een salt-string erbij, voor de veiligheid.
ik weet niet precies wat je bedoelt. Op internet wordt er gezegt bij salt-string, een crypt? kan dat?
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 ;-).
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 -
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:
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:
of dit:
Toevoeging op 04/11/2011 12:11:56:
Vraagje tussendoor, is dit zo correct?
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:
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:
of dit:
Toevoeging op 04/11/2011 12:11:56:
Vraagje tussendoor, is dit zo correct?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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";
}
{
$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";
}
Je bent een ) vergeten.
if(count($error) > 1)
if(count($error) > 1)




