2014-12-14 3 views
-2

이 오류가 발생하여 $datereportal_newformat에 데이터가 표시되지 않습니다.세션에서 정의되지 않은 변수

글쎄, 난 그래서 난 정말 ... 무슨 일이 일어나고 있는지 이해가 내가 캔트 코딩 초보자를 가지고 : 나는

편집

에 무슨 일이 일어나고 있는지 전혀 모르는

<?php 
session_start(); 
?> 

<?php 
$datereportal_newformat = $_SESSION['datereportalrl']; 
$objConnect = mysql_connect("localhost","root","13950") or die("Error Connect to Database"); 
$objDB = mysql_select_db("projectwebp"); 
$strSQL = "SELECT * FROM alcohol_report WHERE AL_Date = '$datereportal_newformat'"; 
echo $strSQL; 
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]"); 
?> 

:와 나는 시작 전체 코드를 게시하지만이 변수를 선언하기 시작합니다.

<?php 
if(isset($_POST['button'])){ 
$dayal = $_POST['select']; 
$monthal = $_POST['select2']; 
$yearal = $_POST['select3']; 
$dateReportal = "$yearal-$monthal-$dayal"; 
$datereportal_time = strtotime($dateReportal); 
$datereportal_newformat = date('Y-m-d',$datereportal_time); 
$_SESSION['datereportalrl'] = $datereportal_newformat; 
} 
.. 
.. 
?> 

다른 페이지의 데이터베이스에서 AL_Date와 비교하려고합니다. WHERE 절을 사용하지만 $ datereportal_newformat에 공백을 둡니다. 모든 문제에 대 한 죄송합니다

, 내 장소는 아직이 파일에) (세션을 위해서 var_dump하는

+1

정확한 오류 메시지를 게시하십시오! – Rizier123

+0

'mysql_ *'함수는 더 이상 사용되지 않으므로 더 이상 사용하지 마십시오. 당신은 SQL 주입에 매우 취약합니다. – Hidde

+0

또한 데이터베이스에 대한 루트가 아닌 사용자를 생성하여 자격 증명이 손상된 경우 전체 데이터베이스가 손상되지 않도록 항상 지정하는 것이 좋습니다. – Hidde

답변

1

시도 일반적인 SQL 언어에 대한 학습, 변수 도 비 사용되지 않는 버전을 사용 선언의 문제는 거기에 아마 mysql_ *의 경우 mysqli를 대신 사용하십시오.

당신은 전체 파일을 붙여 넣을 경우가 더 좋을 것이다, 그래서 당신은 $ _SESSION에 정의되지 않은 오류가있는 경우 우리가 문제

0

을 볼 수 있습니다 [ 'datereportalrl는'], 다음 $ datereportal_newformat는 어느 쪽도 할당되지되고, 비어 이리. 문제는 세션에 가치를 두는 곳입니다.

0

는 this-

print_r($_SESSION) 

수행하고 $ _SESSION의 인쇄 데이터의 경우 [ 'datereportalrl는'], 다음 MySQL의 쿼리에서 일부 오류가! 그렇지 않으면 세션을 올바르게 설정하십시오.