Witam jestem zielony w php (zajmuje sie tym dopiero od trzech tygodni).
Pisze stronke w php, mam rejestrację i logowanie, lecz ich wadą jest to, że nie koduje hasła i loginu poprzez MD5.
Jeśli ktoś mógł mi pomóc w przerobieniu kodu był bym bardzo wdzięczny.
Oto kod:
zarejestruj.php
<?php
//jesli byl wyslany formularz przechodzimy do obsługi danych
if(isset($_POST['wyslij'])) {
//Obrabiamy wszystkie zmienne przekazane metodą POST
foreach ($_POST AS $klucz => $wartosc)
{
$wartosc= trim($wartosc); //usuwamy białe znaki
$_POST[$klucz]=$wartosc;
}
$login=$_POST['login'];
$haslo=$_POST['haslo'];
$re_haslo=$_POST['re_haslo'];
$email=$_POST['email'];
$data=$_POST['data'];
$blad_txt='';
$blad=false;
//Sprawdzamy czy użytkownik o danym Loginie nie jest juz zajęty
$zapytanie_sprawdz_usera= "select * from user where user_name='$login' ";
if(!$wynik)
{
echo 'Przepraszamy rejestracja w tej chwili jest nie mozliwa. Prosze spróbowac pozniej Login .';
}
{
$sprawdz_login=1;
}
// Sprawdzamy czy adres email sie nie powtarza.
$zapytanie_sprawdz_email= "select * from user where user_email ='$email' ";
if(!$wynik_email)
{
echo 'Przepraszamy rejestracja w tej chwili jest nie mozliwa. Prosze spróbowac pozniej email .';
}
{
$sprawdz_email=1;
}
//sprawdzamy czy poprawnie jest wypełnine pole login
$info_txt_nick.='<font color="#B20000"> Pole nie zostało wypełnione.</font>';
$blad=true;
}
else if($sprawdz_login==1){
$info_txt_nick.='<font color="#B20000"> Login o takiej nazwie już istnieje.</font>';
$blad=true;
}
$info_txt_nick.='<font color="#B20000">Login jest za krótki.</font>';
$blad=true;
}
$info_txt_nick.='<font color="#B20000"> Nie poprawna nazwa loginu, max 12 znaków.</font>';
$blad=true;
}
else{
$info_txt_nick.='<font color="#207C07"> OK.</font>';
}
//sprawdzamy czy jest prawidlowe haslo
$info_txt_haslo.='<font color="#B20000"> Pole nie zostało wypełnione.</font>';
$blad=true;
}
$info_txt_haslo.='<font color="#B20000"> Hało jest za krótkie.</font>';
$blad=true;
}
$info_txt_haslo.='<font color="#B20000"> Hasło może składać sie z Max 16 znaków.</font>';
$blad=true;
}
else{
$info_txt_haslo.='<font color="#207C07"><b> OK.</b></font>';
}
//sprawdzamy czy jest 2 hasło
$info_txt_re_haslo.='<font color="#B20000"> Pole nie zostało wypełnione.</font>';
$blad=true;
}
else if($haslo != $re_haslo){
$info_txt_re_haslo.='<font color="#B20000"> Hała muszą być takie same.</font>';
$blad=true;
}
else{
$info_txt_re_haslo.='<font color="#B20000"><font color="#207C07"> OK.</font>';
}
//sprawdzamy czy jest podany prawidłowy adres e-mail
$info_txt_email.='<font color="#B20000"> Pole nie zostało wypełnione.</font>';
$blad=true;
}
else if($sprawdz_email==1){
$info_txt_email.='<font color="#B20000"> Adres email o takiej nazwie już istnieje.</font>';
$blad=true;
}
else if(!preg_match('|^[_a-z0-9.-]*[a-z0-9]@[_a-z0-9.-]*[a-z0-9].[a-z]{2,3}$|e', $email)){ $info_txt_email.='<font color="#B20000"> Adres email jest nie prawidłowy.</font>';
$blad=true;
}
else{
$info_txt_email.='<font color="#207C07"> OK.</font>';
}
//data
$info_txt_haslo.='<font color="#B20000"> Pole nie zostało wypełnione.</font>';
$blad=true;
}
$info_txt_data.='<font color="#B20000"> Hasło może składać sie z Max 40 znaków.</font>';
$blad=true;
}
else{
$info_txt_data.='<font color="#207C07"><b> OK.</b></font>';
}
if(!$blad)
{
$pokaz_form=true;
// Odpowiedz
$odpowiedz = mysql_query("INSERT INTO `user` set user_name='$login', user_pass='$haslo', user_email='$email', user_date='$data' "); if($odpowiedz > 0){
echo 'Rejestracja przebiegła pomyślnie do konca.<br /><ul><li>Twój nick to: '.$login.'</li><li>haslo: '.$haslo.'</li><li>re_haslo: '.$re_haslo.'</li><li>email: '.$email.'</li><li>data dołączenia: '.$data.'</li></ul>'; }
else{
$pokaz_form=false;
}
}
else
{
//cos jest zle – wyświetlamy stosowne komunikaty
// echo $blad_txt;
$pokaz_form=false;
}
}
else
{
//wypelniamy zmienne pustymi danymi jesli formularz nie został jeszcze wysłany
$login='';
$haslo='';
$re_haslo='';
$email='';
}
//wyswietlamy formularz
if($pokaz_form!=true){
?>
<style>
table.form{
margin-left: 120px;
font-size: 12px;
}
td.title{
vertical-align: bottom;
text-align: right;
}
td.info{
vertical-align: bottom;
text-align: left;
}
</style>
<table id='bl' align='left' width='100%' >
<tr>
<Td valign='top'>
<table align='left'>
<tr>
<Td align='left'>
<form action="<? $_SERVER['PHP_SELF']; ?>" method="POST">
<table class="form" name="form" border="0px" >
<tbody>
<tr>
<td style="width:80px;"></td>
<td>REJESTRACJA</td>
</tr>
<tr>
<td class="title">Login:</td>
<td class="info">
<input type="text" name="login" value="
<? echo $login; ?>">
<? echo $info_txt_nick; ?></td>
</tr>
<tr>
<td class="title">Hasło:</td>
<td class="info">
<input type="password" name="haslo" value="
<? echo $haslo; ?>">
<? echo $info_txt_haslo; ?></td>
</tr>
<tr>
<td class="title">Powtórz Hasło:</td>
<td class="info">
<input type="password" name="re_haslo" value="
<? echo $re_haslo; ?>">
<? echo $info_txt_re_haslo; ?></td>
</tr>
<tr>
<td class="title">E-Mail:</td>
<td class="info">
<input type="text" name="email" value="
<? echo $email; ?>">
<? echo $info_txt_email; ?></td>
</tr>
<tr>
<td class="title">Data:</td>
<td class="info">
<input type="text" name="data" value="
<? $date = date("Y-m-d H:i:s"); echo $date; ?>">
<? echo $info_txt_data; ?></td>
</tr>
<tr>
<td>
</td>
<td>
<input type="submit" name="wyslij" value="Zarejestruj!!!" >
<input type="button" value="Reset" class="clean" onclick="window.location='<? $_SERVER['PHP_SELF']; ?>' "/>
</td>
</tr>
</tbody>
</table>
</form>
</form>
</td>
</tr>
</table>
</td>
<?
}
else{
return false;
}
?>
</td>
</tr>
</table>
login.php
<?php
include "config.php";
$user_login = $_POST['login'];
$user_pass = $_POST['pass'];
$sql = "SELECT * FROM user WHERE user_name = '".$user_login."' AND user_pass = '".$user_pass."';";
or
die("Podałeś błędny login lub hasło"); if ($rows == 1) {
$_SESSION['user_id'] = $r['user_id'];
$_SESSION['user_name'] = $r['user_name'];
$_SESSION['user_email'] = $r['user_email'];
$_SESSION['user_rights'] = $r['user_rights'];
$_SESSION['user_date'] = $r['user_date'];
header("Location: zaloguj.php"); }
else {
echo "Podałeś błędny login lub hasło... <br> <a href=\"index.php\">Powrót</a>"; }
?>
Kod działa prawidłowo, konta są dodawane i można sie na nie zalogować, chodzi mi tylko o zabezpieczenie hasła.
Będę bardzo wdzięczny za pomoc...