Problem z klasą Rejestracja

0

Dzin za odpowiedz, ale sam sie tego dopatrzyłem bo dwa razy wywołanie tej samej funkcji poza klasa

Witam ponownie .Już mam takie nerwy że szok z niczym nie maiłem wiekszych problemów jak z tym skryptem rejestracji Jedno co mi nie działa to ze jak nawet wpisze dane w formularz czy ich nie wpisze to tak mi sie pokazuja błedy tzn nie podałes loginu nie podałes hasła , taki user istnieje .i nie do konca catch i try dziaął tzn jak nic nie wpisze to mi tylko podaje Nie podałes loginu a reszta jak by gdzieś gineła i sie nie wyświetlała .A i zrobiłem an ifach ten system zeby sprawzdał czy dany user podał haslo i login ale to teraz nie do konca działa bo i tak puste pola mi sie dodaja w abzie czy ktoś może mi w końcu pokazać na przykładzie jak to powinoo działać i wygladać

<?php
header("Content-type: text/html; charset=utf-8");
class Rejestracja
{
           private $login;
            private $haslo;
            private $haslotwo;

 function __construct()  {
   include_once('config_database.php');
  //odbieranie danych


                  $this->login=$_POST['login'];
                  $this->haslo=$_POST['haslo'];
                  $this->haslotwo=$_POST['haslotwo'];       
               
                  }
   
        
   
        public function sprawdzanie_formularza()
        {
            
                if(empty($this->login))
                {
                    throw new  Exception("b�ad nie poda�es loginu");
                }
                if(empty($this->haslo))
                {
                    throw  new Exception("B��d nie poda�e� hasla");
                }
                if (empty($this->haslotwo)) {
                    throw  new Exception("B��d nie poda�e� hasla");
                }
              exit();  
        }
        
             

        
        
   public function polaczenie()   {
    $polaczenie = mysql_connect(CONNECT,USER,PASSWORD) or die(connect_error);
     mysql_select_db(DATABASE) or die(database_error);                    
     }
    public function spraw_user()  {
   $zapytanielog = "SELECT * FROM `user` WHERE login='" .$this->login . "'";
   $sprawdzlog = mysql_query($zapytanielog) or die(mysql_error());
  /* return*/ $num_rows= mysql_num_rows($sprawdzlog) > 0;   
     $ob=mysql_fetch_object($sprawdzlog);             
       }
    public function spradzanie_hasla()  {
                            
   if ($this->haslo!=$this->haslotwo);
  
    }
    public function sprawdzanie_loginu()
    {
    if($this->login==$ob->login);
 
    }
    public function rej_user()  {
   $zapisrej="INSERT INTO `user`(`login`,`haslo`)VALUES('" . $this->login . "','" . $this->haslo . "')";
    return mysql_query($zapisrej);
    }
}
$start=new Rejestracja();
if (!isset($_POST['rej']))
{
try{
   $start->sprawdzanie_formularza();
}
catch(Exception $e)
{
   echo $e->getMessage();
}
}

if(!$start->spradzanie_hasla())
{
    echo"Podajeś złe hasło";
}
if(!$start->sprawdzanie_loginu())
{
    echo "Taki user istnieje";
}
$start->polaczenie();
if ($start->spraw_user())
{
 echo "strona rejestracji";  
}

if (!$start->rej_user())
{
       echo "Nie udalo sie dodac usera";
}

?>

Bardzo bym prośił o pokazenie tego jako kodu .troche mi ort! że w php pisze już ponad 1,5 roku a i tak mało wiem i nie do końca wiem jak cos zrobić, ale człowiek uczy sie przeż całe zycie

//do kodu jest < code>, a te numerki to chyba nie jest kod :> Mógłbyś chociaż spojrzeć co wkleiłeś zanim wysłałeś - n

0

Ja bym to napisał tak. Dopisz tylko obsługę wyjątków i będzie ok.

<?php

class Rejestracja {

	private $login;
	private $haslo;
	private $hasloTwo;
	
	private $polaczenie;
	private $czyIstniejeU;
	
	public function __construct($post) {
		// tu zalcz plik config
		$this->login = $post['login'];
		$this->haslo = $post['haslo'];
		$this->hasloTwo = $post['hasloTwo'];
		$this->polaczenie = mysql_connect('','','');
		mysql_select_db('');
		$this->czyIstniejeU = false;
	}
	
	private function sprawdzFormularz() {
		$formOk = true;
		
		if(empty($this->login))	{
			$formOk = false;
			throw new  Exception("Nie podano loginu.");
		}
		if(empty($this->haslo))	{
			$formOk = false;
			throw  new Exception("Nie podano hasla.");
		}
		if (empty($this->hasloTwo)) {
			$formOk = false;
			throw  new Exception("Nie podano hasla 2.");
		}
		if($this->haslo != $this->hasloTwo) {
			$formOk = false;
			throw  new Exception("Hasla musza byc identyczne.");		
		}
		return $formOk;
	}
	
	private function czyIstnieje() {
		$zapytanielog = "SELECT COUNT(*) FROM `uzytkownik` WHERE login='" .$this->login . "'";
		$sprawdzlog = mysql_query($zapytanielog);
		$wynik= mysql_fetch_array($sprawdzlog);
		var_dump($wynik);
		if($wynik[0] > 0) {
			$this->czyIstniejeU = true;
		}
	}
	
	public function dodajUzytkownika() {
		if($this->sprawdzFormularz() && $this->czyIstnieje()) {
			$zapytanie = "INSERT INTO `uzytkownik`(`login`,`haslo`)VALUES('" . $this->login . "','" . $this->haslo . "')";
			return mysql_query($zapytanie);
		}
	}
	
	public function __destruct() {
		mysql_close($this->polaczenie);
		unset($this->polaczenie);
		unset($this->login);
		unset($this->haslo);
		unset($this->hasloTwo);
	}
}

$uzytkownik['login'] = 'test';
$uzytkownik['haslo'] = 'test123';
$uzytkownik['hasloTwo'] = 'test123';

$rejestracja = new Rejestracja($uzytkownik);
$rejestracja->dodajUzytkownika();
?>

1 użytkowników online, w tym zalogowanych: 0, gości: 1