简体   繁体   中英

HTML/PHP login redirects to php

I have an html page that uses a php file to query a database, then log the user in, or deny access. The problem I'm having is that it simply redirects to the url of the php file, and never gives feedback on what happened. This is my first assignment with html, php, and mysql, so please excuse my lack of technical terms/knowledge.

HTML File

<html><head><title> Sign-In </title></head>
<body>

<h1> Login Form </h1>
<div id="Sign-In">
<form method="POST" action="connectivity.php">
Username: <input type='text' name='username'> <br><br>
Password: <input type='password' name='password'> <br><br>
<input id="button" type="submit" name="submit" value="Log-In">

</form>
</div>
</body>
</html>

PHP File

<?php
define('DB_HOST', 'localhost');
define('DB_NAME', 'project2');
define('DB_USER','root');
define('DB_PASSWORD','');

$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());
/*
$ID = $_POST['user'];
$Password = $_POST['pass'];
*/
function SignIn()
{
session_start();   //starting the session for user profile page
if(!empty($_POST['user']))   //checking the 'user' name which is from Sign-In.html, is it empty or have some text
{
    $query = mysql_query("SELECT *  FROM customers where userName = '$_POST[user]' AND pass = '$_POST[pass]'") or die(mysql_error());
    $row = mysql_fetch_array($query) or die(mysql_error());
    if(!empty($row['userName']) AND !empty($row['pass']))
    {
        $_SESSION['userName'] = $row['pass'];
        echo "SUCCESSFULLY LOGIN TO USER PROFILE PAGE...";

    }
    else
    {
        echo "SORRY... YOU ENTERD WRONG ID AND PASSWORD... PLEASE RETRY...";
    }
}
}
if(isset($_POST['submit']))
{
    SignIn();
}

?>

try this:

<?php

if (!empty($row['userName']) AND !empty($row['pass'])) {

    $_SESSION['userName'] = $row['pass'];
    header("Location: mypage.php?is_login=1");
    exit;     // exit is must or you can use retun also
}

else {

    header("Location: mypage.php?is_login=0");
    exit;     // exit is must or you can use retun also             
}

?>

on the page mypage.php

<?php

if (isset($_GET['is_login']) ) {

    if ('1' == $_GET['is_login']) {

        echo "sucess";    
    }

    else {

        echo "failure";        
    }    
}
?>

In your PHP File try to redirect to previous URL or to a new HTML Page Like Home Page :

header('Location: ' . $_SERVER['HTTP_REFERER']);

in your:

if(isset($_POST['submit']))
{
    SignIn();
}

Example for you answer

Redirect to your PROFILE PAGE using header() OR Javascript

header("Location: profilepage.php");                      //PHP
<script>window.location = 'profilepage.php'</script>      //JS

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM