问题描述
|
我想问的不是这个问题,但我真的需要另一只眼睛,因为这一定是我所缺少的愚蠢的东西。
我以前使用过相同的脚本,所以我不知道出了什么问题。
这是frnt的结束代码:http://jsfiddle.net/fU3Q3/1/
后端PHP是:
<?PHP
require(\"../db.PHP\");
// get the posted values
$email=$_POST[\'email\'];
$password=$_POST[\'password\'];
// Now validating the username and password
$sql=\"SELECT * FROM admin WHERE email=\'\".$email.\"\'\";
$result=MysqL_query($sql) or die (\"No such username exists!\");
$row=MysqL_fetch_array($result);
// if username exists
if(MysqL_num_rows($result)>0)
{
// compare the password
if(strcmp($row[\'password\'],$password)==0)
{
echo \"yes\";
// set the session from here
$_SESSION[\'email\']=$email;
}
else
echo \"no\";
}
else
echo \"no\"; // invalid Login
?>
使用firebug,发送到ajax-login.PHP的URL似乎是“ 1”,其中结尾的位显然是随机数。
任何帮助深表感谢。
马丁
解决方法
$.post(\"ajax-login.php\",{ email:$(\"input#email\").val(),password:$(\"input#password\").val
(),rand:Math.random() },function(data)
您有2个相同类型的ID,例如电子邮件的div ID,例如电子邮件的输入ID,您无法调用#email,因为它将在第一次出现时停止
为了进一步说明...没有关联类名的id被认为是唯一的,但是,如果您具有:
<div class=\'content\' id=\'email\'>
<input class=\'content\' id=\'email\'>
您可以使用以下示例在jquery中调用它们:
正式声明,键入>类名\'。\'> id \'#\'
$(\"div.content#email\");
$(\"input.content#email\");
如果没有匹配第一个标签,这将无法工作
$(\".content#email\");
$(\".content#email\");
,正如另一个人说的不要共享ID并尝试以下操作:
更换:
{ email:$(\"#email\").val(),password:$(\"#password\").val(),rand:Math.random() }
与
$(this).parents(\"form\").serialize()
http://jsfiddle.net/sjD9q/
,您是密码,并且电子邮件输入与包含它们的父div共享一个ID,如果您更改div ID,则该表格应该可以使用。
注意:坏习惯是拥有多个同名的ID,因为这会破坏许多浏览器中的相关CSS和Javascript。