Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> strlen() co jest do cholery?
lukass
post 3.07.2003, 14:41:19
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 20.03.2002

Ostrzeżenie: (0%)
-----


Witam

chcialem zrobic sprawdzanie dlugosci hasla (z formularza) za pomoca strlen(), tylko ze to cholerstwo wogole nie wyciaga ilosci znakow, jest puste.

Ma ktos jakas teorie na to? Albo lepszy sposob na sprawdzanie dlugosci znakow z input'a?
Go to the top of the page
+Quote Post
KaMeLeOn
post 3.07.2003, 14:46:14
Post #2





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Scannera chwilowo nie ma, więc nie ma też jego szklanej kuli...
Bez kawałka kodu nikt nic nie poradzi na twój problem...


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
lukass
post 3.07.2003, 14:57:07
Post #3





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 20.03.2002

Ostrzeżenie: (0%)
-----


smile.gif ok wiec czesc odpowiadajaca za autentyfikacje:

[php:1:8d43cbe0cf]<?php

if ($fun=="user_add")
{
#kontrola parametrow

#sprawdz czy haslo poprawnie podane
if ($ppassword==$ppassword2)
{
#to samo maile
if ($pemail==$pemail2)
{
#sprawdz czy nie ma takiego usera w bazie danych
$zap=mysql_query("select * from pasazer where login='$plogin';");
$ile_rek=mysql_num_rows($zap);
mysql_free_result($zap);

if ($ile_rek>0)
{
print "<p class=blad>Podany użytkownik już istnieje!<br></p>";
#wlacz formularz do poprawy
$fun="user_correct_form";
#ktore pole zaznaczyc jako zle
$zlepole=1;
}else{

#jesli allOK to dodaj rekord

$zap=mysql_query("insert into pasazer (login,password,mail) values ('$plogin','$ppassword','$pemail');");
if ($zap)
{
print "<center><table>";
print "<tr><th colspan=2><font class=naglowek>Twoje dane:</font></td></tr>";
print "<tr><td class=tableft>Login</td><td class=naglowek>$plogin</td></tr>";
print "<tr><td class=tableft>Haslo</td><td class=naglowek>$ppassword</td></tr>";
print "<tr><td class=tableft>E-Mail</td><td class=naglowek>$pemail</td></tr>";
print "<tr><th colspan=2><a href=index.php3 class=naglowek>Zaloguj sie</a></td></tr>";

}else{
print "<p class=blad>Nie mogę dodać użytkownika!<br></p>";
}
}
}else{
print "<p class=blad>Podane adresy e-mail nie są zgodne!<br></p>";
$fun="user_correct_form";
$zlepole=2;
}
}else{
print "<p class=blad>Podane hasła nie są zgodne!<br>Bądź są za krotkie.</p>";
$fun="user_correct_form";
$zlepole=3;
}

}

?>[/php:1:8d43cbe0cf]

A tu sam formularz:

[php:1:8d43cbe0cf]<?php

if ($fun=="new_user")
{
#nowy user
print "<form name=logowanie action=index.php3 method=post>";
print "<input type=hidden name=fun value=user_add>";
print "<center><table>";
print "<tr><th colspan=2><font class=naglowek>Wpisz swoje dane:</font></td></tr>";
print "<tr><td class=tableft>Login</td><td><input name=plogin></td></tr>";
print "<tr><td class=tableft>Hasło</td><td><input type=password name=ppassword></td></tr>";
print "<tr><td class=tableft>Hasło (potwierdź)</td><td><input type=password name=ppassword2></td></tr>";
print "<tr><td class=tableft>E-Mail</td><td><input name="pemail"></td></tr>";
print "<tr><td class=tableft>E-Mail (potwierdź)</td><td><input name="pemail2"></td></tr>";
print "<tr><th colspan=2 align=right><input type=submit value='Zapisz'></td></tr>";
print "</table>";
}


?>[/php:1:8d43cbe0cf]

Probowalem tak (wstawic zamiast linii 8 pierwszego kodu):

Kod
if ((strlen($ppassword)>4) && ($ppassword==$ppassword2))
Go to the top of the page
+Quote Post
KaMeLeOn
post 3.07.2003, 15:00:58
Post #4





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat
[...] Bez kawałka kodu [...]

Hmm... biggrin.gif
-----
Jeśli chodzi o kod to http://forum.php.pl/viewtopic.php?t=789 ...


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
scanner
post 3.07.2003, 15:02:36
Post #5





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Jeszcze trochę, a zaczną moją szklaną kulą walić po łbach tych, którym sie nie chcve kliknąć na "szukaj".


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
lukass
post 3.07.2003, 15:15:29
Post #6





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 20.03.2002

