Butonul de conectare nu funcționează (Programare, Php)

nimic a intrebat.
a intrebat.

Sunt nou în dezvoltarea web și vreau să fac un formular simplu de autentificare, deși Nu sunt sigur de ce butonul meu de autentificare nu răspunde, utilizatorul este obligat să introducă parola lor de e-mail ans. odată ce utilizatorul introduce o parolă, butonul de autentificare nu funcționează.

 <?php
 session_start();



    if(isset($_POST['submit'])) {
        include_once("php/config/database.php"); 
        $Email = strip_tags($_POST['Email']);
        $dbPassword = strip_tags($_POST['Password']);

        $Email = stripslashes($Email);
        $dbPassword = stripslashes($dbPassword);

        $Email = mysqli_real_escape_string($conn, $Email);
        $dbPassword = mysqli_real_escape_string($conn, $dbPassword);

        $dbPassword = md5($dbPassword);

        $sql = ("SELECT * FROM 'Users' WHERE Email='$Email' LIMIT 1");
        $query = mysqli_query($conn, $sql);
        $row = mysqli_fetch_array($query);
        $UserID = $row['UserID'];
        $dbpass_Password = $row['Password'];

        if($dbPassword == $dbpass_Password) {
            $_SESSION['Email'] = $Email;
            $_SESSION['UserID'] = $UserID;
            header("Location: account.php");
        } 
        else 
        {
            echo "You didn't enter the correct details!";
        }

    } 


?>


        <html >
          <head>
            <meta charset="UTF-8">
            <title>background</title>




                <link rel="stylesheet" href="css/style.css">
         <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>

             <script src="js/index.js"></script>




          </head>

          <body>


            <div class="container demo-1">





              <div class="content">

                <div id="large-header" class="large-header">

              <form  action="index.php" method="POST>  
                  <div class="box">


              <h1 id="logintoregister">Login</h1>


          <div class="group show">      
              <input class="inputMaterial" type="text" name="FirstName" >
              <span class="highlight"></span>
              <span class="bar"></span>
              <label>First Name</label>
              </div>
            <div class="group show">      
              <input class="inputMaterial" type="text" name="Surname" >
              <span class="highlight"></span>
              <span class="bar"></span>
              <label>Surname</label>
              </div>


             <div class="group ">      
              <input class="inputMaterial" type="email" name="Email" >
              <span class="highlight"></span>
              <span class="bar"></span>
              <label>Email</label>
              </div>

            <div class="group">      
              <input class="inputMaterial" type="password" id="password" name="Password" >
              <span class="highlight"></span>
              <span class="bar"></span>
              <label>Password</label>
              </div>
            <div class="group show">      
              <input class="inputMaterial" type="password"  id="confirm_password" >
              <span class="highlight"></span>
              <span class="bar"></span>
              <label>Confirm Password</label>
              </div>


        <button id="buttonlogintoregister"  type = "submit" name="submit">Login</button>

          <p id="plogintoregister">By registering, You accept all terms and conditons </p>
          <p id="textchange" onclick="register()"> Sign Up</p>


                 </form> 




              <!-- Related demos -->




         <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>

             <script src="js/index.js"></script>


        </body>
        </html>

Comentarii

  • În loc de if($_POST['submit']) { ... face if(isset($_POST['submit'])) { ... –  > Por Rajdeep Paul.
  • am încercat nu a funcționat 🙁 – –  > Por nimic.
  • Pentru a face să funcționeze trebuie să puneți totul în interiorul tag-ului <form> și să setați atributele în mod corespunzător.-> w3schools.com/php/php_forms.asp –  > Por admix.
1 răspunsuri
Marc B

html-ul tău este stricat:

      <form  action="index.php" method="POST" />  
                                              ^---

Ai închis singur tag-ul form, deci TOATE câmpurile de intrare din pagina ta sunt ÎN AFARĂ din formularul tău.

În plus, rețineți că aveți și alte erori de logică:

        if($Password == $dbpass_Password) {
              ^----

$password este o versiune sql-escaped a PW al utilizatorului. Dacă acea parolă conține în mod natural metacaractere SQL, parola NU va fi comparată ca fiind egală cu ceea ce iese din baza de date. Aceste scăpări sunt eliminate în timpul procesului de inserare în baza de date, iar tu vei ajunge să faci ceva de genul

 "Miles O'Brien" == "Miles O'Brien"

și va returna o neconcordanță falsă.

Comentarii

  • Mulțumesc am încercat ceea ce ați sugerat, totuși tot nu am avut noroc. puteți vizualiza site-ul pentru dvs. dacă doriți. –  > Por nimic.

Tags: