자바 스크립트 함수 "get2"에 여러 값을 전달한 다음 "data2.php"파일을 호출하여 제출 된 값에 따라 데이터베이스에서 데이터를 검색하려고합니다. 드롭 다운 목록/텍스트 상자. 둘 다 별도로 작동하지만 함께 사용하면 안되는 오류는 "정의되지 않은 색인"입니다. 누구든지 제발 도와 주실 래요?여러 값을 자바 스크립트에서 PHP 파일로 전달
<script type="text/javascript">
function get2() {
$.post('data2.php', { gender: form2.gender.value,
skills: form2.skills.value },
function(output) {
$('#gender').html(output).show();
$('#skills').html(output).show();
}
);
}
</script>
참고 지금은 모두 갱신 :
<script type="text/javascript">
function get2() {
$.post('data2.php', { gender: form2.gender.value },
function(output) {
$('#gender').html(output).show();
}
);
$.post('data2.php', { skills: form2.skills.value },
function(output) {
$('#skills').html(output).show();
});
}
</script>
...
...
<form name="form2">
<Select name="gender">
<OPTION>Male</OPTION>
<OPTION>Female</OPTION></SELECT>
What is the patients relationship status?
(hold "Ctrl" key to select multiple options at one time):
<br/><br/>
<BR>
<BR>
<select name="skills">
<OPTION value="Single" selected="selected">Single</OPTION>
<OPTION value="With partner">With partner</OPTION>
<OPTION value="Separated from partner">Separated from partner</OPTION>
<OPTION value="Partner died">Partner died</OPTION>
<OPTION value="DK">DK</OPTION>
</select>
<BR>
<BR>
<INPUT TYPE="button" VALUE="search" onClick="get2();">
</form>
<div id="gender"></div>
<div id="skills"></div>
DATA2.PHP
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("grist");
$gender = $_POST['gender'];
$skills = $_POST['skills'];
if (($gender==NULL) && ($skills==NULL)) {
echo"please enter gender and skills!";
}
else
{
$dob4 = mysql_query("SELECT * FROM patients WHERE gender='$gender' AND relationship_status='$skills'");
//$dob_num_rows = mysql_num_rows($dob);
while($row4 = mysql_fetch_array($dob4)){
$a=$row4['patient_id'];
$b=$row4['gender'];
$c=$row4['dob'];
echo "<b>Patient:</b> $a";
echo "<b>Patient:</b> $b";
echo "<b>Patient:</b> $c";
}
}
?>
여러분은 변수가 하나만 전달 될 때마다'data2.php'에 두 개의 게시물을 만들고 있습니다. 동시에 두 가지를 모두 전달해야합니다. –
어떻게해야합니까? thanks – shieldcy
또한 mysql_query()를 사용하지 말라. (http://php.net/manual/en/function.mysql-query.php) [SQL Injection]에 취약하다. (http : // en.wikipedia.org/wiki/SQL_injection). 나는 '$ gender ='또는 '1'= '1'- ''(전체 환자 목록을 반환) 또는 $ gender ='를 포함하는 양식의 프로세서에 사용자 정의 POST를 쉽게 작성하고 보낼 수 있으며, DELETE * FROM 환자; - '그리고 당신은 나쁜 날을 보내 게 될 것입니다. 대신 Mysqli 또는 PDO를 사용하십시오 (위 페이지의 링크). – msanford