转换为PHP时脚本无法正常工作

时间:2016-09-27 19:54:04

标签: javascript php jquery html

我已经编写了java脚本来验证注册信息但是当我将它加入action.php文件时它无法正常工作。但它在html文件中工作正常。 刷新页面后它也不起作用。我没有弄到它有什么问题。请帮助解决这个问题。

是注册页面。

<?php include 'conn.php'; ?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="signup.css">
</head>
   <body onload="form.reset();"">
    <div class="container">
       <div id="grad">
            <ul>
          <li style=""><a href="#contact">Helping Hands...</a></li>
          <li style="float:right"><a class="active" href="#about"> Have an account? Log in</a></li>
        </ul>
       </div>   
       <form name=form action="#" onsubmit="return validate()" autocomplete=on method="post">   
        <div class="outsidebox" >
          <div class='login'>
              <h2>Register</h2>
              <div class="agree1">
                 <label style="margin-left: 30px;"> <input id="ngo" type="radio" name="option" value="ngo" checked>NGO</label>
                 <label style="margin-left:30px;"><input id="ind" type="radio" name="option" value="ind">INDIVIDUAL</label>
              </div>
             <span><input name='uname' placeholder='Username' type='text' value='<?php echo $_SESSION['name']; $_SESSION['name']='';?>'>
               <p id="username" style="font-size: 12px;color:red;"></p>
             </span>
             <span><input name='email' placeholder='E-Mail Address' type='text'>

               <p id="email" style="font-size: 12px;color:red;"></p></span>
             <span> <input name='password' placeholder='Password' type='password'>
              <p id="password" style="font-size: 12px;color:red;"></p></span>
              <span><input name='passwordcon' placeholder=' Confirm Password' type='password'>
               <p id="passwordcon" style="font-size: 12px;color:red;"></p></span>
              <span><input name='fullname' placeholder='Enter Your Full Name ' type='text'>
               <p id="fullname" style="font-size: 12px;color:red;"></p></span>
              <div id="a1" >
                    <strong>PLEASE SELECT FIELDS</strong><br>
                    <div class="fields">
                     <select name="fields" id="fields">
                                <option value="child">Child Welfare</option>
                        <option value="education">Child Education</option>
                        <option value="relief">Disaster Management and relief</option>
                        <option value="envir">Environment</option>
                        <option value="animals">Animals</option>
                     </select>
                    </div>
                 </div>
              <div class='agree'>
                <input id='agree' name='agree' type='checkbox'>
                <label for='agree'></label>Accept rules and conditions
              </div>
              <input class='animated' type='submit' value='Register'>
              <a class='forgot' href='#'>Already have an account?</a>


        </div>         
        </div>
        </form>
   </body>
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("#ngo").click(function(){
        $("#a1").show();
    });
    $("#ind").click(function(){
        $("#a1").hide();
    });
});
</script>
<script language="javascript">
function validate(){
  var flag=1;
   var form=document.forms.form;
   var user=form.username.value;

       if(user==null || user==""){
        user="please enter username";
        document.getElementById("username").innerHTML=user;
        flag=0;
       }
       else{
            document.getElementById("username").innerHTML="";
       }
      var email=form.email.value; 
     if(email==null ||email==""){
        email="please enter email";
        document.getElementById("email").innerHTML=email;

        flag=0;
     }
      else{
            document.getElementById("email").innerHTML="";
       }
     var password=form.password.value;
     if(password==null || password==""){
            password="please enter password";
            document.getElementById("password").innerHTML=password;
            flag=0;
     }
      else{
            document.getElementById("password").innerHTML="";
       }
     var passwordcon=form.passwordcon.value;
     if(passwordcon==null || passwordcon==""){
        passwordcon="please conform password";
        document.getElementById("passwordcon").innerHTML=passwordcon;
        flag=0;
     }
        else{
            document.getElementById("passwordcon").innerHTML="";
            }
     if(passwordcon!=password){
        passwordcon =" pasword confirmation fail";
        document.getElementById("passwordcon").innerHTML=passwordcon;
        flag=0;
     }
      else{
            document.getElementById("passwordcon").innerHTML="";
       }
     var fullname=form.fullname.value;
     if (fullname==null || fullname=="") {
        fullname="Enter full name";
        document.getElementById("fullname").innerHTML=fullname;
        flag=0;
     }
      else{
            document.getElementById("fullname").innerHTML="";
       }
     if(flag==0){
        return false;
     }
     else{
        return true;
`enter code here`     }
}
</script>

</html>

