Mine sisusse
Otsi siit
  • Rohkem valikuid...
Otsi tulemusi mis sisaldab...
Otsi tulemusi...
Külaline PlayFriik

-

Soovitatud postitused

Database

CREATE TABLE `andmed` (
 `ID` int(75) NOT NULL AUTO_INCREMENT,
 `kasutajanimi` varchar(15) NOT NULL,
 `parool` varchar(45) NOT NULL,
 PRIMARY KEY (`ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=23 ;

 

class.mysql.php

$host="";
$username="";
$password="";
$database="";

mysql_connect($host,$username,$password) or die(mysql_error());
@mysql_select_db($database) or die(mysql_error());
?>

 

class.register.php

class Register
{
 private $username;
 private $password;
 private $password2;
 private $passmd5;
 private $email;
 private $email2;

 private $errors;
 private $rtoken;

 public function __construct()
 {
   $this->errors = array();

   $this->username = $this->filter($_POST['ruser']);
   $this->password = $this->filter($_POST['rpass']);
$this->password2 = $this->filter($_POST['rpass2']);
   $this->email    = $this->filter($_POST['remail']);
$this->email2	= $this->filter($_POST['remail2']); 
   $this->rtoken    = $_POST['rtoken'];

   $this->passmd5  = md5($this->password);
 }

 public function process()
 {
   if($this->valid_rtoken() && $this->valid_data())
        $this->register();

   return count($this->errors)? 0 : 1;
 }

 public function filter($var)
 {
   return preg_replace('/[^a-zA-Z0-9@.]/','',$var);
 }
 public function register()
 {
  mysql_query("INSERT INTO andmed(kasutajanimi,parool,email) VALUES ('{$this->username}','{$this->passmd5}','{$this->email}')");

  if(mysql_affected_rows()     $this->errors[] = 'Andmebaasi viga';
 }

 public function user_exists()
 {
   $data = mysql_query("SELECT ID FROM andmed WHERE kasutajanimi = '{$this->username}'");

   return mysql_num_rows($data)? 1 : 0;
 }

 public function email_exists()
 {
   $data = mysql_query("SELECT ID FROM andmed WHERE email = '{$this->email}'");

   return mysql_num_rows($data)? 1 : 0;
 }

 public function show_errors()
 {
   echo "";

   foreach($this->errors as $key=>$value)
     echo $value."
";
 }

 public function valid_data()
 {
   if($this->user_exists())
     $this->errors[] = 'Kasutajanimi juba kasutuses';
   if($this->email_exists())
     $this->errors[] = 'E-post juba kasutuses';
   if(empty($this->username))
     $this->errors[] = 'Vigane kasutajanimi';
   if(empty($this->password))
     $this->errors[] = 'Vigane parool';
   if($this->password != $this->password2)
     $this->errors[] = 'Paroolid ei ühti';
   if(empty($this->email) || !eregi('^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z]{2,4}$',$this->email))
     $this->errors[] = 'Vigane e-post';
if($this->email != $this->email2)
     $this->errors[] = 'E-postid ei ühti';

 return count($this->errors)? 0 : 1;
 }


 public function valid_rtoken()
 {
  if(!isset($_SESSION['rtoken']) || $this->rtoken != $_SESSION['rtoken'])
    $this->errors[] = 'Kontrollige andmeid';

  return count($this->errors)? 0 : 1;
 }
}

?>

class.login.php

class Login
{
 private $_id;
 private $_kasutajanimi;
 private $_parool;
 private $_passmd5;

 private $_errors;
 private $_access;
 private $_login;
 private $_token;

 public function __construct()
 {
   $this->_errors = array();
   $this->_login  = isset($_POST['login'])? 1 : 0;
   $this->_access = 0;
   $this->_token  = $_POST['token'];

   $this->_id       = 0;
   $this->_kasutajanimi = ($this->_login)? $this->filter($_POST['kasutajanimi']) : $_SESSION['kasutajanimi'];
   $this->_parool = ($this->_login)? $this->filter($_POST['parool']) : '';
   $this->_passmd5  = ($this->_login)? md5($this->_parool) : $_SESSION['parool'];
 }

 public function isLoggedIn()
 {
   ($this->_login)? $this->verifyPost() : $this->verifySession();
   return $this->_access;
 }

 public function filter($var)
 {
   return preg_replace('/[^a-zA-Z0-9]/','',$var);
 }

 public function verifyPost()
 {
   try
   {
     if(!$this->isTokenValid())
        throw new Exception('Vigane vorm esitatud');

     if(!$this->isDataValid())
        throw new Exception('Valed andmed esitatud');

     if(!$this->verifyDatabase())
        throw new Exception('Kasutajanimi ja parool ei klapi');

   $this->_access = 1;
   $this->registerSession();
   }
   catch(Exception $e)
   {
     $this->_errors[] = $e->getMessage();
   }
 }

 public function verifySession()
 {
   if($this->sessionExist() && $this->verifyDatabase())
      $this->_access = 1;
 }

 public function verifyDatabase()
 {
   $data = mysql_query("SELECT id FROM andmed WHERE kasutajanimi = '{$this->_kasutajanimi}' AND parool = '{$this->_passmd5}'");

   if(mysql_num_rows($data))
     {
       list($this->_id) = @array_values(mysql_fetch_assoc($data));
       return true;
     }
   else
     { return false; }
 }

 public function isDataValid()
 {
   return (preg_match('/^[a-zA-Z0-9]{5,12}$/',$this->_kasutajanimi) && preg_match('/^[a-zA-Z0-9]{5,12}$/',$this->_parool))? 1 : 0;
 }

 public function isTokenValid()
 {
   return (!isset($_SESSION['token']) || $this->_token != $_SESSION['token'])? 0 : 1;
 }

 public function registerSession()
 {
   $_SESSION['id'] = $this->_id;
   $_SESSION['kasutajanimi'] = $this->_kasutajanimi;
   $_SESSION['parool'] = $this->_passmd5;
mysql_query("INSERT INTO logid(kasutaja) VALUES ('{$this->_kasutajanimi}')");
 }

 public function sessionExist()
 {
   return (isset($_SESSION['kasutajanimi']) && isset($_SESSION['parool']))? 1 : 0;
 }

 public function showErrors()
 {
   echo "";

   foreach($this->_errors as $key=>$value)
     echo $value."
";
 }
}

?>

index.php

session_start();
include 'class.mysql.php';
include 'class.login.php';
?>

if(isset($_POST['login'])) {

 $login = new Login();

 if($login->isLoggedIn())
    header('location: sees.php');
 else 
   $login->showErrors();
}
$token = $_SESSION['token'] = md5(uniqid(mt_rand(),true));

$login = new Login();

if($login->isLoggedIn()) {
header('location: sees.php');
} 
else 
?>
</pre><form method="POST" action="<?php%20echo%20%24_SERVER%5B'PHP_SELF'%5D;?>">

Kasutajanimi:
Parool:



</form><br><a href="registreeru.php" rel="">Registree

 

registreeru.php

session_start();
include('class.mysql.php');
include('class.login.php');
include('class.register.php');

if(isset($_POST['register'])) {

 $register = new Register();

 if($register->process())
   echo "Liitumine õnnestus";
 else
   $register->show_errors();
}
$rtoken = $_SESSION['rtoken'] = md5(uniqid(mt_rand(),true));

$login = new Login();

if($login->isLoggedIn()) {
header('location: sees.php');
} 
else 
?>
</pre><form method="POST" action="<?php%20echo%20%24_SERVER%5B'PHP_SELF'%5D;%20?>">

Kasutajanimi:
Parool:
Parool uuesti:
E-post:
E-pst uuesti:



<

 

sees.php

session_start();
include('class.mysql.php');
include('class.login.php');

$login = new Login();

if($login->isLoggedIn()) {
$order = "SELECT * FROM andmed WHERE kasutajanimi ='".$_SESSION['kasutajanimi']."'";
$result = mysql_query($order);	

while($andmed = mysql_fetch_row($result)){ 
echo "</pre><li>Tere ".$_SESSION['kasutajanimi']."</li>"; <br>echo "<a href="logoff.php" rel="">Logi välja</a>";<br>}<br>} else<br>header('location: index.php');<br

 

logoff.php

session_start();

session_destroy();
header('location: index.php');
?>


eit.png

Jaga seda postitust


Postituse link
Share on other sites

Lootsin küll et keegi enne mind postitab siia, kuid jeh,

Kui sa koodi oleksid vaatanud, kasvõi registeerimis lehte, oleksid aru saanud et andmebaasis pole eposti rida. Kustuta vana database ja asenda sellega

CREATE TABLE `andmed` (
 `ID` int(75) NOT NULL AUTO_INCREMENT,
 `kasutajanimi` varchar(15) NOT NULL,
 `parool` varchar(45) NOT NULL,
 `email` varchar(45) NOT NULL,
 PRIMARY KEY (`ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


eit.png

Jaga seda postitust


Postituse link
Share on other sites
Külaline PlayFriik
Author of the topic Postitas

Nüüd, kui liitumine õnnestus ja logima hakkan, siis ütleb "Valed andmed esitatud". Keegi teab milles probleem?

Jaga seda postitust


Postituse link
Share on other sites

Miks Te endale kedagi ei palka, kes selle ära teeks, nagu ma aru olen saanud, pole programmeerimine Teile mõeldud!

//tõesti, mai jõua enam igat sammu parandada! Kui elementaarsete asjadega hakkama ei saa, otsi keegi, kes asja jagab! Usun et olen piisavalt siin abiks olnud, ikkagi ma aitan, mitte ma ei tee kõike ette!

Muudetud liikme s0wh4t?'i poolt

eit.png

Jaga seda postitust


Postituse link
Share on other sites
Miks Te endale kedagi ei palka, kes selle ära teeks, nagu ma aru olen saanud, pole programmeerimine Teile mõeldud!

//tõesti, mai jõua enam igat sammu parandada! Kui elementaarsete asjadega hakkama ei saa, otsi keegi, kes asja jagab! Usun et olen piisavalt siin abiks olnud, ikkagi ma aitan, mitte ma ei tee kõike ette!

Mdea, ma sain sinu abiga juba suht üles sätitud, polnud mingit probleemi. ;)


41265.gif

WizKhalifa3.png

amsn.pngWiz@Vip.ee

Jaga seda postitust


Postituse link
Share on other sites
Mdea, ma sain sinu abiga juba suht üles sätitud, polnud mingit probleemi. ;)

 

