Kanchan186's avatar

Notice: Undefined variable: con in C:\xampp\htdocs\login.php on line 6 Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\login.php on line 6 Notice: Undefined variable: con in C:\xampp\htdocs\login.php

login.html


<div class="container">
    <form method="post" action="login.php">
        <div id="div_login">
            <h1>Login</h1>
            <div>
                <input type="text" class="textbox" id="username" name="username" placeholder="Username" />
            </div>
            <div>
                <input type="text" class="textbox" id="email" name="email" placeholder="Email"/>
            </div>
            <div>
                <input type="password" class="textbox" id="password" name="password" placeholder="Password"/>
            </div>
            
            <div>
                <input type="submit" value="Submit" name="but_submit" id="but_submit" />
            </div>
        </div>
    </form>
</div>

login.php


<?php
include "db.php";

if(isset($_POST['but_submit'])){

    $username = mysqli_real_escape_string($con,$_POST['username']);
    $email = mysqli_real_escape_string($con,$_POST['email']);
    $password = mysqli_real_escape_string($con,$_POST['password']);


    if ($username != "" && $password != "" && $email !=""){

        $sql_query = "select count(*) as cntUser from users where username='".$username." 'email='".$email." 'password='".$password."'";
        $result = mysqli_query($con,$sql_query);
        $row = mysqli_fetch_array($result);

        $count = $row['cntUser'];

        if($count > 0){
            $_SESSION['username'] = $username;
            header('Location: home.php');
        }else{
            echo "Invalid username and password";
        }

    }

}

0 likes
3 replies
Snapey's avatar

Why are you writing your own authentication logic when its built into Laravel?

Try learning and using the framework.

Your problem is that $con is not initialised which is probably because you copied and pasted this from some code from 15 years ago

I'd nearly forgotten we used to have to write shit like this...

Sergiu17's avatar
Sergiu17
Best Answer
Level 60

$con - is null,

include your file related to db connection, in your last post you mention this:

$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

include it

include "db.php";
include "connection.php" // or however is called

also double check $con and $conn, two different variables

Please or to participate in this conversation.