这是我的action.php作为inputs.php,其中我已经编写了定义的会话变量。将错误发送到注册页面;而且我也在执行 电子邮件验证检查。然后检查用户名是否用于插入此项 进入数据库。

<?php include 'conn.php'; ?>
<?php

    if($_SERVER["REQUEST_METHOD"]=="POST")
    {
            $password=$_POST["password"];
            $fullname=$_POST["fullname"];
            $uname=$_POST["uname"];
            $ngo=$_POST["option"];
            $field=$_POST["field"];
            $email=$_POST["email"];
            $_SESSION['uerr']='';
            $_SESSION['emailerr']='';

         if (!filter_var($email, FILTER_VALIDATE_EMAIL) === true){
                    $emailerr="Inavalid Email";
                $_SESSION['email']=$emailerr;
                $sql="SELECT * FROM user WHERE uname='$uname' LIMIT 1";
                $result=mysqli_query($conn,$sql);
                 $countu= mysqli_num_rows($result);
                 echo "in emailerr".$countu; 
                 if($countu==0)
                 {
                       $_SESSION['fullname']=$fullname;
                       $_SESSION['field']=$field;
                       $_SESSION['name']=$uname;
                       $_SESSION['emailerr']=$emailerr;
                       $_SESSION['email']='';
                       die(header('Location:signup2.php'));

                 }
                 else{
                       $uerr="USER NAME already taken";
                       $_SESSION['fullname']=$fullname;
                       $_SESSION['field']=$field;
                       $_SESSION['name']='';
                       $_SESSION['uerr']=$uerr;
                       $_SESSION['emailerr']=$emailerr;
                       $_SESSION['email']='';
                      echo "in esle";
                      die(header('Location:signup2 .php'));
                 }
            }
             /* $sql="SELECT * FROM user WHERE uname='$uname' LIMIT 1";
                $result=mysqli_query($conn,$sql);
                 $countu= mysqli_num_rows($result);
                  $sql="SELECT * FROM user WHERE email='$email' LIMIT 1";
                  $result=mysqli_query($conn,$sql);
                  $counte = mysqli_num_rows($result);
               if($counte==1 && $countu==1)
               {
                       $uerr="USER NAME already taken";
                       $emailerr="email already taken";
                       $_SESSION['fullname']=$fullname;
                       $_SESSION['field']=$field;
                       $_SESSION['emailerr']=$emailerr;
                       $_SESSION['uerr']=$uerr;
                        echo "in bothlerr"; 
                       die(header('Location:signup1.php'));


                }
                elseif($counte==1)
               {

                       $emailerr="email already taken";
                       $_SESSION['fullname']=$fullname;
                       $_SESSION['field']=$field;
                       $_SESSION['name']=$uname;
                       $_SESSION['emailerr']=$emailerr;
                       $_SESSION['email']='';
                        echo "in boeerr"; 
                        die(header('Location:signup1.php'));
                } 
                 elseif($countu==1)
               {
                       $uerr="USER NAME already taken";
                      $_SESSION['fullname']=$fullname;
                       $_SESSION['field']=$field;
                       $_SESSION['email']=$email;
                        $_SESSION['uerr']=$uerr;
                        $_SESSION['name']='';
                         echo "in uerr"; 
                        die(header('Location:signup1.php'));
                }


            else{
                 if($ngo="ngo"){ 
                 date_default_timezone_set("Asia/Kolkata");
                 $date=date("Y-m-d h:i:s");
                 $sql="INSERT INTO user(uname,email,password,dtime,full_name,field) VALUES ( '$uname', '$email', '$password','$date','$fullname','$field')";
                 mysqli_query($conn,$sql);
                 echo "in ngo data inserted";
                }
                else{
                        date_default_timezone_set("Asia/Kolkata");
                        $date=date("Y-m-d h:i:s");
                        $field='none';
                        $sql="INSERT INTO user(uname,email,password,dtime,full_name,field) VALUES ( '$uname', '$email', '$password','$date','$fullname','$field')";
                        mysqli_query($conn,$sql);
                        echo "in ind datainserted";
                    }




         }*/
    }

?>

