0

Working on a website implementing login features for coursework. Currently have script files written but when i test it , it loads login.php which is what im using for the script.

<form action="login.php" method="post"> 
        <div class="imgcontainer">
            <img src="img/icons/avatar.png" alt="ELEAGUE" class="avatar">
    </div>

    <div class="container">
        <label><b>Username</b></label>
        <input type="text" name="username" maxlength="40"> 


        <label><b>Password</b></label>
        <input type="password" name="pass" maxlength="50">

        <button type="submit">Login</button>
        <input type="checkbox" checked="checked"> Remember me
    </div>

    <div class="container" style="background-color:#fff">
        <span class="psw">Forgot <a href="#">password?</a></span>
    </div>
</form>

And the script is

<?php 
//Connects to your Database 
$conect = mysqli_connect("db location","username","password", "forks") or die(mysql_error()); 
//Checks if there is a login cookie
if(isset($_COOKIE['ID_your_site'])){ //if there is, it logs you in and directs you to the members page
    $username = $_COOKIE['ID_your_site']; 
    $pass = $_COOKIE['Key_your_site'];
    $check = mysqli_query($conect, "SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
    while($info = mysqli_fetch_array( $check )){
        if ($pass != $info['password']){}
        else{
            header("Location: login.php");
        }
    }
 }
 //if the login form is submitted 
 if (isset($_POST['submit'])) {
    // makes sure they filled it in
    if(!$_POST['username']){
        die('You did not fill in a username.');
    }
    if(!$_POST['pass']){
        die('You did not fill in a password.');
    }
    // checks it against the database
    if (!get_magic_quotes_gpc()){
        $_POST['email'] = addslashes($_POST['email']);
    }
    $check = mysqli_query($conect, "SELECT * FROM users WHERE username = '".$_POST['username']."'")or die(mysql_error());
 //Gives error if user dosen't exist
 $check2 = mysqli_num_rows($check);
 if ($check2 == 0){
    die('That user does not exist in our database.<br /><br />If you think this is wrong <a href="login.php">try again</a>.');
}
while($info = mysqli_fetch_array( $check )){
    $_POST['pass'] = stripslashes($_POST['pass']);
    $info['password'] = stripslashes($info['password']);
    $_POST['pass'] = md5($_POST['pass']);
    //gives error if the password is wrong
    if ($_POST['pass'] != $info['password']){
        die('Incorrect password, please <a href="login.php">try again</a>.');
    }

    else{ // if login is ok then we add a cookie 
        $_POST['username'] = stripslashes($_POST['username']); 
        $hour = time() + 3600; 
        setcookie(ID_your_site, $_POST['username'], $hour); 
        setcookie(Key_your_site, $_POST['pass'], $hour);     

        //then redirect them to the members area 
        header("Location: members.php"); 
    }
}
}
else{
// if they are not logged in 
?>

any help is appreciated, thanks

Isaac Bennetch
  • 11,830
  • 2
  • 32
  • 43
matthew s
  • 33
  • 1
  • 3
  • Do you see the script appear as-is in the browser (instead of html)? Does [this](http://stackoverflow.com/questions/5121495/php-code-is-not-being-executed-instead-code-shows-on-the-page) help? – blackpen Nov 25 '16 at 17:31
  • my exact error is as follows The mayar.abertay.ac.uk page isn’t working mayar.abertay.ac.uk is currently unable to handle this request. HTTP ERROR 500 – matthew s Nov 25 '16 at 18:47
  • but it does try to load /login.php – matthew s Nov 25 '16 at 18:56
  • @matthews Have you checked to see if going manually to the login.php url (as a GET request) works? (e.g. on your login.php script do you listen for the proper request type, or does the file even exist at that correct location)? It's very hard to find what's happening with only the HTML and JS of the previous page and a short description of the problem, since these types of errors are often mostly related the server architecture or code on the page that's attempting to load. –  Dec 11 '16 at 07:30

0 Answers0