Login Registration problem :Fatal error: Call to a member function prepare() on a non-object in...

0 votes
asked Oct 28, 2016 in PHP by abdullah001rti (220 points)

I faced this problem again and again. I was trying but couldn't fix it.

//My source code is ,

//config.php

<?php
class databaseconnection{
     public function _construct(){
        global $pdo;
        try{
            $pdo = new PDO('mysql:host=localhost;dbname=login','abd','');
        }
        catch(PDOException $e){
            exit('Database error');
        }
    }
}
?>

//function.php

<?php
require "config.php";

class loginregistration{
    function _construct(){
        $database = new databaseconnection();
    }
    public function Registeruser($id,$name,$pass,$email){
        global $pdo;

        $query = $pdo->prepare("SELECT id FROM users WHERE name = ? AND email = ?");
        $query->execute(array($name,$email));
        $num = $query->rowCount();

        if($num == 0){
            $query = $pdo->prepare("INSERT INTO users(id,name,password,email)VALUES(?,?,?,?)");
            $query->execute(array($id,$name,$pass,$email));
            return true;
        }
        else{
            print "Name/Email already used.";
        }
    }
}
?>

//registration.php

<?php
require_once "function.php";
$user = new loginregistration();
?>

<!doctype html>
<html>
    <head>
        <title>Login-reg</title>
        <style>
        </style>
    </head>
    <body>
        <?php
            if($_SERVER['REQUEST_METHOD']=='POST'){
                $id = $_POST['id'];
                $name = $_POST['name'];
                $pass = $_POST['pass'];
                $email = $_POST['email'];

                if(empty($id) or empty($name) or empty($email) or empty($pass)){
                    if(isset($_POST['submit'])){
                        echo"Field must not be empty.";
                    }
                }
                else{
                    $pass = md5($pass);
                    $register = $user->Registeruser($id,$name,$pass,$email);
                    if($register){
                        echo"Registration Done <a href='login.php'>clic here</a>";
                    }
                    else{
                        echo"name/Email already exist.";
                    }
                }
            }
        ?>

        <h1>Registration  here !</h1>
        <form action="" method="post">
            <table>
                <tr>
                    <td>ID</td>
                    <td><input type="text" name="id" placeholder="1510" /></td>
                </tr>
                <tr>
                    <td>Name</td>
                    <td><input type="text" name="name" placeholder="1510" /></td>
                </tr>
                <tr>
                    <td>Email</td>
                    <td><input type="email" name="email" placeholder="1510" /></td>
                </tr>
                <tr>
                    <td>Password</td>
                    <td><input type="password" name="pass" placeholder="1510" /></td>
                </tr>
            </table>
            <input type="submit" name="submit" value="go" />
        </form>
    </body>
</html>

1 Answer

0 votes
answered Oct 28, 2016 by Shumon (7,690 points)

Use latest version of WAMP or XAMPP Server

commented Oct 28, 2016 by abdullah001rti (220 points)

Thank you for your answered.
Actually problem was " function _construct()"
here should be " function __construct()" instead of first one.

722 questions

656 answers

179 comments

4,717 users

Welcome to IDB Scholars Forum, where you can ask questions and receive answers from other members of the community. It's 100% free.
আইডিবি স্কলারস ফোরামে আপনাকে স্বাগত - প্রোগ্রামিং, ডিজাইন, ডেভেলপমেন্ট, ব্লগিং, ইন্টারনেটসহ তথ্য প্রযুক্তির যাবতীয় বিষয় নিয়ে আলোচনার একটি মুক্ত মঞ্চ হলো এই ফোরাম । এখানে আইসিটি বিষয়ক আপনার প্রশ্ন, উত্তর এবং অভিজ্ঞতা শেয়ার করুন, আলোচনা করুন এবং সমাধান নিন। দেশের তরুণ প্রজন্মকে আইসিটিতে আগ্রহী করাই আমাদের মূল লক্ষ্য।
** ইংলিশ বা বাংলা যে কোনো ভাষায় আপনি এই ফোরামে আলোচনা করতে পারবেন। তবে বাংলাকে ইংরেজি অক্ষরে লিখবেন না।
  1. tulbadex

    110 points

    0 answers

  2. mealbulb9

    100 points

    0 answers

  3. seat1temper

    100 points

    0 answers

  4. roll0fender

    100 points

    0 answers

  5. KeiraX382741

    100 points

    0 answers

...