最后一个是主要的signup.html文件,其中javascript运行良好。 我想执行一些错误检查,这就是我保存它的原因 htdocs中的signup2.php

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="signup.css">
</head>
   <body onload="form.reset();"">
    <div class="container">
       <div id="grad">
            <ul>
          <li style=""><a href="#contact">Helping Hands...</a></li>
          <li style="float:right"><a class="active" href="#about"> Have an account? Log in</a></li>
        </ul>
       </div>   
       <form name=form action="#" onsubmit="return validate()" autocomplete=on method="post">   
        <div class="outsidebox" >
          <div class='login'>
              <h2>Register</h2>
              <div class="agree1">
                 <label style="margin-left: 30px;"> <input id="ngo" type="radio" name="option" value="ngo" checked>NGO</label>
                 <label style="margin-left:30px;"><input id="ind" type="radio" name="option" value="ind">INDIVIDUAL</label>
              </div>
             <span><input name='username' placeholder='Username' type='text'>
               <p id="username" style="font-size: 12px;color:red;"></p>
             </span>
             <span><input name='email' placeholder='E-Mail Address' type='text'>

               <p id="email" style="font-size: 12px;color:red;"></p></span>
             <span> <input name='password' placeholder='Password' type='password'>
              <p id="password" style="font-size: 12px;color:red;"></p></span>
              <span><input name='passwordcon' placeholder=' Confirm Password' type='password'>
               <p id="passwordcon" style="font-size: 12px;color:red;"></p></span>
              <span><input name='fullname' placeholder='Enter Your Full Name ' type='text'>
               <p id="fullname" style="font-size: 12px;color:red;"></p></span>
              <div id="a1" >
                    <strong>PLEASE SELECT FIELDS</strong><br>
                    <div class="fields">
                     <select name="fields" id="fields">
                                <option value="child">Child Welfare</option>
                        <option value="education">Child Education</option>
                        <option value="relief">Disaster Management and relief</option>
                        <option value="envir">Environment</option>
                        <option value="animals">Animals</option>
                     </select>
                    </div>
                 </div>
              <div class='agree'>
                <input id='agree' name='agree' type='checkbox'>
                <label for='agree'></label>Accept rules and conditions
              </div>
              <input class='animated' type='submit' value='Register'>
              <a class='forgot' href='#'>Already have an account?</a>


        </div>         
        </div>
        </form>
   </body>
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("#ngo").click(function(){
        $("#a1").show();
    });
    $("#ind").click(function(){
        $("#a1").hide();
    });
});
</script>
<script language="javascript">
function validate(){
  var flag=1;
   var form=document.forms.form;
   var user=form.username.value;

       if(user==null || user==""){
        user="please enter username";
        document.getElementById("username").innerHTML=user;
        flag=0;
       }
       else{
            document.getElementById("username").innerHTML="";
       }
      var email=form.email.value; 
     if(email==null ||email==""){
        email="please enter email";
        document.getElementById("email").innerHTML=email;

        flag=0;
     }
      else{
            document.getElementById("email").innerHTML="";
       }
     var password=form.password.value;
     if(password==null || password==""){
            password="please enter password";
            document.getElementById("password").innerHTML=password;
            flag=0;
     }
      else{
            document.getElementById("password").innerHTML="";
       }
     var passwordcon=form.passwordcon.value;
     if(passwordcon==null || passwordcon==""){
        passwordcon="please conform password";
        document.getElementById("passwordcon").innerHTML=passwordcon;
        flag=0;
     }
        else{
            document.getElementById("passwordcon").innerHTML="";
            }
     if(passwordcon!=password){
        passwordcon =" pasword confirmation fail";
        document.getElementById("passwordcon").innerHTML=passwordcon;
        flag=0;
     }
      else{
            document.getElementById("passwordcon").innerHTML="";
       }
     var fullname=form.fullname.value;
     if (fullname==null || fullname=="") {
        fullname="Enter full name";
        document.getElementById("fullname").innerHTML=fullname;
        flag=0;
     }
      else{
            document.getElementById("fullname").innerHTML="";
       }
     if(flag==0){
        return false;
     }
     else{
        return true;
     }
}
</script>

</html>

1 个答案:

答案 0 :(得分:0)

在进行故障排除之前,您需要清理代码并正确格式化HTML,如果在练习后仍无法实现预期目的。

正如您在初始帖子下面的评论中指出的那样,您的代码包含许多问题,需要很好地形成;

  • </head> 元素应该 <title> 个实例。
  • 您应该 <body onload="form.reset();"> (在半栏后面没有额外的双引号)
  • 请务必关闭 <div class="container"> ;它目前没有。
  • 您的 <p> 元素不应 <span> 的子元素,因为实际上这是不允许的您声明的文档类型定义 <!DOCTYPE html>
    ...详细信息here, for <p> here, for <span>
  • <body> 之前关闭 </html> 标记;不是在 </form> 之后 您的JavaScript内容仍然是您网页内容的一部分,因此如果未在body部分声明,应该在<{1}}标记中

您可以在 head 元素上省略 language="javascript" 属性;它已经过时了。

相关问题