Ben şimdi birkaç saat boyunca başımı beceriyor ediyorum. Ben (en azından çalışıyor!) AJAX kullanarak bir veritabanını günceller bir seçme seçeneği var. Veritabanı güncellendi ancak AJAX ile dolaylı olarak çalışırken, yerine ben 3 kez alert("There was a problem in the returned data:\n");
olsun ve sonra güncellenir alır gerekli params doğrudan PHP komut dosyası çalışırken Ne olur. JavaScript harici bir dosyada <head>
ve yanmıyor. İşte gidiyor:
JavaScript:
function updateHub(){
if (window.XMLHttpRequest){
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}else{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("hubinfo").innerHTML=xmlhttp.responseText;
}else{
alert("There was a problem in the returned data:\n");
}
}
var prefHub = document.getElementById("prefHub");
var hubID = prefHub.options[prefHub.selectedIndex].value;
xmlhttp.open("GET","updateHub.php?hubID="+hubID,true);
xmlhttp.send();
}
updateHub.php:
session_start();
include '../../../common/config.php';
$hubID = '';
if(isset($_POST['hubID'])){
$hubID = strip_tags(mysql_real_escape_string(trim($_POST['hubID'])));
}elseif(isset($_GET['hubID'])){
$hubID = strip_tags(mysql_real_escape_string(trim($_GET['hubID'])));
}
mysql_query("UPDATE prefs set hubID='$hubID' where userID = '".$_SESSION['userID']."'") or die(mysql_error());
if(mysql_affected_rows()){
echo "Updated";
}else{
echo 'Error';
}
return $hubID;
ve HTML:
<form action="" method="post" onsubmit="updateHub();">
<select name="prefHub" id="prefHub">
<option value="43">opt1</option>
<option value="64">opt2</option>
<option value="30">opt2</option>
</select>
<input type="submit" name="update" value="Update Hub"/>
</form>
<div id="hubinfo"></div>