Changeset 376 for trunk/registrace.php


Ignore:
Timestamp:
Mar 11, 2010, 8:40:32 AM (15 years ago)
Author:
george
Message:
  • Upraveno: Informace o přihlášeném uživateli nově pročištěny a sjednoceny do třídy User. SQL pro kontrolu a generovány hesel dostupné přímo přes metodu CryptPasswordSQL. Přístup k Id přihlášeného uživatele přes globální proměnnou $User a vlastnost Id ($User->Id). Podobně přístup k dalším vlastnostem uživatele.
  • Opraveno: Některé chyby z předchozích předělávek.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/registrace.php

    r365 r376  
    22
    33include('includes/global.php');
    4 
    5 ShowPage();
    6  
     4 
    75if(array_key_exists('user', $_POST))
    86{
     
    1412  $Language = $_POST['Language'];
    1513 
    16   if($User == '') die('Nelze použít prázdné jméno');
    17   if($User == 'Addon') die('To jméno uživatele nemůžete použít');
     14  if($UserName != '')
     15  {
     16    if($UserName != 'Addon')
     17    {
    1818
    1919  if($Pass == $Pass2)
    2020  {
    21     $Line = mysql_fetch_row($Database->SQLCommand('SELECT * FROM `User` WHERE `User` = "'.$User.'"'));
     21    $Line = mysql_fetch_row($Database->SQLCommand('SELECT * FROM `User` WHERE `Name` = "'.$UserName.'"'));
    2222    if(!$Line)
    2323    {
    24       $Address = $_SERVER['REMOTE_ADDR'];
    25       $Salt = GetPasswordSalt();
     24      $Salt = $User->GetPasswordSalt();
    2625      $Database->SQLCommand('INSERT INTO `User` (`Name` , `Pass` , `Salt`, `LastIP` , `LastLogin` , `Email` , `Language` , `Team` , `NeedUpdate`, `RegistrationTime` )
    27       VALUES ("'.$UserName.'", sha1(CONCAT(sha1("'.$Pass.'"), "'.$Salt.'")), "'.$Salt.'", "'.$Address.'", NOW(), "'.$Email.'", '.$Language.', '.$Team.', 1, NOW())');
    28       echo('Registrace proběhla úspěšně.<br />');
    29      
    30       $_SESSION['User'] = $UserName;
    31       $_SESSION['Pass'] = $Pass;
    32    
    33       $Line = mysql_fetch_array($Database->SQLCommand('SELECT `ID` FROM `User` WHERE `Name` = "'.$_SESSION['User'].'"'));
    34       $_SESSION['UserID'] = $Line['ID'];
    35       WriteLog('Uživatel se zaregistroval: '.$User, LOG_TYPE_USER);
    36      
    37  // echo $Database->id_connection;
    38     } else echo('Uživatel s touto přezdívkou již existuje. <a href="?">Zpět</a>');
    39   } else echo('Hesla se neshodují. <a href="?">Zpět</a>');
     26      VALUES ("'.$UserName.'", '.$User->CryptPasswordSQL('"'.$Pass.'"', '"'.$Salt.'"').', "'.$Salt.'", "'.$_SERVER['REMOTE_ADDR'].'", NOW(), "'.$Email.'", '.$Language.', '.$Team.', 1, NOW())');
     27      $Message = 'Registrace proběhla úspěšně.<br />';
     28      $User->Login($UserName, $Pass);
     29      WriteLog('Uživatel se zaregistroval: '.$UserName, LOG_TYPE_USER);     
     30    } else $Message = 'Uživatel se zadanou přezdívkou již existuje. <a href="?">Zpět</a>';
     31  } else $Message = 'Hesla se neshodují. <a href="?">Zpět</a>';
     32    } else $Message = 'To jméno uživatele nemůžete použít';
     33  } else $Message = 'Nelze použít prázdné jméno';
     34  ShowPage();
     35  echo($Message);
     36  ShowFooter();     
    4037} else
    4138{
     39  ShowPage();
    4240  echo('<form action="?" method="post">
    4341  <fieldset><legend>Registrace nového uživatele</legend>
Note: See TracChangeset for help on using the changeset viewer.