<script>
function process_Login(){
var c = document.getElementById("usr").value;
var d = document.getElementById("pwd").value;
if(c.length==0){
alert("ERROR: Your ID account is NULL");
}
else if(isNaN(c)){
alert("ERROR: Your ID must be number");
}
else
{
$con = mysql_connect("localhost", "root", "");
if(!$con){
die("cound not connect");
}
//select database
mysql_select_db("db_atmvisual");
$query = mysql_query("SELECT * FROM tb_account WHERE account_id='c' AND account_pin='d'");
$row = mysql_num_rows($query);
if($row!=0){
window.location = "http://127.0.0.1:8080/atmvisual/processlogin.php";
}
else
alert("loginfail");
}
}
</script>
我尝试使用javascript将我的代码与sql连接,但我不知道它为什么不运行!如果可以,它将更改为其他页面,否则它将打印警报!你能告诉我我的错误吗?以及如何改进我的代码?
答案 0 :(得分:1)
你需要了解事情的发生方向。
由于您使用了script
标记,因此我假设您的JavaScript代码已内置到网页中。在最终用户的计算机上运行 。
您的数据库(可能)不在最终用户的计算机上,您不希望它从任何旧网页中被广泛使用。因此,您的服务器上有数据库,不可以从外部访问它;您可以创建明确定义的访问点,使您的代码只执行可能来自您的网页代码的相应操作。这些访问点是使用您编写的代码在服务器上运行而不是客户端创建的。
您的服务器代码也可以使用JavaScript(在NodeJS,SilkJS,JVM或任何其他项目中运行),但它位于服务器上,很好远离外面的世界。或者它可以是PHP,Java,C#,Python或其他一百种语言;无论你喜欢什么。
客户端和服务器之间的链接是HTTP。使用客户端代码触发数据库操作有两种选择:
使用表单并刷新整个页面
使用 ajax
两者都有用例。
希望这足以让你继续研究。
说了这么多,是框架,可以直接从客户端代码查询服务器数据库,例如ContextPath。最后我看了几年,当时他们很新,可能是阿尔法并没有太多(或任何)访问控制,但可能他们已经解决了这个问题。