Php JavaScript验证无法插入到数据库中

Php JavaScript验证无法插入到数据库中,php,javascript,Php,Javascript,好的,我不得不重新表述我的问题,我的javascript代码无法进入下一步,即isset['submit'],它只是停留在那里。我真的希望这里有人能帮我纠正我的javascript代码,这样它就能成功地调用isset并运行我的php代码将其添加到数据库中 我的php代码 if(isset($_POST['submit'])){ $firstname = mysql_escape_string($_POST['fname']); $lastname = mysql_escape_string($

好的,我不得不重新表述我的问题,我的javascript代码无法进入下一步,即isset['submit'],它只是停留在那里。我真的希望这里有人能帮我纠正我的javascript代码,这样它就能成功地调用isset并运行我的php代码将其添加到数据库中

我的php代码

if(isset($_POST['submit'])){

$firstname = mysql_escape_string($_POST['fname']);
$lastname = mysql_escape_string($_POST['lname']);
$age = mysql_escape_string($_POST['age']);
$gender = mysql_escape_string($_POST['gender']);
$email = mysql_escape_string($_POST['email']);
$password = mysql_escape_string($_POST['password']);
$nickname = mysql_escape_string($_POST['nickname']);
$regflag = 0;



$sql = "SELECT * FROM accounts";
$query = mysql_query($sql);
while($row = mysql_fetch_assoc($query))
{

        if($row['email'] == $email)
        {
            echo '<b> The email is already taken!</b>'; 
            $regflag = 0;
        }
        if($row['nickname'] == $nickname)
        {
            echo '&nbsp;<b>The nickname is already taken!</b>'; 
            $regflag = 0;
        }
}

if($regflag == 1)
{

    $regsql = "INSERT INTO accounts         VALUES('','$firstname','$lastname','$age','$gender','$email','$password','$nickname','MEMBER',now())";
    $query = mysql_query($regsql);
    echo '<body onLoad = "regsucess()"> </body>';
}
if(isset($\u POST['submit'])){
$firstname=mysql\u escape\u字符串($\u POST['fname']);
$lastname=mysql\u escape\u字符串($\u POST['lname']);
$age=mysql_escape_字符串($_POST['age']);
$gender=mysql_escape_字符串($_POST['gender']);
$email=mysql_escape_字符串($_POST['email']);
$password=mysql_escape_字符串($_POST['password']);
$nickname=mysql\u escape\u字符串($\u POST['nickname']);
$regflag=0;
$sql=“从帐户中选择*”;
$query=mysql\u查询($sql);
while($row=mysql\u fetch\u assoc($query))
{
如果($row['email']==$email)
{
回显“电子邮件已被接收!”;
$regflag=0;
}
如果($row['昵称]==$昵称)
{
echo‘绰号已经被取了!’;
$regflag=0;
}
}
如果($regflag==1)
{
$regsql=“在帐户中插入值(“”,$firstname’、$lastname’、$age’、$gender’、$email’、$password’、$昵称’、'MEMBER',now())”;
$query=mysql\u query($regsql);
回声';
}
}

我的javascript代码

<script type = "text/javascript">
function validator(){

    if(!document.register.fname.value)
    {
    alert('You need to supply your first name.');
    document.register.fname.focus();
    return false;
    }
    if(!document.register.lname.value)
    {
    alert('You need to supply your last name.');
    document.register.lname.focus();
    return false;
    }
    if(!document.register.age.value)
    {
    alert('You need to supply your age.');
    document.register.age.focus();
    return false;
    }
    if(!document.register.email.value)
    {
    alert('You need to supply your email.');
    document.register.email.focus();
    return false;
    }
    if(!document.register.password.value)
    {
    alert('You need to supply your password.');
    document.register.password.focus();
    return false;
    }
    if(!document.register.nickname.value)
    {
    alert('You need to supply your nickname.');
    document.register.nickname.focus();
    return false;
    }


register.action = "register.php"
document.register.submit();
//alert("Congrats!");


}

函数验证器(){
if(!document.register.fname.value)
{
警报('您需要提供您的名字');
document.register.fname.focus();
返回false;
}
如果(!document.register.lname.value)
{
警报('您需要提供您的姓氏');
document.register.lname.focus();
返回false;
}
if(!document.register.age.value)
{
警惕('你需要提供你的年龄');
document.register.age.focus();
返回false;
}
如果(!document.register.email.value)
{
提醒('您需要提供您的电子邮件');
document.register.email.focus();
返回false;
}
如果(!document.register.password.value)
{
警报('您需要提供密码');
document.register.password.focus();
返回false;
}
if(!document.register.昵称.value)
{
警报('您需要提供您的昵称');
document.register.昵称.focus();
返回false;
}
register.action=“register.php”
document.register.submit();
//警惕(“恭喜!”);
}
为什么
register.action=“register.php”
而非
document.register.action=“register.php”
??
另外,如果您通过单击submit按钮或onsubmit调用此命令,则删除最后一行
document.register.submit()

最后,如果表单中有任何内容包含
name=“submit”
则无法从脚本调用提交事件

这是我希望看到的

<script type = "text/javascript">
function validate(theForm){

  if(!theForm.fname.value) {
    alert('You need to supply your first name.');
    theForm.fname.focus();
    return false;
  }
  if(!theForm.lname.value) {
    alert('You need to supply your last name.');
    theForm.lname.focus();
    return false;
  }
  if(!theForm.age.value) {
    alert('You need to supply your age.');
    theForm.age.focus();
    return false;
  }
  if(!theForm.email.value) {
    alert('You need to supply your email.');
    theForm.email.focus();
    return false;
  }
  if(!theForm.password.value) {
    alert('You need to supply your password.');
    theForm.password.focus();
    return false;
  }
  if(!theForm.nickname.value) {
    alert('You need to supply your nickname.');
    theForm.nickname.focus();
    return false;
  }
  return true
}
</script>

函数验证(表单){
如果(!theForm.fname.value){
警报('您需要提供您的名字');
格式为.fname.focus();
返回false;
}
if(!theForm.lname.value){
警报('您需要提供您的姓氏');
form.lname.focus();
返回false;
}
如果(!form.age.value){
警惕('你需要提供你的年龄');
form.age.focus();
返回false;
}
如果(!theForm.email.value){
提醒('您需要提供您的电子邮件');
form.email.focus();
返回false;
}
如果(!theForm.password.value){
警报('您需要提供密码');
form.password.focus();
返回false;
}
if(!theForm.nickname.value){
警报('您需要提供您的昵称');
form.昵称.focus();
返回false;
}
返回真值
}
使用


您应该复制(至少)PHP代码中使用的Javascript代码,以便插入到数据库中。事实上,插入的代码应该更难——Javascript的功能是找出常见的可疑代码(打字错误等),并为用户提供更好的体验

只需确保Javascript代码没有PHP代码那么苛刻。

同意mplungjan


你能给我们看一下表单html代码吗?提交输入的id可能与“提交”的id不同。

提供您正在使用的html代码…在Firefox中运行它,并打开web控制台。它会产生什么错误?还有,您的数据库连接在哪里?您应该使用
mysql\u real\u escape\u string
,除非您使用的是低于4.3的mysql版本
mysql\u escape\u字符串已被弃用。当然,大多数人会告诉你使用预先准备好的语句,这些语句更好用。它没有错误,只是加载了,什么也没发生。。。
<form action="register.php" onsubmit="return validate(this)">