Pogledajte određenu poruku
Staro 19. 11. 2012.   #4
Ivan988
novi član
 
Datum učlanjenja: 13.11.2012
Lokacija: Pancevo
Poruke: 3
Hvala: 4
0 "Hvala" u 0 poruka
Ivan988 is on a distinguished road
Default

Ne ne, ali meni su za jedan posao trazili CI, pa sam resio da prvo njega naucim.

Poceo sam da pisem jednu klasu (moju prvu klasu, zato budite nezni ), tek sam poceo sa njom, tako da imam jos par metoda da dodam i nesto da popravim.

PHP kôd:
<?php

/**
 * Users
 * 
 * Class for registering new users
 *
 * @author Ivan Toncev 
 */
class Users {
    
    protected 
$conn;    //db connection
    
protected $formStatus//status of form inputs
    
protected $tableName//name of db table where 
    
    
    /**
     * 
     * Connecting to database
     * 
     * @param string $db Name of Database
     * @param string $user User name for MySQL
     * @param string $pass Password for MySQL
     * @param string $host OPTIONAL default is localhost
     */
    
public function __construct($db$user$pass$tableName$host 'localhost'){
        
        try
        {
            
$this->tableName $tableName;
            
$this->conn = new PDO("mysql:host={$host};dbname={$db}"$user$pass);
            
$this->conn->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
        }
        catch(
PDOException $e){
            echo 
'Error: '.$e->getMessage();
        }
        
    }
        
        
/**
         * 
         * This method will validate form
         * 
         * NEED TO BE FIXED
         * 
         * @return boolean
         */
        
protected function checkInputs($userName$password$repPassword$email)
        {
            
            if(!
$userName){
                
$this->formStatus "You must fill User Name field<br />";
                return 
FALSE;
            }
            if(!
$password){
                
$this->formStatus "You must fill Password field<br />";
                return 
FALSE;
            }
            if(
$password !== $repPassword){
                
$this->formStatus "Password and Repeat Password field don't match<br />";
                return 
FALSE;
            }
            if(!
$email){
                
$this->formStatus "You must fill email field<br />";
                return 
FALSE;
            }
            
            return 
TRUE;

        }
        
        
        
/**
         * 
         * Insert new User 
         * 
         * @param string $userName
         * @param string $password
         * @param string $repPassword
         * @param string $email
         * @throws Exception
         */
        
public function createNewUser($userName$password,$repPassword$email)
        {
            
            try
            {
                
                if(!
$this->checkInputs($userName$password$repPassword$email)){
                    throw new 
Exception($this->formStatus);
                }
                
                
$sql "INSERT INTO $this->tableName(userName, password, email) 
                            VALUES(:userName, :password, :email)"
;
                
$stmt=$this->conn->prepare($sql);
                
$stmt->execute(array("userName"=>$userName"password"=>$password"email"=>$email)) 
                            or die(
"Could not insert data in database");
                echo 
"Success<br /><a href='signUp.php'>Back</a>";
                
            } 
            catch(
Exception $e)
            {
                echo 
$e->getMessage();
                echo 
"<a href='signUp.php'>Back</a> ";
            }
            
        }
    
}

?>
Jos jednom da kazem, nije ni blizu kraju. A verovatno ima i gresaka u spelovanju...

Poslednja izmena od Ivan988 : 19. 11. 2012. u 21:17.
Ivan988 je offline   Odgovorite uz citat