Ostrzeżenie: (0%)
-----


Hmmm wsadzilem
Kod
strlen($HTTP_POST_VARS['$ppassword'])
i nic wartosc 0 pokazuje :/

Eeee ide robic cos innego bo mnie to wkurza...
Go to the top of the page
+Quote Post
KaMeLeOn
post 3.07.2003, 15:17:11
Post #7





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


[php:1:f4f87d215f]<?php
if( strlen($_POST['ppassword']) > costam )
{
// kod... itd
}
?>[/php:1:f4f87d215f]


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
jono
post 3.07.2003, 15:22:10
Post #8





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Ale wiecie co?? Znowu komplikujecie!

Wystarczy dodać do input:
<input type=text name=nazwa maxlength=4>

Po co kombinować na około, skoro sam HTML oferuje rozwiązanie??

Jak ktoś chce robić php niech najpierw pozna TO


--------------------
if(function_exists("zrozum_kobiete")){
echo "Niemożliwe!"; exit;}
Go to the top of the page
+Quote Post
lukass
post 3.07.2003, 15:23:13
Post #9





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 20.03.2002

Ostrzeżenie: (0%)
-----


Ok jestem debilem :oops: a ten siniak na czole to od walenia w sciane...

scanner nie bedziesz potrzebowal swojej kuli, sam cie wyrecze :? :?
Go to the top of the page
+Quote Post
lukass
post 3.07.2003, 15:24:30
Post #10





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 20.03.2002

Ostrzeżenie: (0%)
-----


Cytat
Ale wiecie co?? Znowu komplikujecie!

Wystarczy dodać do input:
<input type=text name=nazwa maxlenght=4>

Po co kombinować na około, skoro sam HTML oferuje rozwiązanie??


Bo html nie oferuje opcji minlenght smile.gif
Haslo ma byc dluzsze od 4 liter a nie max 4...
Go to the top of the page
+Quote Post
KaMeLeOn
post 3.07.2003, 15:25:52
Post #11





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat
Wystarczy dodać do input:
<input type=text name=nazwa maxlenght=4>

Po co kombinować na około, skoro sam HTML oferuje rozwiązanie?

Nie zawsze można ograniczać usera w długości pisanego tekstu...
Twoje rozwiązanie blokuje długość na sztywno, co niestety nie jest dobrym rozwiązaniem...


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
jono
post 3.07.2003, 15:26:25
Post #12





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Proponuję podpatrzeć na innych serwisach. To można zrobić w JS.


--------------------
if(function_exists("zrozum_kobiete")){
echo "Niemożliwe!"; exit;}
Go to the top of the page
+Quote Post
lukass
post 3.07.2003, 15:30:33
Post #13





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 20.03.2002

Ostrzeżenie: (0%)
-----


W kazdym razie dziala tak jak powinno...

Dzieki Kameleoniku smile.gif
Go to the top of the page
+Quote Post
jizus
post 17.07.2003, 10:50:49
Post #14





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 17.07.2003
Skąd: Stargard Szczeciński

Ostrzeżenie: (0%)
-----


Niewiem czy dobrze zalapalem o co chodzi, ale moze to cos pomoze.
[php:1:8493d30e76]<?php
if (strlen($HTTP_POST_VARS['haslo']) < 6 OR strlen($HTTP_POST_VARS['haslo']) > 10){
echo "Hasło musi miec długość od 6 do 10 znakow.";
}
?>[/php:1:8493d30e76]


--------------------
Ktoz umie tak jak polak mowiac milczec, milczac pic ? Tak szumiec tak o slowo jedno zaraz w morde bic ?
Go to the top of the page
+Quote Post
konrad_vme
post 17.07.2003, 11:06:21
Post #15





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 19.04.2002
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


Cytat
Cytat
Ale wiecie co?? Znowu komplikujecie!

Wystarczy dodać do input:
<input type=text name=nazwa maxlenght=4>

Po co kombinować na około, skoro sam HTML oferuje rozwiązanie??


Bo html nie oferuje opcji minlenght smile.gif
Haslo ma byc dluzsze od 4 liter a nie max 4...

Poza tym kod HTML można BARDZO ŁATWO obejść, a sprawdzania długości w php nie oszukasz 8)


--------------------
revolution, the only solution
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 18:20