日期:2014-05-17  浏览次数:20568 次

PHP javascript表单验证未通过而表单依然提交
如题,我的情况是不输入任何数据,点击提交注册,会弹出“请输入用户名”这样的提示,点击确定后 就转到另一个页面,并只显示一句话:Column 'UserName' cannot be null。
下面是代码:
HTML code
<?php require_once('Connections/conetion.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO member (UserName, Password, Email) VALUES (%s, %s, %s)",
                       GetSQLValueString($_POST['UserName'], "text"),
                       GetSQLValueString($_POST['Password'], "text"),
                       GetSQLValueString($_POST['Email'], "text"));

  mysql_select_db($database_conetion, $conetion);
  $Result1 = mysql_query($insertSQL, $conetion) or die(mysql_error());

  $insertGoTo = "index.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}
?><!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=gb2312" />
<title>无标题文档</title>
<link rel="stylesheet" type="text/css" href="CSS/Web.css">

</head>

<body style="padding:0 2.5%;">

<div  class="header"></div><!--头部-->

<div class="center"><!--导航-->
    <div class="left"></div>
    <div style="height:35px; line-height:35px; float:left;"><a href="/">论坛</a></div>
    <div class="right"></div>
</div>

<div class="regist">
<h3>注册</h3>
</div>

<div id="xsnazzy"><!--圆角边框-->
    <b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"></b></b>
    <div class="xboxcontent">
        <div><h4>请填写以下必填信息完成注册</h4></div>
        <div style="padding-left:20%; color:#FF0000;">带*的都是必填项目,若填写不全将无法注册</div>
        
        <form action="<?php echo $editFormAction; ?>" method="POST" name="form1">
        <div style="text-align:center;">
            <table  class=&