AJAX HTML PHP 问题

2024-01-30

这是我的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



<script type="text/javascript" src="scripts.js"></script>
<form>
  Type your name here : <input type="text" onkeypress="showHint(this.value)" name="name" />
</form>
  

这是我的 PHP 文件



<?php
$q = $_GET['q'];

$dbc=mysql_connect("localhost","root","") 或死 (mysql_error()); mysql_select_db('input_oop') 或死(mysql_error()); $sql = "INSERT INTO 用户集名称 = '".$q."'"; mysql_query($sql) 或死掉 (mysql_error()); ?>

问题是:当我在文本框中仅输入一个值时,它将多次保存在我的数据库中。

EG:我输入“乔丹”。当我检查数据库时,它显示为

userid 1 J
userid 2 Jo
userid 3 Jor

等等


即使您在该框中按下任何按键,onkeypress 也会触发。所以这就是发生的事情:

  1. 您输入“j”
  2. showHint() 被触发,发送 'j' 到服务器
  3. 该脚本将“j”插入您的用户表中
  4. 您输入“o”,文本字段中现在有“jo”
  5. showHint() 被触发,发送 'jo' 到服务器
  6. 该脚本将“jo”插入您的用户表中
  7. etc...

换句话说,您根本没有显示任何提示,您只是盲目地将用户输入的任何内容插入数据库中。

如果您想显示提示,那么您应该至少执行“SELECT”查询并将结果返回到您的页面。

你还应该使用类似的东西Mootools http://mootools.net or jQuery http://jquery.com/进行 AJAX 调用。他们将为您处理构建/发送请求的困难部分,而不必担心用户使用的浏览器。

另外,请阅读有关SQL注入 http://en.wikipedia.org/wiki/SQL_injection在将像您这样的脚本发布到野外之前。

您还有一个格式错误的插入查询。要插入新记录,基本语法是:

INSERT INTO sometable (field1, field2, field3, ...) VALUES (value1, value2, value3, ...)

您在那里混合了某种部分“更新”查询,其格式为

UPDATE sometable SET field1=value1, field2=value2, ....

