最近我正在学习HTML和PHP,有一件事我无法解决:
将数据从html表单加载到MySQL数据库的正确/最佳方法是什么?我查看了w3schools教程和多个链接,但仍然感到困惑。他们从来没有真正提到过JavaScript在那儿是必要的,但是我和谁交谈总是说一些JavaScript可以从表单中读取数据。所以这是我的看法:
如果概念正确,是否可以添加多个提交按钮并将其操作绑定到不同的php脚本,具体取决于他们选择的按钮,对吗? 不管是否正确,JavaScript应该/在哪里发挥作用?如果我使用JavaScript,故事会是什么样子。什么时候必须使用JavaScript通过id属性(document.getElementById(“ uniqueID”)。value)获取数据?如果我想通过html文档访问非格式数据,是不是?
我时间很紧,否则我要自己测试一下,但是我很确定有人已经做了它并且也理解它。因此,谢谢您的回答:)
编辑:我可能已经找到了一个需要JavaScript的用例。这就是您尝试从单选按钮字段中获取选定值的时候。 (我认为) 编辑:您不需要JS来读取单选按钮的值。只需确保将名称标签放入选择标签或所有单选按钮中(如果未将其放入下拉菜单中即可)。
答案 0 :(得分:1)
尽管您可能可以找到一种使用Javascript的方法,但我认为您不应该这样做。 PHP是必经之路。
是的,您可以将其操作转到不同的PHP页面,甚至可以留在同一页面上,具体取决于您要执行的操作。
PHP是服务器端,Javascript是客户端。
一个Javascript的示例将使用它来更改按下按钮时元素的css或执行某种计算。
我会做什么:
但是我会在处理任何机密数据之前先研究一下SQL注入。
答案 1 :(得分:0)
如果您有3个php文件:“ sub1.php”“ sub2.php”“ sub3.php”!
<div bd="sub1">click the submit1</div>
<span bd="sub2">click the submit2</span>
<input bd="sub3" value="click the submit3"/>
<button id="sub1">submit1</button>
<button id="sub2">submit2</button>
<button id="sub3">submit3</button>
根据点击的按钮,动态拼接访问的动作地址! 如果使用jQuery:
$("button").click(function() {
var file = $(this).attr("id") + ".php"
var data = $("bd=['" + $(this).attr("id") + "']").text() || $("bd=['" + $(this).attr("id") + "']").val()
$.get("host:port/" + file, {data:data}, function(d) {console.log(d)}, "json")
})
答案 2 :(得分:0)
您从不需要 使用JavaScript将HTML表单数据放入数据库中。您可能要使用JavaScript进行类似validate的操作,以确保表单数据在提交之前是正确的,或者需要add more rows of data进行收集。如果没有JavaScript,则必须提交表单,然后让PHP处理程序将其发送回去进行更多编辑。 JavaScript可以让您在客户端执行此工作,只需提交一次即可更新数据库。
通常,我建议不要依靠JavaScript来实现功能。使用JavaScript可以使事情变得更容易,但是该表单不能使用JavaScript。这样,如果有人在没有JavaScript的情况下进行浏览,则该表单仍然有效。
关于处理导致不同结果的多个提交按钮,请参见Multiple submit buttons PHP different actions。虽然接受的答案使用JavaScript,但其他两个答案却没有。还有Two submit buttons in one form。
使用JavaScript的另一种常见方法是使用它来捕获过时的浏览器。因此,如果浏览器是最新的并且可以处理HTML 5,则不需要JavaScript。如果浏览器必须按旧方式执行操作,则JavaScript会捕获动作并使事情发生。
作为一般规则,在更新数据库时,应发布表单。您可以将GET表单用于诸如搜索之类的事情,这些事情不会改变数据库状态。