【发布时间】:2016-04-01 04:45:55
【问题描述】:
问题是:我的动机是从管理员那里获取主题名称并将其插入数据库。然后我想把我的查询结果放到同一个网页上,而不是像 ajax 应该做的那样刷新它。以下代码给出了错误的 o/p。我尝试了许多语法,但代码的响应仍然错误。请告诉我正确的方法。
我的 HTML 代码是:
<form>
<input type="text" name="subject" />
<div id="subject"></div>
<input type="button" value="Submit" onclick="addSubject()" />
<script src="home.js">
</script>
</form>
我的 home.js 代码是:
function addSubject() {
a=document.getElementsByName("subject")[0].value;
destination="ajaxstoresubject.php?a:"+a+";";
var xhr=new XMLHttpRequest();
xhr.open("GET",destination,true);
xhr.send();
xhr.onreadystatechange=function() {
if(xhr.readyState==4 && xhr.status==200) {
document.getElementById("Subject").innerHTML=xhr.responseText;
}
}
}
ajaxstoresubject.php 的代码是:
<?php
$subject=$_GET["a"];
$con=mysqli_connect("localhost","root","","doortolearn");
if(!$con){
echo("No database connection.");
}
$query="insert into subjects(sid) values('$subject')";
$result=mysqli_query($con,$query);
if($result){
echo("Subject successfully inserted");
}
else{
echo("Subject could not be inserted. Might be, the subject already exists.");
}
?>
问题是:它将一个空值插入到主题表的 sid 列中。我检查了,sid 是 varchar 仍然是问题。它也没有在网页上提供任何输出。
请不要推荐 JQUERY。我对此一无所知。
【问题讨论】:
-
大概我们提出的任何建议都是“你不知道的”——否则你不会问!
-
请解决我的这个问题,你可以投-100。从过去五天开始,我太赤手空拳地解决了这个问题。 :(@Strawberry 我会在我的一生中记住你。
-
危险:你很容易受到SQL injection attacks的影响,你需要defend你自己。
-
我不涉及 SQL 注入。 :(请解决除投票否决之外的确切问题:(@Quentin
-
@RahulGoel — 当人们查看您的代码时抱怨,认为他们没有时间调试它,但有助于指出一个严重的安全问题并不是让您喜欢的好方法社区。span>
标签: javascript php mysql ajax