我看不出您的查询如何像现在一样将任何内容插入数据库,因为语法完全被破坏了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AJAX HTML PHP 问题 的相关文章

  • 如何通过单击图像预览上的“x”从文件输入中删除图像?

    我目前有一个文件输入 一旦用户上传图像 就会显示图像预览 在图像预览上 有一个 x 可以从列表中删除图像预览 单击此 x 后 有什么方法可以从输入中的文件集中删除图像吗
  • 调整文本区域大小

    我需要使用文本区域来显示一些文本 问题是 如果我放置 4 5 行文本 就会出现滚动条 如何使用 CSS HTML 使文本区域与其内容一样大 没有滚动条 文本区域不需要动态更改其大小 我仅使用它来显示文本 我也可以使用禁用的文本区域 我希望文
  • 用隐藏单元格补充 colspanned 表格有什么不好吗?

    我一直在表格上开发一些排序和选择功能 我发现在具有跨单元格的表格中定位非常困难 我只是添加了跨区单元格并将其隐藏 它看起来不错 它与我的 js 一起工作 非常适合索引 但我想知道这是否是合法的方法 stuffing display none
  • jquery 验证错误位置

    这看起来很简单 但我无法弄清楚 我正在使用 jquery 验证插件 我验证所有文件 但我想要的是在输入文本行中显示验证消息警报 例如在电子邮件输入中 请填写电子邮件地址 但现在它出现在所有字段下 在我的html中
  • 防止浮动换行,直到元素达到最小宽度

    我有可变宽度的 HTML 布局 内容左侧有一个固定宽度的菜单 div 可变宽度 由 css max width 和 min width 设置 对于非常窄的浏览器窗口 我希望内容包裹在菜单下方 我目前通过设置来实现这一点float left在
  • 在 Yii 的标准中如何获得计数 (*)

    我正在尝试构建一个具有以下内容的查询group by属性 我正在尝试得到id和count它一直告诉我count is invalid列名 我怎样才能得到count来自group by询问 工作有别名 伊伊 1 1 11 其他不及格 crit
  • jquery window.open 在 ajax 成功中被阻止

    尝试在我的 ajax 成功调用中打开一个新的浏览器窗口 但是 它被阻止为弹出窗口 我做了一些搜索 发现用户事件需要绑定到 window open 才能避免这种情况发生 我还找到了这个解决方案 您可以在 ajax 之前打开一个空白窗口 然后在
  • PHP 扩展开发入门 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 请推荐有关 PHP 低 级 modules 编程接口的帮助文章或教程 搜索我的书签 我发现的唯一链接是
  • 如何在 Zend MVC 中实现 SSL

    我之前已经通过使用特定的安全文件夹 例如服务器上的 https 文件夹与 http 文件夹 实现了安全页面 我已经开始使用 Zend Framework 并希望应用程序的某些部分 例如登录 使用 https 我在谷歌上搜索过 甚至在这里搜索
  • PHP print_r() 中 _r 的含义是什么?

    我见过这个答案 https stackoverflow com questions 13103410 what does r suffix mean就这样 但我不确定它对于 PHP 是否相同 如果是 可重入的含义是什么 From PHP n
  • HTML2canvas 和 Canvas2image,下载的屏幕截图不显示我的 HTML 图像

    我一直在开发一个 HTML 页面 我想将其转换为图像 我一直在使用 html2canvas 和 canvas2image 脚本并采用此代码http jsfiddle net 8ypxW 3 http jsfiddle net 8ypxW 3
  • 如何延迟加载嵌入在 iframe 上的 YouTube 视频?

    如何将延迟加载应用于iframe嵌入视频 我尝试添加loading eager loading auto and loading lazyload 您可以使用srcdoc你里面的属性iframe标签来加载图像 请参阅以下示例作为参考
  • 如何将送货地址复制到帐单地址

    我想知道是否可以将送货地址复制到帐单地址 当用户单击与送货地址相同的复选框时 送货地址值将被复制到账单输入字段 我完成了大部分部分 但我不确定如何将选择菜单 状态 值复制到帐单地址 我真的很感谢任何帮助 My code document r
  • 我可以停止 :hover 应用于元素吗?

    假设我有一些 CSS button hover font weight bold 我怎样才能防止 hover随意应用样式 我的目标用例是当元素被禁用时 例如 使用这个 HTML
  • JSTL 在循环中每 5 个字段集创建一个新行

    您好 我目前正在迭代并在表中显示字段集列表 为了让布局变得更得体一些 我想在每次循环到达第五个字段集时创建一个新行 谢谢 JSP div class det table class det tr td td tr table div
  • 反向引用在 PHP 中不起作用

    最近我一直在研究 更多的是在实践中说实话 正则表达式 我注意到他的力量 我提出的这个要求 link https stackoverflow com questions 30380397 take the text up to a speci
  • 如何使用 php 在 sql 查询中转义引号?

    我有一个疑问 sql SELECT CustomerID FROM tblCustomer WHERE EmailAddress addslashes POST username AND Password addslashes POST p
  • phpActiveRecord 日期时间格式不正确

    当尝试使用 phpActiveRecord 在表中创建记录时 出现以下错误 Invalid datetime format 1292 Incorrect datetime value 2013 06 20 11 59 08 PDT for
  • 如何清除 APC 缓存而不使 Apache 崩溃?

    如果 APC 存储大量条目 清除它们会导致 httpd 崩溃 如果 apc clear cache user 花费的时间超过 phps max execution time 调用 apc clear cache 的脚本 将在之前被 php
  • 如何使用 php 将 *.xlsb 转换为数组或 *.csv

    我正在尝试转换 xlsb文件到php array or csv文件 或至少 xls 我尝试使用PHPExcel 但看起来它无法识别该文件中的内容 我注意到 你可以重命名 xlsb文件到 zip文件 然后使用命令行解压缩unzip zip 之

