2016-09-27 33 views
0

我已經編寫了用於驗證註冊信息的java腳本,但是當我將它加入到action.php文件中時,它不工作。但它在html文件中正常工作。 它刷新頁面後也沒有工作,我沒有得到它的錯誤,請幫助解決這個問題。腳本不能按預期轉換到PHP

它是註冊頁面。

<?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> 

這是我作爲inputs.php action.php的,其中我已經寫定義的會話variables.to發送錯誤到註冊頁面;而且我正在執行 電子郵件驗證check.Then我檢查用戶名或使用不要將此 插入到數據庫中。

<?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> 
+0

控制檯錯誤? – mplungjan

+0

你應該調試你的代碼 –

+0

你有沒有意識到你的註冊頁面有一個html錯誤。 兩個雙引號。 –

回答

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內容仍然是您網頁內容的一部分,因此如果您的head部分中未聲明應爲內已打開和關閉的body標記。

隨意省略您<script>元素的language="javascript"屬性;它已經過時了。