Error handling in PHPRD April 05, 2020, 09:27:40 PM hi , anyone can help me i got this problem Error 500Server ErrorException TracesThis will only be displayed in DEVELOPMENT_MODE.Error Message SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '= 'sam' LIMIT 1' at line 1File C:\xampp\htdocs\myproject\app\models\PDODb.php On Line 1045Stack Trace 1 C:\xampp\htdocs\myproject\app\models\PDODb.php(1045): PDOStatement->execute()2 C:\xampp\htdocs\myproject\app\models\PDODb.php(1079): PDODb->get('manifet', 1, '*')3 C:\xampp\htdocs\myproject\app\controllers\IndexController.php(28): PDODb->getOne('manifet')4 C:\xampp\htdocs\myproject\app\controllers\IndexController.php(88): IndexController->login_user('sam', 'admin', false)5 C:\xampp\htdocs\myproject\system\Router.php(196): IndexController->login(Array)6 C:\xampp\htdocs\myproject\system\Router.php(109): Router->run('index/login/')7 C:\xampp\htdocs\myproject\index.php(106): Router->init() Quote Selected
Re: Error handling in PHPRD Reply #1 – April 06, 2020, 01:52:19 AM @Mohammad please provide a screenshot of this IndexController.php line 28 Quote Selected
Re: Error handling in PHPRD Reply #2 – April 06, 2020, 02:11:39 AM Hello , Please check below code #<?php /** * Index Page Controller * @category Controller */class IndexController extends BaseController{ function __construct(){ parent::__construct(); $this->tablename = "users"; } /** * Index Action * @return null */ function index(){ if(user_login_status() == true){ $this->redirect(HOME_PAGE); } else{ $this->render_view("index/index.php"); } } private function login_user($username , $password_text, $rememberme = false){ $db = $this->GetModel(); $username = filter_var($username, FILTER_SANITIZE_STRING); $db->where("user_name", $username)->orWhere("email", $username); $tablename = $this->tablename; $user = $db->getOne($tablename); if(!empty($user)){ //Verify User Password Text With DB Password Hash Value. //Uses PHP password_verify() function with default options $password_hash = $user['password']; $this->modeldata['password'] = $password_hash; //update the modeldata with the password hash if(password_verify($password_text,$password_hash)){ unset($user['password']); //Remove user password. No need to store it in the session set_session("user_data", $user); // Set active user data in a sessions //if Remeber Me, Set Cookie if($rememberme == true){ $sessionkey = time().random_str(20); // Generate a session key for the user //Update user session info in database with the session key $db->where("id", $user['id']); $res = $db->update($tablename, array("login_session_key" => hash_value($sessionkey))); if(!empty($res)){ set_cookie("login_session_key", $sessionkey); // save user login_session_key in a Cookie } } else{ clear_cookie("login_session_key");// Clear any previous set cookie } $redirect_url = get_session("login_redirect_url");// Redirect to user active page if(!empty($redirect_url)){ clear_session("login_redirect_url"); return $this->redirect($redirect_url); } else{ return $this->redirect(HOME_PAGE); } } else{ //password is not correct return $this->login_fail("Username or password not correct"); } } else{ //user is not registered return $this->login_fail("Username or password not correct"); } } /** * Display login page with custom message when login fails * @return BaseView */ private function login_fail($page_error = null){ $this->set_page_error($page_error); $this->render_view("index/login.php"); } /** * Login Action * If Not $_POST Request, Display Login Form View * @return View */ function login($formdata = null){ if($formdata){ $modeldata = $this->modeldata = $formdata; $username = trim($modeldata['username']); $password = $modeldata['password']; $rememberme = (!empty($modeldata['rememberme']) ? $modeldata['rememberme'] : false); $this->login_user($username, $password, $rememberme); } else{ $this->set_page_error("Invalid request"); $this->render_view("index/login.php"); } } /** * Insert new record into the user table * @param $formdata array from $_POST * @return BaseView */ function register($formdata = null){ if($formdata){ $request = $this->request; $db = $this->GetModel(); $tablename = $this->tablename; $fields = $this->fields = array("user_name","password","email","photo","status"); //registration fields $postdata = $this->format_request_data($formdata); $cpassword = $postdata['confirm_password']; $password = $postdata['password']; if($cpassword != $password){ $this->view->page_error[] = "Your password confirmation is not consistent"; } $this->rules_array = array( 'user_name' => 'required', 'password' => 'required', 'email' => 'required|valid_email', 'photo' => 'required', 'status' => 'required', ); $this->sanitize_array = array( 'user_name' => 'sanitize_string', 'email' => 'sanitize_string', 'photo' => 'sanitize_string', 'status' => 'sanitize_string', ); $this->filter_vals = true; //set whether to remove empty fields $modeldata = $this->modeldata = $this->validate_form($postdata); $password_text = $modeldata['password']; //update modeldata with the password hash $modeldata['password'] = $this->modeldata['password'] = password_hash($password_text , PASSWORD_DEFAULT); //Check if Duplicate Record Already Exit In The Database $db->where("user_name", $modeldata['user_name']); if($db->has($tablename)){ $this->view->page_error[] = $modeldata['user_name']." Already exist!"; } //Check if Duplicate Record Already Exit In The Database $db->where("email", $modeldata['email']); if($db->has($tablename)){ $this->view->page_error[] = $modeldata['email']." Already exist!"; } if($this->validated()){ $rec_id = $this->rec_id = $db->insert($tablename, $modeldata); if($rec_id){ $this->login_user($modeldata['email'] , $password_text); return; } else{ $this->set_page_error(); } } } $page_title = $this->view->page_title = "Add New Users"; return $this->render_view("index/register.php"); } /** * Logout Action * Destroy All Sessions And Cookies * @return View */ function logout($arg=null){ Csrf::cross_check(); session_destroy(); clear_cookie("login_session_key"); $this->redirect(""); }} Quote Selected
Re: Error handling in PHPRD Reply #3 – April 06, 2020, 02:45:00 AM Quote from: willvin – April 06, 2020, 01:52:19 AM@Mohammad please provide a screenshot of this IndexController.php line 28 I need a screenshot showing line 28 in that file, not the code. Quote Selected
Re: Error handling in PHPRD Reply #4 – April 06, 2020, 01:17:58 PM hi Willvin ,can please help to sort this problem . in the Localhost server when i accessing the import or export the file i got error 500php is not getting the database and csrf_token=371ce9edfeeb98c14a46d27583c219ec casing .htacss is denied Apache .Same thing is happening when i upload the database application in live server its same problem .i did the enable function of htacess but doesn't work .\\it will highly appreciated in advance for helping . i intend to buy license but im not happy to see its not functional . thanksMohammad Quote Selected
Re: Error handling in PHPRD Reply #5 – April 06, 2020, 03:18:16 PM Quote from: Mohammad – April 06, 2020, 01:17:58 PMhi Willvin ,can please help to sort this problem . in the Localhost server when i accessing the import or export the file i got error 500php is not getting the database and csrf_token=371ce9edfeeb98c14a46d27583c219ec casing .htacss is denied Apache .Same thing is happening when i upload the database application in live server its same problem .i did the enable function of htacess but doesn't work .\\it will highly appreciated in advance for helping . i intend to buy license but im not happy to see its not functional . thanksMohammad This is not an issue with phprad, its an issue with the database credentials you supplied to phprad to use for the connection. The MySQL server is rejecting the credentials because it is wrong, please use the correct credentials. Quote Selected