2016-09-27 3 views
0

Ich habe Java-Skript geschrieben, um Anmeldeinformationen zu validieren, aber es funktioniert nicht, wenn ich es zu action.php file.but es funktioniert gut in HTML-Datei. es funktioniert auch nicht nach der Aktualisierung der Seite.Ich bekomme nicht, was ist falsch mit it.please helfen dieses Problem zu lösen.Skript funktioniert nicht wie erwartet, wenn nach PHP transponiert

es ist Anmeldeseite.

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

es ist mein action.php als inputs.php, in denen i definiert Sitzung geschrieben haben Fehler variables.to senden Seite anmeldet, und bin auch die Durchführung i E-Mail-Validierung check.Then i Benutzernamen überprüfen verwendet wird oder nicht diese in die Datenbank einfügen.

.

<?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"; 
        } 




     }*/ 
    } 

?> 

und der letzte ist main signup.html Datei, in der Javascript gut funktioniert. Ich möchte einige Fehlerprüfung durchzuführen, die ist, warum ich es als signup2.php in htdocs gespeichert haben

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

Konsolenfehler? – mplungjan

+0

sollten Sie Ihren Code debuggen –

+0

Haben Sie jemals bemerkt, dass Ihre Anmeldeseite einen HTML-Fehler hat. zwei doppelte Anführungszeichen. –

Antwort

0

Sie müssen Ihren Code aufzuräumen und Ihre HTML-Format richtig vor bei der Fehlerbehebung fortfahren sollten Sie noch nicht in der Lage, Ihren beabsichtigten Zweck nach dieser Übung zu erreichen.

Wie in den Kommentaren zu Ihrem ursprünglichen Beitrag erwähnt, enthält der Code viele Probleme und muss gut geformt sein;

  • Ihr </head> Element sollte eine Instanz <title> haben.
  • Sie sollten <body onload="form.reset();">(ohne die zusätzlichen doppelten Anführungszeichen am Ende, nach der Halbsäule) haben.
  • Denken Sie daran, Ihre <div class="container"> zu schließen; momentan nicht.
  • Ihre <p> Elemente sollten nicht untergeordnete Elemente <span> sein, da dies tatsächlich Ihre erklärt Dokumenttypdefinition, <!DOCTYPE html> nicht erlaubt ist, nach.
    ... mehr Details here, for <p> und here, for <span>.
  • Schließen Sie Ihren <body> Tag direkt vor Ihrem </html>; nicht nach </form>.
    Ihr JavaScript-Inhalt ist immer noch Teil Ihres Seiteninhaltes und als solcher sollte innerhalb des geöffneten und geschlossenen Tags body sein, wenn nicht in Ihrem head Abschnitt erklärt.

Fühlen Sie sich frei, die language="javascript" Attribut auf Ihrem <script> Element auszulassen; es ist veraltet.

Verwandte Themen