html定位ajax php,AJAX HTML PHP问题
这是我的scripts.js
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
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","inputProcess.php?q="+str,true);
xmlhttp.send();
}
这是我的HTML
Type your name here :
这是我的PHP文件
$q = $_GET['q'];
$dbc=mysql_connect("localhost","root","") or die (mysql_error());
mysql_select_db('input_oop') or die (mysql_error());
$sql ="INSERT INTO users set name = '".$q."'";
mysql_query($sql) or die (mysql_error());
?>
这是问题:当我在文本框中只键入一个值时,它将多次保存在我的数据库中。
EG:我输入"Jordan"。 当我签入我的数据库时,它显示为
userid 1 J
userid 2 Jo
userid 3 Jor
等等
你的问题是什么?
我很困惑 - 究竟是什么问题?
我不知道问题是什么,但我会建议尝试使用jQuery来开始AJAX ...有很多功能可以让它变得轻而易举,并从头开始执行所有高级编码。看看:api.jquery.com/category/ajax
如果这是您的PHP文件的范围,您有一些重大的安全问题,因为您根本没有验证您的输入。任何人都可以很容易地入侵你的数据库。
问题似乎是数据被多次保存到数据库中而不是一次。至少那是我从中得到的。
这就是问题:当我输入文本框时(只有一个值)。然后它将保存在我的数据库中。 EG:文字我输入了"乔丹"。当我检查我的数据库时,它将显示:userid 1,J。userid 2,Jo。 userid 3 Jor。等等。
乔丹,这不是一个论坛。您可以随时通过编辑(我已为您完成)为原始问题添加更多信息。
它正在做的代码正是你要做的。也许你对onkeypress方法感到困惑。如果要在用户输入完成后保存信息,请尝试改为onchange或onblur
即使你在那个盒子里做,也会为每个按键开启onkeypress。所以这是发生的事情:
你输入'j'
触发showHint(),将'j'发送到服务器
该脚本将'j'插入到用户表中
输入'o',文本字段中现在有'jo'
showHint()被触发,将'jo'发送到服务器
该脚本将'jo'插入到用户表中
等等...
换句话说,您根本没有显示提示,只是盲目地将用户输入的内容插入到数据库中。
如果您想显示提示,那么您应该至少执行"SELECT"查询并将结果返回到您的页面。
您还应该使用Mootools或jQuery之类的东西来进行AJAX调用。他们将处理构建/发送请求的难点,而不必担心用户使用的浏览器。
同样,在将诸如你的脚本发布到野外之前,先阅读有关SQL注入的信息。
您还有一个格式错误的插入查询。要插入新记录,基本语法是:
INSERT INTO sometable (field1, field2, field3, ...) VALUES (value1, value2, value3, ...)
你在那里混合了一些部分的'更新'查询,其格式是
UPDATE sometable SET field1=value1, field2=value2, ....
我无法看到您的查询如何像现在一样将任何内容插入到数据库中,因为语法完全被破坏了。
马克说。
关于INSERT和UPDATE语法,MySQL实际上支持多个,如dev.mysql.com/doc/refman/5.1/en/insert.html所示。
function sendRequest(str) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("txtHint").innerHTML = this.responseText;
}
};
xhttp.open("GET","inputProcess.php?q="+str, true);
xhttp.send();
}
function showHint(str) {
if (str.length==0) {
document.getElementById("txtHint").innerHTML="";
return;
} else {
sendRequest(str)
}
}
我知道你要做什么,请使用标准方法......代码中唯一的问题实际上是onKeypressed。当你确定用户完全输入了这个词并且不再打字时,你需要调用请求我不认为它在JS中很容易,你当然可以使用很多工时来完成。
根据您使用的浏览器的一点点,onkeypress事件也将触发不改变内容的键,如箭头键,输入或制表键,F5刷新等等...有些浏览器甚至按下shift触发onkeypress。有关详情,请参阅此页面。
由于您的PHP代码不会检查输入的值是否为新值,因此每次按下其中一个键时,它都会添加输入的值。
此外,为此使用jQuery是个好主意。
html定位ajax php,AJAX HTML PHP问题相关推荐
- 怎么中断一个ajax请求,ajax、fetch、axios如何中断请求?
先来说一说"中断请求"的实际场景,当页面有多个tab页签时,每次切换页签都会去请求数据,频繁的切换就会去请求很多次,比如A页签切换到B页签,A页签请求完全是不必要的,这时候可以在切 ...
- ajax入门实例代码,AJAX、AJAX实例及AJAX源代码
AJAX.AJAX实例及AJAX源代码 作者:佚名 来源:CNZZ 2008-1-4 AJAX介绍 AJAX 关键词: JavaScript脚本和可扩展标记语言(XML) WEB浏览器技术 开放式WE ...
- 六十八、完成Vue项目推荐和周末游组件,并使用Ajax发起ajax请求
@Author:Runsen 2020/10/27. 周二.今天又是奋斗的一天. 写在前面:我是「Runsen」,热爱技术.热爱开源.热爱编程.技术是开源的.知识是共享的.大四弃算法转前端,需要每天的 ...
- $.ajax 发送请求,JavaScript之Ajax-2 Ajax(使用Ajax发送get请求、使用Ajax发送post请求)
一.使用Ajax发送get请求 发送异步请求的步骤 - 获取Ajax对象:获取 XMLHttpRequest对象实例 - 创建请求:调用XMLHTTPRequest对象的open方法 - 设置回调函数 ...
- 一、AJAX学习笔记——原生AJAX (ajax简介、XML简介、ajax优缺点、ajax的使用)
第 1 章:原生 AJAX 1.1 AJAX 简介 AJAX 全称为 Asynchronous JavaScript And XML,就是异步的 JS 和 XML. 通过 AJAX 可以在浏览器中向服 ...
- ajax hacking,Ajax Hacking
Ajax Hacking 更新时间:2006年11月06日 00:00:00 作者: 由此Ajax攻击可见一斑,然而这还仅仅是个开始.7月份百度开通了百度空间,虽然没有指明是应用web2.0技术, ...
- ajax=1,ajax专栏1
一.什么是ajax?有什么作用? ajax中文翻译为:异步的js和xml.用于网页向服务器发送请求(可支持同步和异步2种方式),接收服务器响应后的处理数据. 注:同步,网页发送请求后,锁定当前网页(不 ...
- AJAX教程@ajax
文章目录 1.AJAX 1.什么是AJAX 2.AJAX核心对象 - 异步对象(XMLHttpRequest) 1.什么是XMLHttpRequest [简称为 xhr] 2.创建 异步对象 (xhr ...
- 了解ajax,ajax的优化有哪些
-20-01-20 ------------------------------学习打卡-------------------------------------------------------- ...
- 什么是Ajax以及ajax请求的步骤
什么是Ajax以及ajax请求的步骤 1.Ajax是什么? Asynchronous JavaScript & XML.Ajax是web开发的一种技术. 2.Ajax请求的步骤 (1)创建`X ...
最新文章
- Linux内核TCP/IP参数分析与调优
- 5G NR — Open vRAN 的组织单位
- coreldraw 双层边框
- Web框架之Django_03 路由层了解(路有层 无名分组、有名分组、反向解析、路由分发 视图层 JsonResponse,FBV、CBV、文件上传)
- 独家下载!2021前端热门技术解读
- 云原生持续交付的模式和实践
- java中找不到javax包_logstash 找不到 java 环境
- CentOS 配置网络yum源
- 阿里云域名绑定IP手把手教学
- markdown删除代码空白行
- TCP和UDP对比的优势和劣势
- js实现数组翻转(倒序输出)
- HDU 4699 Editor (对顶栈)
- el-table单元格中加上横向柱状图
- 【BZOJ3653】谈笑风生 离线+树状数组+DFS序
- 让女人无法抗拒的30句表白【实用】
- Error waiting for a debug connection: Bad state: No element
- 七巧节前夕,恋爱仙子探访黑店记
- 过程计算机控制综合课程设计,计算机控制技术综合课程设计.doc
- 如何打包文件及其所在目录