随机推荐

  • 当鼠标实际移动到元素上时如何获取 MouseMove 事件

    基本上我想要做的是将自定义窗口的状态从最大化更改为正常状态 并调整窗口的位置 当用户单击标题栏并将鼠标移动到标题栏上时 在我的情况下 标题栏是一个简单的边框 显而易见的事情是将事件处理程序附加到MouseMove并检查鼠标左键是否被按下 p
  • 带有嵌套对象数组的胡子模板

    需要一点帮助来弄清楚为什么我的 Mustache 模板无法正确呈现 我很困惑为什么以下不起作用 我确信这是我的一个小错误或者其他什么 var tableRows name name1 values 1 2 3 name name2 valu
  • Python - 自动检测电子邮件内容编码

    我正在编写一个脚本来处理电子邮件 并且我可以访问电子邮件的原始字符串内容 我目前正在寻找字符串 Content Transfer Encoding 并扫描紧随其后的字符 以确定编码 编码示例 base64 或 7bit 或引用打印 有没有更
  • 在 Play Framework 2.0 上运行演化

    最近的这篇文章 如何在 Play Framework 2 0 中使用 Evolutions https stackoverflow com questions 8164157 how to use evolutions in play fr
  • 从我的网页访问 Flask 服务器

    这是一个问题 从这个问题继续here https stackoverflow com questions 22088719 can flask use with jquery post 我正在尝试使用网页上的图像按钮来控制伺服电机 我的伺服
  • 使用完整单词作为登录系统的变量[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在创建一个登录系统 当前使用硬编码整数作为用户 ID 密码和学生号 这意味着它们都是数字 我将使用什么来使整数 用户 ID 和密码 成为
  • PSQLException:当前事务被中止,命令被忽略直到事务块结束

    我在 JBoss 7 1 1 Final 的 server log 文件中看到以下 截断的 堆栈跟踪 Caused by org postgresql util PSQLException ERROR current transaction
  • 如何从其他节点js文件调用该函数

    这些代码存储在单独的文件中 我尝试从该文件调用 get 方法到另一个nodejs 但我只得到 Function 作为输出 谁能告诉我如何从这个文件调用另一个节点js文件的get方法 use strict var createAPIReque
  • 如何清除 MySQL 控制台中的屏幕? [复制]

    这个问题在这里已经有答案了 我无法清除 MySQL 命令行提示符中的屏幕 我的屏幕上充满了表格 数据和查询 我怎样才能清除它 Ctrl L 会做的 这是一个 shell 命令 但它在 MySQL 控制台中运行良好
  • 带 DatePicker 的 AlertDialog

    我的想法是使用 AlertDialog 并将其设置为 DatePicker 我的代码是 AlertDialog Builder builder new AlertDialog Builder this DatePicker picker n
  • PLCrashReporter - 如何符号化进程中的崩溃数据?

    在我们获得崩溃数据后 有没有办法对崩溃报告进行符号化 目前 这就是我在handleCrashReport方法中所做的事情 PLCrashReportTextFormat textFormat PLCrashReportTextFormati
  • Android 在 Google 地图中进行捏合缩放

    谷歌地图中的捏缩放功能是否可行 我进行了多次搜索但没有得到任何解决方案 请给出您的看法 或者需要编写api来实现这些功能 您是否使用 ScaleGestureDetector 来实现捏合和缩放 http developer android
  • 我的 Android 设备上的多个编码器支持 Mime 类型视频/avc

    当我枚举设备上的所有媒体编解码器时 我注意到以下编码器支持 mime 类型 video avc OMX qcom video encoder avc OMX google h264 encoder 你打电话时MediaCodec Creat
  • 如何高效找到重叠区间?

    我有以下玩具示例数据框 df f low f high 0 476201 0 481915 0 479161 0 484977 0 485997 0 491911 0 503259 0 508679 0 504687 0 510075 0
  • 尝试在 C# 中的 UInt16 上执行按位非 (~) 时出错

    出于某种原因 我根本不理解 或不明白 为什么这是有效的 UInt32 a 0x000000FF a UInt32 0x00000001 但这并没有 UInt16 a 0x00FF a UInt16 0x0001 它给出错误 常量值 某些数字
  • 如何处理 上的点击而不是子元素上的点击?

    我用以下代码处理点击 带输入的表 table tr td td tr table
  • sass 会损害性能吗?

    我一直在教育自己 阅读this http code google com speed page speed docs rendering html 引擎从右到左评估每个规则 从最右边的选择器 称为 键 开始并遍历每个选择器 直到找到匹配或丢
  • 如何为 Windows Phone 8 应用程序创建图表/图形? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在Windows Phone 8 应用程序 图表 图表 http img837 imageshack
  • 使您的 .NET 语言在调试器中正确运行

    首先 我对这个问题的长度表示歉意 我是作者钢铁计划 http ironscheme codeplex com 最近 我一直在努力发出合适的调试信息 以便我可以使用 本机 NET 调试器 虽然这取得了部分成功 但我遇到了一些初期问题 第一个问
  • AJAX HTML PHP 问题

    这是我的scripts js function showHint str if str length 0 document getElementById txtHint innerHTML return if window XMLHttpR