0

Hi guys, I'm creating a register page for my website. I have got things sorted now, when i try and test the page and try and register a user the data is not been inserted into the database

I'm not getting any error messages at all so I dont know what is going wrong

This is the connection code

<?php 
mysql_connect ("localhost", "root", ""); 
mysql_select_db ("tut"); 



?> 

This is the code

<!DOCTYPE html>
<html>
    <head>
        <title>Richard Hemmings  </title>
        <meta name="viewpoint" content="width=device-width, intail-scale=1.0">
        <link href = "css/bootstrap.min.css"rel = "stylesheet">
        <link href = "css/stylesheet.css" rel = "stlesheet">
    </head>
    <body>
        <div class = "navbar navbar-inverse navbar-static-top">
            <div class = "contrainer">
<?php
include('inc/header.php');
require('connection_db.php'); 


if(isset($_POST ['submit'])){
   // Peform the berification of the nation 
   $email1 = $_POST['email1']; 
   $email2 = $_POST['email2']; 
   $pass1 = $_POST['pass1']; 
   $pass2 = $_POST['pass2']; 
   if($email1 == $email2) {
        if($pass1 == $pass2) {

            $name = mysql_escape_string($_POST['name']);
            $lname = mysql_escape_string($_POST['lname']);
            $uname = mysql_escape_string($_POST['uname']);
            $email1 = mysql_escape_string($email1);
            $email2 = mysql_escape_string($email2);
            $pass1 = mysql_escape_string($pass1);
            $pass2 = mysql_escape_string($pass2);

            $pass1 = md5 ($pass1);


            mysql_query("INSERT INTO 'users' ('id, 'name', 'lname'; 'email', 'pass',) VALUES (NULL, '@$name', '$lname', '$uname', '$email1', '$pass1',) ") or die(mysql_error());


        }else{ 
                echo "sorry, your passwords do not match. <br />"; 
                exit(); 
        }
    }else{
        echo "Sorry your email's do not match, please try again<br /><";
    }
}else{ 
       echo $form =   <<<EOT
                <form action='register.php' method="POST">
                    First Name: <input type="text" name="name" /><br />
                    Last Name: <input type="text" name="lname" /><br />
                    Username: <input type="text" name="uname" /><br />
                    Email: <input type="text" name="email1" /><br />
                    Confirm Email: <imput type="text" name="email2" /><br />
                    Password: <input type="password" name"pass1" /><br />
                    Confirm Password <input type="password" name="pass2" /><br />
                    <input type="submit" value="Register" name="Submit" /><br />
EOT;
//echo $form;
// the preceding line must have NO leading white-space of any kind
}
?>
        <div class = "navbar navbar-default navbar-fixed-bottom"> 
                <div class = "container"> 
                    <P class = "navbar-text">Site build and belongs to Richard Hemmings (C) 2015</P> 
                </div> 
                </div>
       <script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script><script src = "js/bootstrap/js" ></script>
        </body>
        </html>

Any help would be brilliant

5
Contributors
9
Replies
38
Views
2 Years
Discussion Span
Last Post by stokie-rich
0

Have you tried changing...

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

...to...

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

...or change...

name="Submit" 

...to...

name="submit" 

...on the button?

Could be that simple? As "Submit" does not = "submit"

Edited by NuGG: poor formatting

0

morning people sorry i was asleep last night

I have made some changes and this is how the code looks now

<!DOCTYPE html> 
<html> 
    <head> 
        <title>Richard Hemmings  </title> 
        <meta name="viewpoint" content="width=device-width, intail-scale=1.0"> 
        <link href = "css/bootstrap.min.css"rel = "stylesheet"> 
        <link href = "css/stylesheet.css" rel = "stlesheet"> 
    </head> 
    <body> 
        <div class = "navbar navbar-inverse navbar-static-top"> 
            <div class = "container"> 
             <div class = "navbar navbar-default navbar-fixed-bottom">  
                <div class = "container">  
                    <P class = "navbar-text">Site build and belongs to Richard Hemmings (C) 2015</P>  
                </div>  
                </div> 
       <script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script><script src = "js/bootstrap/js" ></script> 
        </body> 
        </html> 
<?php 
include('inc/header.php'); 
require('connection_db.php');  


