max 10 tekens in wachtwoord, werkt niet
Code (php)
Bovenstaande function moet er voor zorgen dat je maar maximaal 10 tekens in een wachtwoord aanmaakt. En minimaal 4.
Maar als ik registreer met 15 tekens in een wachtwoord, dan wordt registratie gewoon geaccepteerd.
Geen foutmelding ondanks deze check,
Code (php)
1
2
3
4
5
2
3
4
5
<?php
if(!check_field($member_wachtwoord, T_PASSWORD)) {
$fout_bericht .= "U hebt geen geldig wachtwoord opgegeven (minimaal 6, maximaal 10 tekens)";
}
?>
if(!check_field($member_wachtwoord, T_PASSWORD)) {
$fout_bericht .= "U hebt geen geldig wachtwoord opgegeven (minimaal 6, maximaal 10 tekens)";
}
?>
Ik zie de fout niet en krijg ook geen foutmelding.
Wie kan me verder helpen?
je kan ook gewoon strlen gebruiken
Dan hoef je dus alleen de 4 nog maar te controleren.
maar die maxlength is wel te omzeilen
Toevoeging op 18/09/2010 21:47:23:
Woeps, ik bleef even hangen in dit topic Vincent, daarom zag ik je bericht nog niet :P
houd er nu wel rekening mee dat je input nu 5 of meer moet tekens moet zijn
Patrick Baldo op 18/09/2010 21:19:42:
Bovenstaande function moet er voor zorgen dat je maar maximaal 10 tekens in een wachtwoord aanmaakt. En minimaal 4.
@Vincent:
Dat was toch de opdracht? Of bedoel je 4 != 5?
Gewijzigd op 18/09/2010 22:41:31 door The Ultimate
hij wou minimaal 4 tekens, jij hebt nu gezegt dat je minimaal 5 tekens moet. dus inderdaad 4 != 5
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
46
47
48
49
50
51
52
53
54
55
56
57
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
46
47
48
49
50
51
52
53
54
55
56
57
<?php
/*--------------------------------------------------------------------------------------------------------------------------
(§) Function | digit_in_range()
--------------------------------------------------------------------------------------------------------------------------*/
/*---- INFO! ---->
Functie voor het controleren of een numerieke waarde gelijk aan of tussen het minimum en maximum ligt.
digit_in_range() geeft TRUE of FALSE terug.
*/
function digit_in_range($min, $max, $digit){
return ($digit >= $min and $digit <= $max) ? true : false ;
}
/*--------------------------------------------------------------------------------------------------------------------------
(§) Function | strlen_in_range()
--------------------------------------------------------------------------------------------------------------------------*/
/*---- INFO! ---->
Functie voor het controleren of de lengte van een string gelijk aan of tussen het minimum en maximum ligt.
strlen_in_range() geeft TRUE of FALSE terug.
*/
function strlen_in_range($min, $max, $string){
return digit_in_range($min, $max, strlen($string));
}
/*--------------------------------------------------------------------------------------------------------------------------
(§) Function | is_password()
--------------------------------------------------------------------------------------------------------------------------*/
/*---- INFO! ---->
Functie voor het controleren of een wachtwoord " password " geldig is. Een geldig wachtwoord mag alleen
letters bevatten en moet tussen de 4 en 10 karakters lang zijn.
is_password() geeft TRUE of FALSE terug.
*/
function is_password($password){
return (ctype_alpha($password) and strlen_in_range(4, 10, $password)) ? true : false ;
}
?>
/*--------------------------------------------------------------------------------------------------------------------------
(§) Function | digit_in_range()
--------------------------------------------------------------------------------------------------------------------------*/
/*---- INFO! ---->
Functie voor het controleren of een numerieke waarde gelijk aan of tussen het minimum en maximum ligt.
digit_in_range() geeft TRUE of FALSE terug.
*/
function digit_in_range($min, $max, $digit){
return ($digit >= $min and $digit <= $max) ? true : false ;
}
/*--------------------------------------------------------------------------------------------------------------------------
(§) Function | strlen_in_range()
--------------------------------------------------------------------------------------------------------------------------*/
/*---- INFO! ---->
Functie voor het controleren of de lengte van een string gelijk aan of tussen het minimum en maximum ligt.
strlen_in_range() geeft TRUE of FALSE terug.
*/
function strlen_in_range($min, $max, $string){
return digit_in_range($min, $max, strlen($string));
}
/*--------------------------------------------------------------------------------------------------------------------------
(§) Function | is_password()
--------------------------------------------------------------------------------------------------------------------------*/
/*---- INFO! ---->
Functie voor het controleren of een wachtwoord " password " geldig is. Een geldig wachtwoord mag alleen
letters bevatten en moet tussen de 4 en 10 karakters lang zijn.
is_password() geeft TRUE of FALSE terug.
*/
function is_password($password){
return (ctype_alpha($password) and strlen_in_range(4, 10, $password)) ? true : false ;
}
?>
Gewijzigd op 18/09/2010 22:56:09 door - Mark -
Ik snap het niet zo goed: Waarom 2 aparte functies die allebei hetzelfde doen?
digit_in_range() en strlen_in_range() doen beide hetzelfde. Je gebruikt dus onnodig veel code. Als je dan bij digit_in_range() zou controleren of het daadwerkelijk een integer ofzo is dan heeft het nog nut. Maar dan zul je wel ook even strlen_in_range() aan moeten passen.
:p ze doen niet beide hetzelfde, digit_in_range() is voor getallen en strlen_in_range is voor strings. Ik gebruik ze ook appart voor andere functies.
Je hebt gelijk, las het verkeerd. Excuses.
:p Het lijkt ook een beetje overkill op deze manier doordat alleen is_password() er nu gebruik van maakt maar in combinatie met mijn andere fucties valt dat wel mee en is het naar mijn mening beter voor de leesbaarheid.
Het is toch niet de bedoeling om wachtwoorden te beperken in moeilijkheidsgraad maar net andersom toch?
En voor de opslag moet je het ook niet doen want die word, als alles goed is, toch gehashed...
Blij dat jij het zegt...