사용자가 특정 옵션을 선택하여 양식을 제출할 때 설정된 세션 변수가 있습니다. 페이지가 새로 고침 될 때이 세션 변수를 테스트해야하며 존재하는 경우 폼을 읽기 전용으로 만듭니다. 이것은 지금까지 내 코드입니다, PHP :Jerery로 페이지로드시 PHP 세션 변수를 테스트합니다.
<?php
require("header.php");
if(isset($_REQUEST['searching'])){ //check if form has been submitted
echo"<h2>Submitted</H2><p>";
connect('final');//connect to DB
$fName = $_POST['addFname'];
$lName = $_POST['addLname'];
$address = $_POST['address']
$dropdown = $_POST['field']; // yes or no option
$fName = htmlspecialchars($fName);
$fName = mysql_real_escape_string($fName);
$lName = htmlspecialchars($lName);
$lName = mysql_real_escape_string($lName);
$address = htmlspecialchars($line2); // stop HTML characters
$address = mysql_real_escape_string($line2); //stop SQL injection
if($dropdown== "no"){
$_SESSION['name'] = "$fName";
}
?>
'field'는 두 개의 옵션 yes 및 no가있는 드롭 다운의 이름입니다. 변수 얻기를위한
MY JS : 나는 세션에서 변수를 얻기 위해 그것을 사용
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script type = "text/javascript">
var session;
function multi(){
$.ajaxSetup({cache: false})
$.get('getSession.php', {requested: 'foo'}, function (data) {
session = data;
});
}
</script>
을 getSession.php는 다음과 같습니다
<?php
session_start();
if (isset($_GET['name'])) {
// return requested value
print $_SESSION[$_GET['name']];
} else {
print json_encode($_SESSION);
}
?>
마지막으로 내가하지 않으려면이 기능이 텍스트 필드
<script language="JavaScript">
<!--
function enable_text2()
{
if (session !=""){
status = "true";
document.add.addFname.readonly=readonly;
document.add.addLname.readonly=readonly;
}
}
//-->
</script>
내 나머지 HTML은 단지 양식 일뿐입니다. PHP 코드를 맨 위에 쓰고 머리말 태그를 javascript 함수로 사용합니다.
body onload 태그에서 래퍼 함수를 호출하면 두 함수가 모두 호출됩니다. 첫 번째 함수는 PHP 문서에서 존재하는 세션 변수를 얻은 다음 두 번째 함수가 있으면 테스트 할 것이라고 생각했습니다. 비어 있지 않으면 필드가 읽기 전용이됩니다.
그러나 드롭 다운 목록에서 아니오를 선택하고 양식을 제출하면 페이지가 새로 고침되고 아무 일도 일어나지 않습니다. 필드는 읽기 전용이 아닙니다.
그것은 귀하의 질문에 답하지 않을 경우, 우선은 그 PHP 내부의 요소를 비활성화 할 수 있습니다,하지만 당신은'mysql_로 *'기능의 사용을 중지해야한다 "addFname"를 촬영했다. 그들은 더 이상 사용하지 않을 것입니다. 대신 [PDO] (http://php.net/manual/en/book.pdo.php) (PHP 5.1 이상 지원) 또는 [mysqli] (http://php.net/manual/en/book)를 사용하십시오. mysqli.php) (PHP 4.1부터 지원). 어떤 것을 사용해야하는지 잘 모르겠 으면 [이 기사를 읽으십시오] (http://net.tutsplus.com/tutorials/php/pdo-vs-mysqli-which-should-you-use/). – Matt