IlaminiAyebatonyeDagogo Posted November 28, 2013 Share Posted November 28, 2013 (edited) I have a script that is not own Originally this written in PHP5 and a little in getting the session value am going to write paste all login.php <?php session_start(); $error_page = "index.php?error="; $success_page = "../main/log.php"; define("PPDIA_APP", 1); require_once "../models/db.php"; require_once "../models/loginModel.php"; require_once "../models/sessionModel.php"; //Create a new instance of the loginHandler $login = new loginModel(); $login->setDebug(); $login->setCredentials($_POST['username'], $_POST['card_pin']); //Authenticate user $logged_in = $login->authenticateUser(); if( $logged_in ) { sessionModel::init(); sessionModel::setParam("user", $login->getDetails()); $location = $success_page; } else { $error_page .= "Your username and pin combination is invalid"; $location = $error_page; } exit(); header("Location: {$location}#!/page_jamb utme"); ?> Next is sessionModel.php <?php class sessionModel { public static $session_id = "9jsschoo_php_app"; public static function init() { session_start(); $_SESSION[sessionModel::$session_id] = new stdClass(); } public static function setParam($param, $data) { $_SESSION[sessionModel::$session_id]->$param = $data; } public static function resetParam($param) { unset( $_SESSION[sessionModel::$session_id]->$param ); } public static function getParam($param) { return $_SESSION[sessionModel::$session_id]->$param; } } Next is loginModel.php <?php class loginModel extends db { private $credentials; private $enc_pass; private $details; function loginModel() { parent::__construct(); $credentials = new stdClass(); } function setCredentials($username, $password) { $this->credentials->username = $username; $this->credentials->password = $password; $this->enc_pass = $this->encryptPass($password); } function authenticateUser() { $check = $this->fetchData("", "#__users", "username", $this->credentials->username, "password", $this->enc_pass); if( !empty($check) ) { $this->details = (object) $check[0]; return true; } else { return false; } } function getDetails() { return $this->details; } } This Last One Is Not Important db.php <?php //No direct Access defined("PPDIA_APP") or die("Restricted Access"); class db { private $ppdia_conn, $db_res, $md_pass, $db_name; private $table_prefix, $limit; function db() { $this->table_prefix = ""; $this->ppdia_conn = new mysqli( "localhost", "root", "", "skul_solution" ) or die ( "error" ); } function setPrefix($pref) { $this->table_prefix = $pref; } function getResult() { return $this->ppdia_conn; } function setDebug() { $this->debug = true; } function getDebug( $input ) { if( $this->debug ) { print "<div style='background-color: white; color: red;'><hr />"; if( is_array($input) || is_object($input) ) print "<pre>" . print_r( $input, 1 ) . "</pre>"; else print $input; print "<hr /></div>"; } } function myarray( $array ) { print "<pre>"; print_r( $array); print "</pre>"; } function prepareInput( $input ) { if( is_array( $input ) && !empty( $input ) ) { $keys = array_keys( $input ); foreach( $input as $i ) { $k = $keys[$x]; $prepared = $prepared = $this->prepareString($i); $input[$k] = $prepared; $x++; } } else if( is_string( $input ) ) { $input = $this->prepareString($input); } return $input; } function prepareString($string) { $prepared = $this->ppdia_conn->real_escape_string( stripslashes($string) ); return $prepared; } function encryptPass( $pass ) { $spice = 'p0pSyPeD1A_5p1cypa55'; $site_name = "9jaschool_php"; $hash = md5( "Password: " . $pass . $site_name . $spice ); $mdpass = substr( $hash, 0, 17 ) . ":" . substr( $hash, 17, 33 ); //echo $mdpass; $this->getDebug( "<p>" . $mdpass . "</p>" ); /* * For PHP >= 5.5.0 * $mdpass = apps::encryptString($pass); */ //echo $pass . " is " . $mdpass; return $mdpass; } function insertInto( $table, $rows, $values ) { $table = $this->getTable($table); if( is_string($rows) ) $rows = explode( ",", $rows ); if( is_string($values) ) $values = explode( ",", $values ); if( is_array($values) && is_array($rows) && !empty( $values ) ) { $x = 0; $c = count($values); foreach( $values as $v ) { $r = $rows[$x]; if( $v && $r ) $nuval_arr[] = "`". $r . "`='" . $this->prepareString($v) . "' "; else $nuval_arr[] = "`". $r . "`='' "; $x++; } $val = implode(", ", $nuval_arr); } $value_set = $val; $sql_query = "INSERT INTO `" . $table . "` SET " . $value_set; $cm = $this->ppdia_conn; $this->getDebug( $sql_query ); //Insert the data into the database.... $queried = $cm->query( $sql_query ); if( $queried ) { $this->getDebug($cm->insert_id); return $cm->insert_id; } else { return false; } } function updateData( $type='string', $tab_name, $row, $data, $key1='', $value1='', $key2=NULL, $value2=NULL, $no_queries=5, $switch=1 ) { $tab_name = $this->getTable($tab_name); $cm = $this->ppdia_conn; if ( $type=='string' ) { if( !$key2 ) $reg_q = "UPDATE `" . $tab_name. "` SET `" . $row . "` = '" . $data . "' WHERE `" . $key1 . "` = '" . $value1 . "';"; else $reg_q = "UPDATE `" . $tab_name. "` SET `" . $row . "` = '" . $data . "' WHERE `" . $key1 . "` = '" . $value1 . "' AND `" . $key2 . "` = '" . $value2 . "';"; } else { foreach( $row as $ro ) $db_row[] = $ro; foreach( $data as $d ) $udata[] = $d; //print "<pre>"; print_r($udata); print"</pre>"; $x = 0; foreach( $db_row as $key=>$r ) { $sets[] = "`" . $r . "` = '" . $udata[$x] . "'"; $x++; } if( !$key2 ) $where = "WHERE `" . $key1 . "` = '" . $value1 . "';"; else $where = "WHERE `" . $key1 . "` = '" . $value1 . "' AND `" . $key2 . "` = '" . $value2 . "';"; $reg_q = "UPDATE `" . $tab_name. "` SET " . implode(", ", $sets) . " " . $where; } $this->getDebug($reg_q); $reg = $cm->query( $reg_q ); $res = $reg->affected_rows; return $res; } function checkDb() { if ( !$this->ppdia_conn ) return "Could Not Connect to The Database"; else return true; } function getType($data) { if( !is_numeric($data) ) $data = "'" . $data . "'"; return $data; } function getTable($tname) { return str_replace( "#__", $this->table_prefix, $tname ); } function getTableCols($table) { $table_name = $this->getTable($table); $sql = "SELECT table_name, column_name, data_type, data_length FROM USER_TAB_COLUMNS WHERE table_name = '" . $table_name . "';"; //Mysql specific.. $sql = "SHOW FIELDS FROM `" . $table_name . "`;"; return $this->customQuery($sql); } function setLimit($start, $length) { $this->limit = " LIMIT {$start}, {$length} "; } function fetchData( $data, $t_name, $row1=NULL, $rowdata1=NULL, $row2=NULL, $rowdata2=NULL, $switch=1 ) //fetch all data from a table. { $cm = $this->ppdia_conn; $t_name = $this->getTable($t_name); $rowdata1 = $this->getType($rowdata1); $rowdata2 = $this->getType($rowdata2); if ( !$data ) $data = '*'; if( !$row1 ) $sql = "SELECT " . $data . " FROM `" . $t_name . "`{$this->limit};"; else if ( !$row2 ) $sql = "SELECT " . $data . " FROM `" . $t_name . "` WHERE `" . $row1 . "`=" . $rowdata1 . "{$this->limit};"; else $sql = "SELECT " . $data . " FROM `" . $t_name . "` WHERE `" . $row1 . "`=" . $rowdata1 . " AND `" . $row2 . "`=" . $rowdata2 . "{$this->limit};"; $this->getDebug( $sql ); $result = $cm->query( $sql ); if($result) while( $res = $result->fetch_assoc() ) { $rawdata = $res; if( !empty($rawdata) ) { $output[] = $rawdata; } } if( !$switch ) $result->close; $this->getDebug( $output ); return $output; } function customQuery( $sql, $switch=1 ) { $cm = $this->ppdia_conn; $sql = $this->getTable($sql); $this->getDebug( $sql ); $result = $cm->query( $sql ); if( $result && ( preg_match("/select/",strtolower($sql)) || preg_match('/show fields/',strtolower($sql)) ) ) { if( preg_match("/from/",strtolower($sql)) ) { $res = array(); while( @$res[] = $result->fetch_assoc() ) { $output = $res; } } } $this->getDebug( $output ); return $output; } function checkTable() { $result = $this->fetchData( "", $this->getTableName() ); if( $result ) return true; else return false; } function deleteData( $table, $key, $value ) { $table = $this->getTable($table); $sql = "DELETE FROM `" . $table . "` WHERE `" . $key . "`='" . $value . "'"; $this->getDebug( $sql ); $deleted = $this->ppdia_conn->query($sql); return $this->ppdia_conn->affected_rows; } } Thanks I Just want the session to use on another file that need session to work may be the file that need the session is below <?php // PHP Script Chat - coursesweb.net define('MAXROWS', 30); // Maximum number of rows registered for chat define('CHATLINK', 1); // allows links in texts (1), not allow (0) // Here create the rooms for chat // For more rooms, add lines with this syntax $chatrooms[] = 'room_name'; $chatrooms = array(); $chatrooms[] = 'English'; $chatrooms[] = 'Government'; $chatrooms[] = 'Economics'; $chatrooms[] = 'Commerce'; $chatrooms[] = 'C.R.K'; // password used to empty chat rooms after this page is accessed with ?mod=admin define('CADMPASS', 'adminpass'); /* For example, access in your browser http://domain/chatfiles/setchat.php?mod=admin */ // If you want than only the logged users to can add texts in chat, sets CHATADD to 0 // And sets $_SESSION['username'] with the session that your script uses to keep logged users define('CHATADD', 0); if(CHATADD !== 1) { if(isset($_SESSION["9jsschoo_php_app"])) define('CHATUSER', $_SESSION["9jsschoo_php_app"]);; } // Name of the directory in which are stored the TXT files for chat rooms define('CHATDIR', 'chattxt'); include('texts.php'); // file with the texts for different languages $lsite = $en_site; // Gets the language for site if(!headers_sent()) header('Content-type: text/html; charset=utf-8'); // header for utf-8 // include the class ChatSimple, and create objet from it include('class.ChatSimple.php'); $chatS = new ChatSimple($chatrooms); // if this page is accessed with mod=admin in URL, calls emptyChatRooms() method if(isset($_GET['mod']) && $_GET['mod'] == 'admin') $chatS->emptyChatRooms(); this is the part where i have to put the session if(isset($_SESSION[""])) define('CHATUSER', $_SESSION[""]);; files that i suppose to contain the session Edited November 28, 2013 by IlaminiAyebatonyeDagogo Quote Link to comment https://forums.phpfreaks.com/topic/284361-session-not-recongised/ Share on other sites More sharing options...
Ch0cu3r Posted November 28, 2013 Share Posted November 28, 2013 (edited) I guess the question is you want to set the CHATUSER constant to the user's username?  If thats the case. Looking at your code when the user logs in successfully you are saving the users data stored in the database into the $_SESSION["9jsschoo_php_app"] variable.  Try using if(isset($_SESSION["9jsschoo_php_app"])) define('CHATUSER', $_SESSION["9jsschoo_php_app"]['username']); if that doesn't work then what is the output of printf('<pre>%s</pre>', print_r($_SESSION["9jsschoo_php_app"], 1)); Edited November 28, 2013 by Ch0cu3r Quote Link to comment https://forums.phpfreaks.com/topic/284361-session-not-recongised/#findComment-1460528 Share on other sites More sharing options...
IlaminiAyebatonyeDagogo Posted November 28, 2013 Author Share Posted November 28, 2013 got this error Fatal error: Cannot use object of type stdClass as array in /home/skulsolu/public_html/main/jamb/chatfiles/setachat.php on line 29 Quote Link to comment https://forums.phpfreaks.com/topic/284361-session-not-recongised/#findComment-1460529 Share on other sites More sharing options...
IlaminiAyebatonyeDagogo Posted November 28, 2013 Author Share Posted November 28, 2013 this is the output stdClass Object ( [user] => stdClass Object ( [id] => 10 [username] => gospel4me [password] => 82c8bdde79b755f81:0832f5422e5a4d4 [email] => gospel@ymail.com [phone] => 804990498 [address] => [pin_id] => 7200 [segment] => jamb [date_created] => 2013-11-18 06:03:05 ) ) Quote Link to comment https://forums.phpfreaks.com/topic/284361-session-not-recongised/#findComment-1460530 Share on other sites More sharing options...
Solution Ch0cu3r Posted November 28, 2013 Solution Share Posted November 28, 2013 Try if(isset($_SESSION["9jsschoo_php_app"])) define('CHATUSER', $_SESSION["9jsschoo_php_app"]->user->username); Quote Link to comment https://forums.phpfreaks.com/topic/284361-session-not-recongised/#findComment-1460531 Share on other sites More sharing options...
IlaminiAyebatonyeDagogo Posted November 28, 2013 Author Share Posted November 28, 2013 Got this error Warning: Constants may only evaluate to scalar values in /home/skulsolu/public_html/main/jamb/chatfiles/setachat.php on line 29 Quote Link to comment https://forums.phpfreaks.com/topic/284361-session-not-recongised/#findComment-1460532 Share on other sites More sharing options...
Ch0cu3r Posted November 28, 2013 Share Posted November 28, 2013 Post line 29 Quote Link to comment https://forums.phpfreaks.com/topic/284361-session-not-recongised/#findComment-1460533 Share on other sites More sharing options...
IlaminiAyebatonyeDagogo Posted November 28, 2013 Author Share Posted November 28, 2013 Please Dont Be Offended You Got with your Previous Code Thanks Alot Quote Link to comment https://forums.phpfreaks.com/topic/284361-session-not-recongised/#findComment-1460534 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.