if(isset($_POST ['submit'])){ 
   // Peform the berification of the nation  
   $email1 = $_POST['email1'];  

   $pass1 = $_POST['pass1'];  
   $pass2 = $_POST['pass2'];  
   if($email1 == $email2) { 
        if($pass1 == $pass2) { 

            $name = mysql_escape_string($_POST['name']); 
            $lname = mysql_escape_string($_POST['lname']); 
            $uname = mysql_escape_string($_POST['uname']); 
            $email1 = mysql_escape_string($email1); 

            $pass1 = mysql_escape_string($pass1); 
            $pass2 = mysql_escape_string($pass2); 

            $pass1 = md5 ($pass1); 


            mysql_query("INSERT INTO 'users' ('id, 'name', 'lname'; 'email', 'pass',) VALUES (NULL, '@$name', '$lname', '$uname', '$email1', '$pass1',) ") or die(mysql_error()); 


        }else{  
                echo "sorry, your passwords do not match. <br />";  
                exit();  
        } 
    }else{ 
        echo "Sorry your email's do not match, please try again<br /><"; 
    } 
}else{  
       echo $form =   <<<EOT 
                <form action='register.php' method="POST"> 
                    First Name: <input type="text" name="name" /><br /> 
                    Last Name: <input type="text" name="lname" /><br /> 
                    Username: <input type="text" name="uname" /><br /> 
                    Email: <input type="text" name="email1" /><br /> 
                    Password: <input type="password" name ="pass1" /><br /> 
                    Confirm Password <input type="password" name="pass2" /><br /> 
                    <input type="submit" value="Register" name="submit" /><br /> 
EOT; 
//echo $form; 
// the preceding line must have NO leading white-space of any kind 
} 
?>

I'm now getting the following

Notice: Undefined variable: email2 in C:\xampp\htdocs\register.php on line 31
Sorry your email's do not match, please try again
<

0
mysql_query("INSERT INTO 'users' ('id, 'name', 'lname'; 'email', 'pass',) VALUES (NULL, '@$name', '$lname', '$uname', '$email1', '$pass1',) ") or die(mysql_error());

This is also invalid. It should be with backticks for the column names, and without semi-colons and the comma at the end. And no @:

mysql_query("INSERT INTO `users` (`id`, `name`, `lname`, `email`, `pass`) VALUES (NULL, '$name', '$lname', '$uname', '$email1', '$pass1') ") or die(mysql_error());
0

I have changed that but still getting the following error message :

Notice: Undefined variable: email2 in C:\xampp\htdocs\register.php on line 31
Sorry your email's do not match, please try again
<

0

no ive changed it again since then sorry i'm tripping myself up....

this is the code now as it stands

<!DOCTYPE html>
<html>
    <head>
        <title>Richard Hemmings  </title>
        <meta name="viewpoint" content="width=device-width, intail-scale=1.0">
        <link href = "css/bootstrap.min.css"rel = "stylesheet">
        <link href = "css/stylesheet.css" rel = "stlesheet">
    </head>
    <body>
        <div class = "navbar navbar-inverse navbar-static-top">
            <div class = "container">
             <div class = "navbar navbar-default navbar-fixed-bottom"> 
                <div class = "container"> 
                    <P class = "navbar-text">Site build and belongs to Richard Hemmings (C) 2015</P> 
                </div> 
                </div>
       <script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script><script src = "js/bootstrap/js" ></script>
        </body>
        </html>
<?php
include('inc/header.php');
require('connection_db.php'); 


if(isset($_POST ['submit'])){
   // Peform the berification of the nation 
   $email1 = $_POST['email1']; 

   $pass1 = $_POST['pass1']; 
   $pass2 = $_POST['pass2']; 

        if($pass1 == $pass2) {

            $name = mysql_escape_string($_POST['name']);
            $lname = mysql_escape_string($_POST['lname']);
            $uname = mysql_escape_string($_POST['uname']);
            $email1 = mysql_escape_string($email1);

            $pass1 = mysql_escape_string($pass1);
            $pass2 = mysql_escape_string($pass2);

            $pass1 = md5 ($pass1);


        mysql_query("INSERT INTO `users` (`id`, `name`, `lname`, `email`, `pass`) VALUES (NULL, '$name', '$lname', '$uname', '$email1', '$pass1') ") or die(mysql_error());


        }else{ 
                echo "sorry, your passwords do not match. <br />"; 
                exit(); 
        }
    }else{
        echo "Sorry your email's do not match, please try again<br /><";
    }
{ 
       echo $form =   <<<EOT
                <form action='register.php' method="POST">
                    First Name: <input type="text" name="name" /><br />
                    Last Name: <input type="text" name="lname" /><br />
                    Username: <input type="text" name="uname" /><br />
                    Email: <input type="text" name="email1" /><br />
                    Password: <input type="password" name ="pass1" /><br />
                    Confirm Password <input type="password" name="pass2" /><br />
                    <input type="submit" value="Register" name="submit" /><br />
EOT;
//echo $form;
// the preceding line must have NO leading white-space of any kind
}
?>

I'm now getting the following

Column count doesn't match value count at row 1

1

You are inserting 6 values into the table with only 5 columns..I think you missed out uname in the insert statement.

0

thanks for that i managed to sort it and when i did there was a mis-spelling in my database and it all works fine now thank you so much for the help its much appreicated, i can now get on with the log in form and script to let users log into the site

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.