私のウェブサイトには、このように機能する INSERT 操作があります。
- ボタンが押されると、index.html ファイルで javascript 関数が呼び出されます。
- JavaScript 関数では、AJAX を使用して、必要なパラメータを含むリクエストを php ファイルに送信します。
- php ファイルは、データベースにアクセスしてデータを挿入します。
参考までに、上記のタスクのコードを次に示します。
2.Javascript機能
function grandFinale()
{
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("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","insert.php?q=&name=" + encodeURIComponent(document.getElementById('name').value) + "&txtScore1=" + encodeURIComponent(document.getElementById('txtScore1').innerHTML),true);
xmlhttp.send();
document.location.reload();
}
1.HTMLボタン
<p id="txtScore1" align="center" style="color: #cc6699; font-size: 18px; "></p>
<label class="control-label" for="input01">Name</label>
<a href="#" class="btn btn-primary" onclick="javascript:grandFinale()" >Submit My Score</a>
3.PHPスクリプト
<?php
$con = mysql_connect("host","uname","pword");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("dbname", $con) or die( "Unable to select database");
$sql="INSERT INTO 'masterTable' ('Name', 'Score') VALUES ('{$_GET['name']}','{$_GET['txtScore1']}')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con);
?>
ハードディスクでローカルに試してみると問題なく動作しますが、000webhost.com でホストした後、INSERT が機能しません。どこが間違っていたのか教えていただけますか?