2017-09-04 1 views
-1

Ich entwickle langsam diese Website, und ich habe auf diesem für eine Weile festgefahren. HierUmleiten auf eine andere Seite von einem PHP-Skript

ist der Code für das Zeichen in und registrieren Seite (es gibt ein paar andere Dateien, die aber ich hätte nicht gedacht, sie gebraucht wurden, die Idee zu bekommen)

<html> 
 
<head> 
 
    <h1>Welcome to <b>SPICY MEMES</b>!</h1> 
 
    <h3>Your favourite meme network. </h3> 
 
    <p>Please login to view all the spiciest memes on the world wide of webz:</p> 
 
    <meta charset="utf-8"> 
 
    <title>Spicy memes</title> 
 
    <style type="text/css"> 
 
     .form { 
 
      width: 30%; 
 
     } 
 
     input[type="text"], input[type="password"] { 
 
      width: 99%; 
 
      height: 1.5em; 
 
      padding-bottom: 5px; 
 
      margin-bottom: 4px; 
 
     } 
 
    </style> 
 
</head> 
 
<body> 
 
    
 
    <div class="form"> 
 
     <fieldset> 
 
      <legend>&nbsp;LOGIN&nbsp;</legend> 
 
      <form name="login" action="inc/php/login.php" method="post"> 
 
       <input name="uname" type="text" placeholder="please enter your user name"><br /> 
 
       <input name="upassword" type="password" placeholder="please enter your password or passphrase"><br /> 
 
       <input name="submit" type="submit" value="log in"/> 
 
      </form> 
 
     </fieldset> 
 
    </div> 
 
    <p>or alternatively, create an account</p> 
 
    <div class="form"> 
 
     <fieldset> 
 
      <legend>&nbsp;REGISTER&nbsp;</legend> 
 
      <form name="register" action="inc/php/register.php" method="post"> 
 
       <input name="fname" type="text" placeholder="please enter your first name" required><br /> 
 
       <input name="lname" type="text" placeholder="please enter your last name" required><br /> 
 
       <input name="uname" type="text" placeholder="please enter a user name" required><br /> 
 
       <input name="upassword" type="password" placeholder="please enter a password or passphrase" required><br /> 
 
       <input name="submit" type="submit" value="register" /> 
 
      </form> 
 
     </fieldset> 
 
    </div> 
 
    <div id="response"></div> 
 
    <script type="text/javascript" src="inc/jquery/jquery-1.11.2.min.js"></script> 
 
    <script type="text/javascript" src="inc/jquery/functions.js"></script> 
 
</body> 
 
</html>

wenn Sie also in diesem pHP-Skript melden Sie sich an ausgeführt ...

<?php 
 
include 'pdo_connect.php'; 
 

 
if(!empty($_POST)) { 
 
    $query = "SELECT `password` FROM `users` WHERE `uname` = ?"; 
 
    $params = array($_POST['uname']); 
 
    $results = dataQuery($query, $params); 
 
} 
 

 
$hash = $results[0]['password']; // first and only row if username exists; 
 
$loggedin = 0; 
 
if (password_verify($_POST['upassword'], $hash)) 
 
{ 
 
    //here i want to redirect the login page to a page called main.html 
 
} 
 
else 
 
{ 
 
    echo 'Invalid username/password, are you registered?'; 
 
} 
 
?>

würde jede Hilfe :)

groß sein, ich ein einfaches PHP in der

header("Location: http://example.com/myOtherPage.php"); 
die(); 

if-Anweisung umleiten hinzuzufügen haben versucht, aber nichts passiert und keine Fehler. Ich habe auch versucht, mit echo, um es auf die Seite zu bekommen, da das PHP-Skript in einer anderen Datei ist und kein Glück.

UPDATE 1

dies versucht, so vorgeschlagen, aber kein Glück nach der Anmeldung wird die 2 Benutzername und Passwort Felder leer und nichts passiert geklickt - keine Fehler.

<?php 
 

 
include 'pdo_connect.php'; 
 
var_dump($_POST); 
 
if(!empty($_POST)) { 
 
    $query = "SELECT `password` FROM `users` WHERE `uname` = ?"; 
 
    $params = array($_POST['uname']); 
 
    $results = dataQuery($query, $params); 
 
} 
 

 
$hash = $results[0]['password']; // first and only row if username exists; 
 
$loggedin = 0; 
 
if (password_verify($_POST['upassword'], $hash)) 
 
{ 
 
     header("Location: main.html"); 
 
     exit; 
 
} 
 
else 
 
{ 
 
    echo 'Invalid username/password, are you registered?'; 
 
} 
 
?>

UPDATE 2

Auskommen include pdo_connect Ergebnisse zu diesem Fehler, weil sein, wie es im Gespräch mit der SQL-Datenbank für die Passwörter ...

error

UPDATE 3

mit einem Versuch fangen nichts Änderungen/passiert und keine Fehlermeldung.

<?php 
 

 
include 'pdo_connect.php'; 
 
var_dump($_POST); 
 
if(!empty($_POST)) { 
 
    $query = "SELECT `password` FROM `users` WHERE `uname` = ?"; 
 
    $params = array($_POST['uname']); 
 
    $results = dataQuery($query, $params); 
 
} 
 

 
$hash = $results[0]['password']; // first and only row if username exists; 
 
$loggedin = 0; 
 

 
try 
 
{ 
 
    if (password_verify($_POST['upassword'], $hash)) 
 
    { 
 
     header("Location: main.html"); 
 
     exit; 
 
    } 
 

 
    else 
 
    { 
 
    echo 'Invalid username/password, are you registered?'; 
 
    } 
 
} 
 
catch(Exception $e) 
 
{ 
 
\t echo "something went wrong"; 
 
} 
 
?>

+0

Mögliche Duplikate von [Wie man eine Umleitung in PHP?] (Https://StackOverflow.com/Questions/768431/How-To-Make-Aredirect-in-PHP) – Jeff

+0

Hey, ja, ich habe gesucht dabei und versucht es und funktioniert nicht, passiert nichts.Ich habe auch versucht, ein Echo zu verwenden, um es auf die Hauptseite zu senden, aber wieder keine Fehler, aber nichts passiert. –

+0

Ist der PHP-Code, den Sie auf diesen Pfad setzen "inc/php/login.php" ?, machen Sie bitte eine 'var_dump ($ _ POST);' vor 'if (! Empty ($ _ POST))' und teilen Sie Ihre Ergebnisse . – Jeff

Antwort

0

Auch habe ich hade Probleme mit Header in der Vergangenheit daher einfach das ich verwende.

echo "<script>window.location.replace('mypage.php')</script>"; 

natürlich könnte die mypage.php jede URL Ihrer Wahl sein, aber nicht setzen doppelte Anführungszeichen um die URL.

0

George Sie Pfad mit Kopf Funktionen, in Ihrem Fall Ort umleiten kann es header("location: main.html");

+0

Ich habe versucht, aber nichts passiert :( –

Verwandte Themen