No täpselt, kes asjast üht-teist ikka jagab, saab üles panemisega hakkama. Kes sellega isegi hakkama ei saa, minu arust oleks mõistlik pooleli jätta oma tegemised, või ma eksin?


eit.png

Jaga seda postitust


Postituse link
Share on other sites
VIP

Eks dumbuserid ootavadki, et neile kõik ära tehtaks.. minu arvates oled sa juba selle teemaga abistanud rohkem kui küll.


pic.php?id=9Skype triple.-

Jaga seda postitust


Postituse link
Share on other sites
Külaline misterx
Author of the topic Postitas

Vahvlis ongi ju nii, aitad kedagi natuke ja tema loodab, et aitad teda elu lõpuni.

Jaga seda postitust


Postituse link
Share on other sites
Külaline misterx
Author of the topic Postitas

Ära kirjuta neile ühtegi rida koodi vaid seleta, mis nad tegema peavad.

Jaga seda postitust


Postituse link
Share on other sites
Külaline PlayFriik
Author of the topic Postitas

Natuke OT ei lähe juba teie jutt? Ma küsisin vaid abi, et kas mõnel on anda Muuda koodi ja ongi kõik, mitte mingit ette-taha ära tegemist.

Jaga seda postitust


Postituse link
Share on other sites
Külaline PlayFriik
Author of the topic Postitas

Tekkis viga, kui tahtsin muuta andmeid ja adminisse sisse logisin.

 

Pilt:

 

date.png

Jaga seda postitust


Postituse link
Share on other sites

Kommentaari lisamiseks loo konto või logi sisse

Kommenteerimiseks peate olema liige

Loo konto

Liituge meie kommuuni uue kontoga. See on lihtne!

Loo uus konto

Logi sisse

On juba konto? Logi sisse siit.

Logi sisse nüüd

×
×
  • Loo uus...

Oluline informatsioon

Selle veebisaidi paremaks muutmiseks oleme teie seadmesse paigutanud küpsised . Võite kohandada oma küpsiste seadeid , vastasel juhul eeldame, et te olete küpsiste kasutamisega nõus kui jätkate veebisaidil sirvimist.. Palun lugege läbi Kasutustingimused ja Privaatsuspoliitika.