2016-06-03 8 views
0

Was ist falsch an meinem Code? Es loggt nicht ein, was mache ich falsch? Die echo "1;" etc ist für die Überprüfung, ob meine Verbindung zum Beispiel gut ist.Login-Formular meldet sich nicht an

<?php 
session_start(); 

if(!isset($_POST['username'])) 
$_POST['username'] = ''; 
if(!isset($_POST['password'])) 
$_POST['password'] = ''; 

if (isset($_SESSION['ingelogd'])) header("location: index.php"); 


$dbhost = "localhost"; 
$dbuser = "pc4u0fi_username"; 
$dbpass = "pc4upc4u1"; 
$dbname = "pc4u0fi_pc4u"; 
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname); 

if ($conn->connect_error) die("Connection failed"); 
echo "1;"; 
if (isset($_POST['submit'])) { 
echo "2;"; 

$uname = $_POST['username']; 
$wwoord = $_POST['password']; 
echo "3;"; 


$query = 'SELECT * FROM Klanten WHERE klant_username = "' . $uname . '" && klant_password = "' . $wwoord . '"'; 
echo "4;"; 

$result = $conn->query($query); 

if ($result->num_rows == 1) { 
    $result = $result->fetch_row(); 
    $_SESSION['ingelogd'] = true; 
    echo "5;"; 

    header("location: index.php"); 
} else { 
    $msg = "Inloggegevens incorrect."; 
} 
//$conn->close(); 
} 
?> 
<script> 
function myFunction() { 
    alert("U bericht is verzonden. Er word zo spoedig mogelijk contact met u opgenomen."); 
} 
</script> 
<link href="contact.css" rel="stylesheet"> 

<style type="text/css"> 
input, td, tr { 
    padding-right: 20px; 
} 
</style> 
<form class="form-horizontal" role="form" method="post"> 
<div class="form-group"> 
    <label class="control-label col-sm-2" style="text-align: left; width: 120px; margin-left: 10px; margin-top: 10px;" for="username">Username:</label> 
    <div class="col-sm-10"> 
     <input type="text" class="form-control" id="username" name="username" style="width: 250px; margin-top: 10px;" required placeholder=""> 
    </div> 
</div> 
<div class="form-group"> 
    <label class="control-label col-sm-2" for="password" style="text-align: left; width: 120px; margin-left: 10px; margin-top: 10px;">Password:</label> 
    <div class="col-sm-10"> 
     <input type="password" class="form-control" id="password" name="password" style="width: 250px; margin-top: 10px;" required placeholder=""> 
    </div> 
</div> 
<div class="form-group"> 
    <div class="col-sm-offset-2 col-sm-10"> 
     <button type="submit" style="margin-left: 120px; margin-bottom: 10px;" class="btn btn-default" name="submit">Inloggen</button> 
    </div> 
</div> 
</form> 
+0

gibt es irgendwelche errors.enable Fehler –

+0

Haben Sie einen Fehler ?? Und was Ihr Code echo 1,2,3 ???? – Saty

+0

was hast du nachdem du gelaufen bist? –

Antwort

0

Von php.net:

Denken Sie daran, dass die header() aufgerufen werden muss, bevor eine Ausgabe gesendet wird, entweder durch normale HTML-Tags, leere Zeilen in einer Datei oder von PHP.

Durch das Echo der Zahlen können Sie die Umleitung zu index.php unterbrechen.

0

Der erste Schritt, den Sie nehmen müssen, ist, eine nach jeder header() Funktion, die Sie haben, zu setzen. Wenn Sie das nicht tun, wird der Code weiterhin ausgeführt, der nach der header()-Funktion kommt.

Eine zweite gute Praxis besteht darin, die Abfrage nur auszuführen, wenn ein Formular tatsächlich übergeben wird. Sie können dies tun mit:

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    // Validate login here 
} 
Verwandte Themen