2011-12-24 1 views
1

약속 일정을 잡으려고하고 있는데 html 테이블을 사용하고 있습니다. 사용자가 빈 셀을 클릭하면 (예 : 8시 또는 8시 15 분의 시간 슬롯이 셀로 분할 됨) 양식이 팝업되고 사용자가 양식을 채우는 상황이 필요합니다. 사용자가 양식을 채우면 양식 데이터가 데이터베이스에 저장됩니다. 그러나 셀 슬롯이 이미 특정 사용자에 의해 채워진 경우 해당 슬롯의 데이터는 해당 사용자가 액세스 할 수 있어야하고 다른 사용자에게 회색으로 표시되어야합니다. 셀이 비어 있으면 셀을 모두에게 클릭 가능하게해야합니다. 그러나 셀이 비어 있지 않은 경우 즉, 사용자가 이미 해당 셀에서 약속을 예약 한 경우 사용자 및 관리자 만 셀을 클릭 할 수 있어야하며 다른 사용자가 클릭 할 수 없어야합니다. 또한 사용자는 셀의 내용을 편집 할 수 있어야합니다.정보를 입력 한 사용자 만 html 표 셀 정보에 액세스 할 수있게 만드는 방법

어떻게해야합니까? PHP와 JavaScript를 사용하고 있습니다.

아래는 지금까지 내가 한 것입니다.

if($_SESSION['interval'] == 30) 
{ 
    echo "<td onclick=popUpForm('$hoursDisplay[$x]:00-$hoursDisplay[$x]:30','$date')>&nbsp;</td><td onclick=popUpForm('$hoursDisplay[$x]:30-".$hoursDisplay[$x+1].":00','$date')>&nbsp;</td>"; 
} 

if($_SESSION['interval'] == 20) 
{ 
    echo "<td onclick=popUpForm('$hoursDisplay[$x]:00-$hoursDisplay[$x]:20','$date')>&nbsp;</td><td onclick=popUpForm('$hoursDisplay[$x]:20-$hoursDisplay[$x]:40','$date')>&nbsp;</td><td onclick=popUpForm('$hoursDisplay[$x]:40-".$hoursDisplay[$x+1].":00','$date')>&nbsp;</td>"; 
} 

if($_SESSION['interval'] == 15) 
{ 
    echo "<td onclick=popUpForm('$hoursDisplay[$x]:00-$hoursDisplay[$x]:15','$date')>&nbsp;</td><td onclick=popUpForm('$hoursDisplay[$x]:15-$hoursDisplay[$x]:30','$date')>&nbsp;</td><td onclick=popUpForm('$hoursDisplay[$x]:30-$hoursDisplay[$x]:45','$date')>&nbsp;</td><td onclick=popUpForm('$hoursDisplay[$x]:45-".$hoursDisplay[$x+1].":00','$date')>&nbsp;</td>"; 
} 
+1

추가 한 코드 예제는 완전하지 않으며 광범위한 편집 없이는 실행할 수 없습니다. 적절한 코드 예제를 추가하십시오. 또한 특정 질문이 있거나 전체 PHP/JavaScript 일정을 만드는 방법을 알고 싶습니까? – Abbas

답변

0

일단 사용자가 로그인하면 쿠키를 설정하십시오. 빈 셀에 대한 요청이 오면 양식을 제공하고, 그렇지 않으면 쿠키를 검사하여 사용자를 인증합니다. 쿠키가 일치하지 않으면 오류가 발생합니다. 로그인 인증이 적용됩니다. here

0

사용자가 확인하려면 로그인해야하므로 사용자 상태와 관련하여 올바른 html 셀 코드를 제공해야합니다. 당신이 thoose datas와의 세션을 상상하자 :

$_SESSION = array('userId'=>1,'isAdmin'=>false); 

당신이 약속이 없거나, 사용자가 당신이 알고있는 약속 또는 관리자의 소유자 인 경우 쉽게 렌더링해야하는 셀의 버전을 이십 기가 바이트 경우 다음 확인 (클릭 가능 여부).

모든 데이터는 렌더링시 서버 측에서 사용할 수 있으므로 여기서는 자바 스크립트를 특별히 사용할 필요가 없습니다.

귀하의 질문은 너무 애매하고 우리가 한 지점에서보다 정확하게 응답하기를 원한다면 약간의 정확성을 가져야합니다.

관련 문제