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
![Big Grin](images/smilies/biggrin.gif)
), 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_ERRMODE, PDO::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...
![1087](images/smilies/more/1087.gif)