Napisałem prosty system logowania i rejestracji i chciałby się was spytać co w nim jest ewentualnie źle i co można poprawić:
rejestracja:
Kod:
<?
function reg_form()
{?>
<div id='reg_form'>
<form name='register' method='POST'>
Nick : <input name='nick' type='text' maxlength='20' style='margin-left:60px;' onfocus="Help('nick')" onblur="Out()"><br>
Hasło : <input name='pass1' type='password' maxlength='20' style='margin-left:55px; margin-top:5px;' onfocus="Help('pass1')" onblur="Out()"><br>
Powtórz Hasło : <input name='pass2' type='password' maxlength='20' style='margin-top:5px;' onfocus="Help('pass2')" onblur="Out()"><br>
<input name='reg_send' type='submit' value='Rejestracja' style='margin-left:80px; margin-top:10px;'>
</form>
</div>
<div id='help'><script>document.getElementById('help').innerHTML = 'Nie podawaj nikomu swojego hasła!';</script>
</div>
<?}
?>
<?
function register()
{
if(!isset($_POST['reg_send']))
{
reg_form();
}else if(isset($_POST['reg_send']))
{
if((empty($_POST['nick'])) || (empty($_POST['pass1'])) || (empty($_POST['pass2'])))
{
echo 'Nie wypełniłeż(aż) wszystkich pól<br>';
reg_form();
}else
{
$pass = $_POST['pass1'];
$pass2 = $_POST['pass2'];
if($pass != $pass2)
{
echo 'Hasła się nie zgadzają!<br>';
reg_form();
}else
{
$nick = $_POST['nick'];
if((ereg("[[:punct:]]", $nick)) || (ereg("[[:space:]]", $nick)) || (ereg("[[:punct:]]", $pass)) || (ereg("[[:space:]]", $pass)))
{
echo 'Nick lub Hasło zawiera niepoprawne znaki!<br>';
reg_form();
}else
{
$file = fopen("users.txt", "a");
$dane = "$nick|$pass";
fputs($file, "$dane\n");
fclose($file);
echo '<h4>Rejestracja przebiegła pomyżlnie. Możesz przejżć teraz do logowania.</h4>';
}
}
}
}
}
?>
Logowanie:
Kod:
<?
function log_form()
{?>
<div id='log_form'>
<form name='login' method='POST'>
Nick : <input name='nick' type='text' maxlength='20' style='margin-left:60px;' onfocus="Help('nick')" onblur="Out()"><br>
Hasło : <input name='pass' type='password' maxlength='20' style='margin-left:55px; margin-top:5px;' onfocus="Help('pass1')" onblur="Out()"><br>
<input name='log_send' type='submit' value='Logowanie' style='margin-left:80px; margin-top:10px;'>
</form>
</div>
<div id='help'><script>document.getElementById('help').innerHTML = 'Nie podawaj nikomu swojego hasła!';</script>
</div>
<?}
?>
<?
function logowanie()
{
if(!isset($_POST['log_send']))
{
log_form();
}else
{
if((empty($_POST['nick'])) || (empty($_POST['pass'])))
{
echo 'Nie uzupełniłeż(aż) wszystkich pól!';
log_form();
}else
{
$plik = "users.txt";
$file = fopen($plik,"r");
$zawartosc = fread($file, filesize($plik));
$i = 0;
while(!feof($file))
{
$dane = fgets($file, 4096);
$dane = explode("|", $dane);
if(($_POST['nick'] == $dane[0]) AND ($_POST['pass'] == $dane[1]))
{
$_SESSION['nick'] = $_POST['nick'];
$_SESSION['log'] = true;
echo 'Zostałeż(aż) pomyżlnie zalogowany(a).';
} else {
$_SESSION['nick'] = '';
$_SESSION['log'] = false;
echo 'Nie zostałeż(aż) zalogowany(a).';
}
$i++;
}
fclose($file);
}
}
}
?>
Wiem, że przydało by się jakież hashowanie hasła ale tym chcę się zająć na końcu.
Czekam na wasze podpowiedzi.
Zakładki