views:

56

answers:

1

I am having a registration page. when the page is loaded, everytime it tries to insert the values in the textboxes which is empty by default at first. Please help. My code is attached

register.template.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
<html xmlns="http://www.w3.org/1999/xhtml"&gt;
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>RBlog - For the Consumers - By the Sellers</title>
<?php include("dbclass/register_class.php");?>
</head>
<body>
<?php include("includes/header.php"); ?>
    <div class="afterpicer_total">
    <?php include("includes/menu.php"); ?>
    <div class="wrapper">
            <div class="cont">
                <?php include("includes/left_menu.php"); ?>
                <div class="reg_cont">
                    <form name="add_user" method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">

                        <div class="reg_label">Name</div>
                        <div class="reg_tbox"><input type="text" size="32" name="name" class="reg_tbox_style" ></input></div><br/>
                        <div class="reg_label">Email ID</div>
                        <div class="reg_tbox"><input type="text" size="32" name="email" class="reg_tbox_style"></input></div><br/>
                        <div class="reg_label" >Confirm Email ID</div>
                        <div class="reg_tbox"><input type="text" size="32" name="cemail" class="reg_tbox_style"></input></div><br/>
                        <div class="reg_label" >Password</div>
                        <div class="reg_tbox"><input type="text" size="32" name="pass" class="reg_tbox_style"></input></div><br/>
                        <div class="reg_label" >Confirm Password</div>
                        <div class="reg_tbox"><input type="text" size="32" name="cpass" class="reg_tbox_style"></input></div><br/>
                        <div class="reg_label" >Mobile No</div>
                        <div class="reg_tbox"><input type="text" size="32" name="mobile" class="reg_tbox_style"></input></div><br/>
                        <?

                            $adduser=new Users();
       $adduser->addDB();
                         ?>
                        <div class="reg_tbox"><input type="submit" value="Register" class="reg_but_style"style="margin-left:155px;"></input></div>


                    </form>

                </div>
           </div>
           <div class="adspace"> Advertisement Space</div>
        </div>
    </div>

</body>
</html>

register_class.php

<?php
ob_start();

    include("common/class.Database.php");
    include("common/varDeclare.php");

class Users extends Database
{
    var $fields_val = array();
    var $fields_value = array();
    var $state_name = array();
    var $db;
    function addDB()
    { 

     try{
      $reg_date   =date("Y-m-d G:i:s");

      $username    =$_POST[name];
      $email    =$_POST[email];
      $password    =$_POST[pass];
      $mobile    =$_POST[mobile];


                        $user_query = "insert into register set email = '".$email."', pwd = '".$password."', mobile = '".$mobile."', reg_date = '".$now."'";
      $insertUser=$this->do_query($user_query);


      $retVal=true;

       if(!$insertUser){
         $this->errMsg = REG_FAILED;
         $retVal = false;
       }  
      return $retVal;
     }
     catch(Exception $e)
     {
      echo 'Caught exception: ',  $e->getMessage(), "\n";
     }
    }

//  ---- End of addDB()------    

}
////////End of class/////////////
+2  A: 

Blank values are inserted every time because in register.template.php, you haven't inserted a conditional statement that executes addDB() only when the form has been submitted. You can solve this by changing

$adduser=new Users();
$adduser->addDB();

to

if ( $_SERVER['REQUEST_METHOD'] === 'POST' ) {
    $adduser=new Users();
    $adduser->addDB();
}

Also, you really should escape all of your $_POST values with mysql_real_escape_string if you plan on inserting them into a database that way.

Jakob
Millions of Thanks, Its working
Rajasekar