2016-10-29 4 views
0

Ich versuche, eine einfache Login-Funktionalität in meinem Projekt zu implementieren, aber aus irgendeinem Grund funktioniert es nicht wie erwartet (oder überhaupt). Ich bin nicht in der Lage, die Daten von den name Attributen aus dem PHP-Formular zu erhalten, damit ich mit dem Login fortfahren kann. Aus irgendeinem Grund werden die Daten überhaupt nicht abgerufen. Ich bin neu in der Web-Entwicklung, also bitte helfen.Login-Formular in Modal mit Bootstrap und PHP funktioniert nicht

Hier ist meine Modal das Formular enthält

<div class="modal-content"> 
    <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal">&times;</button> 
     <h4 class="modal-title">LOGIN</h4> 
    </div> 
    <div class="modal-body"> 
     <p>Please, enter your login details.</p> 
    </div> 


    <form method="POST" action="homePage.php"> 
     <div class="row"> 
     <div class="col-xs-7"> 
      <input type="text" name="txtUserEmail" class="form-control modalForm" id="usr" placeholder=" CPR 000000-0000"> 
     </div> 
     </div> 
     <div class="row"> 
     <div class="col-xs-7"> 
     <input type="password" class="form-control modalForm" name="txtUserPassword" id="pwd" placeholder="Password"> 
     </div> 
     </div> 
     <button type="button" class="btn btn-info modalForm" data-dismiss="modal">Login</button> 
    </form> 


    <div class="modal-footer"> 

    </div> 
    </div> 

Und hier ist die PHP für die Anmeldung:

<?php 


    session_start(); 

    $string = file_get_contents("users.json"); 

    $json_a = json_decode($string, true); 

    $arr = array(); 
    foreach ($json_a as $json_r) { 
    if ($json_r['userName']==$_POST["txtUserEmail"] && $json_r['pass']==$_POST["txtUserPassword"]) { 
     file_put_contents("prods.json",$json_r['userName']); 

     if ($json_r['isAdmin']==1) { 
     $_SESSION['userEmail'] = $json_r['userName']; 
     header('location: adminPage.php'); 
     # code... 
     }else{ 
     $_SESSION['userEmail'] = $json_r['userName']; 
     header('location: patientPage.php'); 
     } 
    } 

    } 
?> 

Jede Eingabe geschätzt wird.

+0

Wo ist Senden-Schaltfläche? Sie reichen kein Formular ein. –

+0

Das ist die Login-Schaltfläche .. ich denke, .. –

+1

Entweder Sie benötigen eine Eingabe vom Typ senden oder senden Sie das Formular manuell mit jQuery. Der Login-Button sendet in Ihrem Fall kein Formular. –

Antwort

2

Probieren Sie diese

<div class="modal-content"> 
<div class="modal-header"> 
    <button type="button" class="close" data-dismiss="modal">&times;</button> 
    <h4 class="modal-title">LOGIN</h4> 
</div> 
<div class="modal-body"> 
    <p>Please, enter your login details.</p> 
</div> 


<form method="POST" action="homePage.php"> 
    <div class="row"> 
    <div class="col-xs-7"> 
     <input type="text" name="txtUserEmail" class="form-control modalForm" id="usr" placeholder=" CPR 000000-0000"> 
    </div> 
    </div> 
    <div class="row"> 
    <div class="col-xs-7"> 
    <input type="password" class="form-control modalForm" name="txtUserPassword" id="pwd" placeholder="Password"> 
    </div> 
    </div> 
    <button type="submit" class="btn btn-info modalForm" >Login</button> 
</form> 


<div class="modal-footer"> 

</div> 

2

set name = "Eintragen" und type = "submit" in Ohrenmarke

<button name="submit" type="submit" class="btn btn-info modalForm" data-dismiss="modal">Login</button> 

und eine Bedingung wie diese

if(isset($_POST['submit'])){ 
$arr = array(); 
foreach ($json_a as $json_r) { 
    if ($json_r['userName']==$_POST["txtUserEmail"] && $json_r['pass']==$_POST["txtUserPassword"]) { 
    file_put_contents("prods.json",$json_r['userName']); 

    if ($json_r['isAdmin']==1) { 
    $_SESSION['userEmail'] = $json_r['userName']; 
    header('location: adminPage.php'); 
    # code... 
    }else{ 
    $_SESSION['userEmail'] = $json_r['userName']; 
    header('location: patientPage.php'); 
    } 
    } 
} 
} 
Verwandte Themen