Jump to content

JadWS

Members
  • Posts

    25
  • Joined

  • Last visited

JadWS's Achievements

Newbie

Newbie (1/5)

0

Reputation

  1. Hey there, I have been looking around on stackoverflow and on google for a solution to my problem but always ran to one of the two problems, it's either not what I request or I could not apply it to my code. So long story short I have a web app that contains a calendar ( php calendar ) and I wish that once the admin hover over a certain number ( referring to a day of a month ) i'd fetch all transaction info from my db related to that date but if the user ( rank = 0 ) hover over a date he only fetches his own info from the db and then echo them as "title" attribute. In my limited knowledge of dynamic websites and ajax I can not figure out how to connect both the calendar date after fetching the hovered number and the info related to that date from my db. Hope it was clear enough and I'll provide you with all the code and db structure needed and hope you can help me through. Transactions.php <! Calender to be added > <div class = "form-container"> <div class = "form-group"> <?php require 'calendar.php'; $calendar = new Calendar(); echo $calendar->show(); ?> </div> </div> <! Calender end > calendar.php : <?php class Calendar { /* Constructor */ public function __construct(){ $this->naviHref = htmlentities($_SERVER['PHP_SELF']); } /********************* PROPERTY ********************/ private $dayLabels = array("Mon","Tue","Wed","Thu","Fri","Sat","Sun"); private $currentYear = 0; private $currentMonth = 0; private $currentDay = 0; private $currentDate = null; private $daysInMonth = 0; private $naviHref = null; /********************* PUBLIC **********************/ /* print out the calendar */ public function show() { $year = null; $month = null; if ($year == null && isset($_GET['year'])) { $year = $_GET['year']; } else if($year == null) { $year = date("Y",time()); } if ($month == null && isset($_GET['month'])) { $month = $_GET['month']; } else if($month == null) { $month = date("m", time()); } $this->currentYear = $year; $this->currentMonth = $month; $this->daysInMonth = $this-> _daysInMonth($month,$year); $content = '<div id="calendar">'. '<div class="box">'. $this->_createNavi(). '</div>'. '<div class="box-content" title = "'.$this->_daysInMonth($month,$year).'">'. '<ul class="label">'.$this->_createLabels().'</ul>'; $content.='<div class="clear"></div>'; $content.='<ul class="dates">'; $weeksInMonth = $this->_weeksInMonth($month,$year); // Create weeks in a month for( $i=0; $i<$weeksInMonth; $i++ ){ //Create days in a week for($j=1;$j<=7;$j++){ $content.=$this->_showDay($i*7+$j); } } $content.= '</ul>'; $content.= '<div class="clear"></div>'; $content.= '</div>'; $content.='</div>'; return $content; } /********************* PRIVATE **********************/ /** * create the li element for ul */ private function _showDay($cellNumber){ if($this->currentDay==0){ $firstDayOfTheWeek = date('N',strtotime($this->currentYear.'-'.$this->currentMonth.'-01')); if(intval($cellNumber) == intval($firstDayOfTheWeek)){ $this->currentDay=1; } } if( ($this->currentDay!=0)&&($this->currentDay<=$this->daysInMonth) ){ $this->currentDate = date('Y-m-d',strtotime($this->currentYear.'-'.$this->currentMonth.'-'.($this->currentDay))); $cellContent = $this->currentDay; $this->currentDay++; }else{ $this->currentDate =null; $cellContent=null; } return '<li id="li-'.$this->currentDate.'" class="'.($cellNumber%7==1?' start ':($cellNumber%7==0?' end ':' ')). ($cellContent==null?'mask':'').'" onmousemove="printDate(this)">'.$cellContent.'</li>'; } /** * create navigation */ private function _createNavi(){ $nextMonth = $this->currentMonth==12?1:intval($this->currentMonth)+1; $nextYear = $this->currentMonth==12?intval($this->currentYear)+1:$this->currentYear; $preMonth = $this->currentMonth==1?12:intval($this->currentMonth)-1; $preYear = $this->currentMonth==1?intval($this->currentYear)-1:$this->currentYear; return '<div class="header">'. '<a class="prev" href="'.$this->naviHref.'?month='.sprintf('%02d',$preMonth).'&year='.$preYear.'">Prev</a>'. '<span class="title">'.date('Y M',strtotime($this->currentYear.'-'.$this->currentMonth.'-1')).'</span>'. '<a class="next" href="'.$this->naviHref.'?month='.sprintf("%02d", $nextMonth).'&year='.$nextYear.'">Next</a>'. '</div>'; } /** * create calendar week labels */ private function _createLabels(){ $content=''; foreach($this->dayLabels as $index=>$label){ $content.='<li class="'.($label==6?'end title':'start title').' title">'.$label.'</li>'; } return $content; } /** * calculate number of weeks in a particular month */ private function _weeksInMonth($month=null,$year=null){ if( null==($year) ) { $year = date("Y",time()); } if(null==($month)) { $month = date("m",time()); } // find number of days in this month $daysInMonths = $this->_daysInMonth($month,$year); $numOfweeks = ($daysInMonths%7==0?0:1) + intval($daysInMonths/7); $monthEndingDay= date('N',strtotime($year.'-'.$month.'-'.$daysInMonths)); $monthStartDay = date('N',strtotime($year.'-'.$month.'-01')); if($monthEndingDay<$monthStartDay){ $numOfweeks++; } return $numOfweeks; } /** * calculate number of days in a particular month */ private function _daysInMonth($month=null,$year=null){ if(null==($year)) $year = date("Y",time()); if(null==($month)) $month = date("m",time()); return date('t',strtotime($year.'-'.$month.'-01')); } } db structure : ( table : transactions ) |------------------------------------------------ |Column |Type |Null| Default |------------------------------------------------- |//**ID**// |int(11) |No | |ProductName |varchar(250) |No | |Price |decimal(10,0) |No | |Currency |varchar(250) |No | |UserID |int(11) |No | |DateBought |date |No | |DateBoughtDetailed |time |No | |MoneyHanded |decimal(10,0) |No | |MoneyReceived |decimal(10,0) |No | |Pending |int(11) |No | example data : |---------------------------------------------------------------------------------------------------- |ID|ProductName|Price|Currency|UserID|DateBought|DateBoughtDetailed|MoneyHanded|MoneyReceived|Pending |---------------------------------------------------------------------------------------------------- |1 |Labneh |5000 |LBP |1 |2017-02-27|18:27:54 |5000 |0 |0 |2 |Labneh |5000 |LBP |1 |2017-02-27|18:30:09 |5000 |0 |0 |3 |Laban |5000 |LBP |1 |2017-03-06|15:35:31 |150000 |145000 |0 |4 |Laban |5000 |LBP |1 |2017-03-06|15:36:00 |150000 |145000 |0
  2. so after all i was right best answer ?
  3. So you want tutorials for uploading images using PHP ? am i following ?
  4. Also even after reloading page etc ... its still logged in ... so sessions work right ?
  5. oh wait a second ... it does .... <?php session_start(); $userid = $_SESSION['userid']; $username = $_SESSION['username']; echo $username; it echoed Jad (the username...) so it works ...
  6. Array( [userid] => [username] => Jad) EDIT : it does.... it echo the sessions ... maybe not id ?
  7. ye pretty much ... i even gave a link to the web if you wanna try : http://homeserver.webuda.com/
  8. oh alright ... just wondered ... well good luck finding the solution ... ill be searching my self maybe ill find something that can help
  9. maybe its related to being hosted on a diff server than localhost ? but i dont think thats the problem .... excuse my bad grammar ...
  10. ah ye its displayed ... im telling you my code works perfectly only index.php it doesn't ... ... it echo the username and every thing works fine ... even the errors ...(on login.php)
  11. Oh ye about the hashed pass ... its not hashed .... i was just too lazy in order to change it .... And what do you mean ?
  12. well look i tried to put the code as following : still not working ... index.php : <?php session_start(); $userid = $_SESSION['userid']; $username = $_SESSION['username']; if ( isset ($userid) && isset ($username) ) { echo "Welcome <b>$username</b>, <a href='./logout.php'>Logout</a>"; } else { echo "Please login to access this page. <a href='./login.php'>Login here</a>"; } ?> login.php : <?php session_start(); $form='<form action="login.php" method="POST"> <table> <tr> <td>Username :</td> <td><input type="text" name="user"></td> </tr> <tr> <td>Password :</td> <td><input type="password" name="pass"></td> </tr> <tr> <td></td> </tr> <tr> <td></td> </tr> <tr> <td></td> </tr> <tr> <td></td> </tr> <tr> <td><input type="submit" name="loginbtn" value="Log in"></td> </tr> </table> </form>'; $user = $_POST['user']; $pass = $_POST['pass']; if (isset($_POST['loginbtn'])) { if (isset($_POST['user'])) { if (isset($_POST['pass'])) { require 'connect.php'; $query = mysqli_query($GLOBALS["___mysqli_ston"], "SELECT * FROM users WHERE username = '$user' "); $row = mysqli_fetch_assoc($query); $passwordFromPost = $_POST['pass']; $hashedPasswordFromDB = $row['password']; if ($passwordFromPost === $hashedPasswordFromDB) { $query = mysqli_query($GLOBALS["___mysqli_ston"], "SELECT * FROM users WHERE username = '$user' "); $numrows = mysqli_num_rows($query); if ($numrows == 1) { $query = mysqli_query($GLOBALS["___mysqli_ston"], "SELECT * FROM users WHERE username = '$user' "); $row = mysqli_fetch_assoc($query); $dbactive = $row['active']; $dbuser = $row['username']; if ($dbactive == 1) { $_SESSION['userid'] = $dbid; $_SESSION['username'] = $dbuser; echo "You have been logged in as <b>$dbuser</b> <a href='./index.php'>Click here</a> to go back to home page"; } else { echo '<font color="red">You must activate your account to log in.</font>'; echo $form; } } else { echo '<font color="red">You entered an invalid username or password.</font>'; echo $form; } } else { echo '<font color="red">You entered an invalid username or password.</font>'; echo $form; } ((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res); } else { echo '<font color="red">You must enter your password.</font>'; echo $form; } } else { echo '<font color="red">You must enter your username.</font>'; echo $form; } }else{ echo $form; } ?>
  13. hey there. I did as you said and i got the following errors : Notice: Undefined index: userid in /home/a1095229/public_html/index.php on line 9 Notice: Undefined index: username in /home/a1095229/public_html/index.php on line 10 i though these are kind of normal problems ?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.