So I have this code that I'm executing when someone presses the "register" button.
I've read over the thing 10 times and can't find what I'm doing wrong.
The problem is: When you click register it doesn't insert the details into the database (even though it says it registered the user). I even looked through my db.php where I store the DB details.
Code for register page:
    <?php
    if(isset($_POST['register'])){
                            $username = $_POST['username'];
                            $password = $_POST['password'];
                            $email = $_POST['email'];
                            $checkUsername = $odb->prepare("SELECT COUNT(*) FROM users WHERE username = :username");
                            $checkUsername->execute(array(':username' => $username));
                            $countUsername = $checkUsername -> fetchColumn(0);
                            $checkEmail = $odb->prepare("SELECT COUNT(*) FROM users WHERE email = :email");
                            $checkEmail->execute(array(':email' => $email));
                            $countEmail = $checkEmail -> fetchColumn(0);
                            if(!($countEmail == 0))
                            {
                                 echo '<p>This e-mail has been taken.</p>';
                             }
                             elseif(!($countUsername == 0))
                             {
                                  echo '<p>Error - this username has been taken.</p>';
                                }
                             else
                            {
                                try
                                {
                                    $insertUser = $odb -> prepare('INSERT INTO users (username,password,email) VALUES(:username, :password, :email)');
                                    $insertUser -> execute(array(':username' => $username, ':password' => $password, ':email' => $email));
                                    echo 'Sucessfully registered.';
                                }
                                catch (PDOException $e)
                                {
                                    echo 'Error: ' .$e->getMessage();
                                }
                            }
                }
?>
When I use if(isset($_POST['register'])){ it doesn't echo any message or alter the database.
When I use if(isset($_GET['register'])){ it echos user registered but nothing is added to the database.
Here's my DB.php :
    <?php
define('DB_HOST', 'localhost');
define('DB_NAME', 'some_db');
define('DB_USERNAME', 'some_dbuser');
define('DB_PASSWORD', 'password');
$odb = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USERNAME, DB_PASSWORD);
$odb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
?>
I hope someone knows what's going on, thanks!
 
     
     
    