선택한 값 (양식에서)에서 변수 (var parcela
)를 만듭니다.POST-GET 세션 변수 (javascript-php) - 자바 스크립트는 이전 변수를 사용하지만 마지막으로 생성하지 않습니다.
var parcela;
$(document).ready(function(){
parcela = localStorage.getItem("parcela");
if (parcela !== '') {
$('#parcela').val(parcela);
}
$("#parcela").on('change',function() {
selectBoxVal_1 = $('#parcela').val();
if (typeof(Storage) !== "undefined") {
localStorage.setItem("parcela", selectBoxVal_1);
} else {
alert('Sorry! No Web Storage support..');
}
location.reload();
});
});
생성 된 변수 (parcela
)에서 PHP로 세션 변수를 만듭니다.
$.post("phpscripts/session.php", {"parc_id": parcela});
이
PHP (session.php) 그 후
<?php
session_start();
$parcela = $_POST["parc_id"];
$parcela_int = (int)$parcela;
if($_POST){
$_SESSION['parcela_id'] = $parcela_int;
}
?>
, 다른 PHP 스크립트
query.php
<?php
session_start();
require("common.php");
$user_id = htmlentities($_SESSION['user']['id_korisnika']);
$parc = $_SESSION['parcela_id'];
try
{
$stmt = $db->prepare("SELECT y_cent, x_cent FROM parcele WHERE id_korisnika='$user_id' AND id_parcele='$parc' ");
$stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$rows = $stmt->fetchAll();
....
에 생성 된 세션 변수 충동이 모두 완벽하게 작동 !
그러나 자바 스크립트에서 쿼리 (query.php)를 사용하여 PHP 스크립트를 호출하면 문제가 발생합니다. JS는 마지막으로 선택된 세션 변수 대신 이전 세션 변수를 사용합니다.
$.ajax({
url: 'phpscripts/query.php',
type: 'GET',
success : function(data) {
chartData = data;
//console.log(chartData);
...
누구에게 무슨 문제가 있는지 알고 있습니까? 이 문제를 해결하기 위해 이틀 동안 노력하고 있습니다 ...
참고 : 자바 스크립트 코드는 단일 스크립트에 포함되어 있습니다.
SQL 내에 변수를 직접 포함하여 준비된 문구의 아름다움과 목적을 놓치고 있습니다. 따라서 잠재적 인 공격자에게 문을여십시오. – RamRaider
@RamRaider, OK. 나는 동의한다. 이 문제로 나를 도울 수 있습니까? – kamfulebu
그래서 phpscripts/session.php 스크립트와 병렬로 phpscripts/query.php를 실행하십니까? (귀하의 메모에 자바 스크립트가 단일 스크립트에 포함되어 있습니다) – knetsi