我正在注册页面。每次加载页面时,每次尝试在文本框中插入值时默认为空。请帮忙。我的代码已附上
register.template.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<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/////////////
答案 0 :(得分:2)
每次都插入空值,因为在register.template.php
中,只有在提交表单时才插入执行addDB()
的条件语句。您可以通过更改
$adduser=new Users(); $adduser->addDB();
到
if ( $_SERVER['REQUEST_METHOD'] === 'POST' ) { $adduser=new Users(); $adduser->addDB(); }
此外,如果您打算将这些值插入到数据库中,那么您真的应该使用mysql_real_escape_string
转义所有$_POST
值。