私はちょうどWeb開発を始めました.Ajaxを使ってPHPでいくつかのことを試しています。私は最近php、jquery、ajaxを使ったスクリプトをダウンロードしました。それは、ユーザーが特定の日をクリックした後に入力を可能にし、ユーザーが「追加」ボタンをクリックするとデータをデータベースに追加するカレンダーを表示することです。その後
私はそれにデータを追加し、ユーザが閲覧するカレンダー日報を望んでいたので、私は列としてUSER_IDを添加し、前記Iは、データベーステーブルを修正しました。今、私の問題は、$ _SESSION ['userSession']をAjaxリクエストに使用できないことです。私はmysqliのクエリに変数を追加しようとしましたが、残念ながら、それはこの種のエラー生成:
注意:未定義の変数:CでのU_ID:\ xamppの\ htdocsに\ 288
ライン上の\のfunctions.phpを報告します私は2つのPHPファイルを持っています.1つはメインページ用で、もう1つはカレンダーやその他のカレンダー機能を処理するためのものです。ここで
は私のreports.phpファイルは次のようになります。
<?php
session_start();
include_once 'dbconnect.php';
include_once('functions.php');
if (!isset($_SESSION['userSession'])) {
header("Location: index.php");
}
$query = $DBcon->query("SELECT * FROM users WHERE user_id=".$_SESSION['userSession']);
$userRow=$query->fetch_array();
$DBcon->close();
$u_id = $_SESSION['userSession']; //this is the variable that I am trying to pass to the functions.php file
?>
<!-- The echo below produces the calendar view -->
<div id="calendar_div">
<?php echo getCalender(); ?>
</div>
は今ここのfunctions.phpのサンプルは次のとおりです。基本的に
<?php
if(isset($_POST['func']) && !empty($_POST['func'])){
switch($_POST['func']){
case 'getCalender':
getCalender($_POST['year'],$_POST['month']);
break;
case 'getEvents':
getEvents($_POST['date']);
break;
//For Add Event
case 'addEvent':
addEvent($_POST['date'],$_POST['title'],$_POST['week'],$_POST['hours']);
break;
default:
break;
}
}
?>
<script type="text/javascript">
function getCalendar(target_div,year,month){
$.ajax({
type:'POST',
url:'functions.php',
data:'func=getCalender&year='+year+'&month='+month,
success:function(html){
$('#'+target_div).html(html);
}
});
}
function getEvents(date){
$.ajax({
type:'POST',
url:'functions.php',
data:'func=getEvents&date='+date,
success:function(html){
$('#event_list').html(html);
$('#event_add').slideUp('slow');
$('#event_list').slideDown('slow');
}
});
}
//For Add Event
function addEvent(date){
$('#eventDate').val(date);
$('#eventDateView').html(date);
$('#event_list').slideUp('slow');
$('#event_add').slideDown('slow');
}
//For Add Event
$(document).ready(function(){
$('#addEventBtn').on('click',function(){
var date = $('#eventDate').val();
var title = $('#eventTitle').val();
var week = $('#eventWeek').val();
var hours = $('#eventHours').val();
$.ajax({
type:'POST',
url:'functions.php',
data:'func=addEvent&date='+date+'&title='+title+'&week='+week+'&hours='+hours,
success:function(msg){
if(msg == 'ok'){
var dateSplit = date.split("-");
$('#eventTitle').val('');
$('#eventWeek').val('');
$('#eventHours').val('');
alert('Daily report has been added.');
getCalendar('calendar_div',dateSplit[0],dateSplit[1]);
}else{
alert('Some problem occurred, please try again.');
}
}
});
});
});
function getEvents($date = ''){
//Include db configuration file
include 'dbconnect.php';
$eventListHTML = '';
$date = $date?$date:date("Y-m-d");
//Get events based on the current date
$result = $DBcon->query("SELECT title,hours FROM ojt_student_report WHERE date = '".$date."' AND status = 1 and user_id = '"$u_id"'");
if($result->num_rows > 0){
$eventListHTML = '<h2>Daily Report on '.date("l, d M Y",strtotime($date)).'</h2>';
$eventListHTML .= '<ul class="list-group">';
while($row = $result->fetch_assoc()){
$eventListHTML .= '<li class="list-group-item"> <b>Daily Report: </b><br>'.nl2br($row['title']). '<br> <b>Working Hours: </b>' .$row['hours']. '</li>';
}
$eventListHTML .= '</ul>';
}
echo $eventListHTML;
}
/*
* Add event to date
*/
function addEvent($date,$title,$week,$hours){
//Include db configuration file
include 'dbconnect.php';
$currentDate = date("Y-m-d H:i:s");
//Insert the event data into database
$insert = $DBcon->query("INSERT INTO ojt_student_report (title,date,week,hours,created,modified,user_id) VALUES ('".$title."','".$date."','".$week."','".$hours."','".$currentDate."','".$currentDate."','"$u_id"')");
if($insert){
echo 'ok';
}else{
echo 'err';
}
}
?>
、私はやってみたかったものを持っているしています$ _SESSION変数を使用して、各ユーザーごとに異なるカレンダービューと日次レポートビューを作成します。私は私の問題を正しく述べることができれば嬉しいです。どうもありがとうございました!
'javascript'で関数を使いたいのであれば、' php'ではなく 'javascript'で呼び出す必要があります。@Master Pogi – Pritamkumar