Javascript 如何在php中验证后将注册页数据插入mysql表
我已经使用php bootsratp创建了一个注册页面。填写注册表后,如果我按下提交按钮,我会成功上传消息…但表为空…没有验证消息显示…如果任何字段为空 下面是我的代码 表单验证代码:Javascript 如何在php中验证后将注册页数据插入mysql表,javascript,php,mysql,Javascript,Php,Mysql,我已经使用php bootsratp创建了一个注册页面。填写注册表后,如果我按下提交按钮,我会成功上传消息…但表为空…没有验证消息显示…如果任何字段为空 下面是我的代码 表单验证代码: function formValidation() { var uid = document.registration.userid; var passid = document.registration.passid; var uname = document.registration.user
function formValidation()
{
var uid = document.registration.userid;
var passid = document.registration.passid;
var uname = document.registration.username;
var uadd = document.registration.address;
var ucountry = document.registration.country;
var uzip = document.registration.zip;
var uemail = document.registration.email;
var umsex = document.registration.msex;
var ufsex = document.registration.fsex; if(userid_validation(uid,5,12))
{
if(passid_validation(passid,7,12))
{
if(allLetter(uname))
{
if(alphanumeric(uadd))
{
if(countryselect(ucountry))
{
if(allnumeric(uzip))
{
if(ValidateEmail(uemail))
{
if(validsex(umsex,ufsex))
{
}
}
}
}
}
}
}
}
return false;
} function userid_validation(uid,mx,my)
{
var uid_len = uid.value.length;
if (uid_len == 0 || uid_len >= my || uid_len < mx)
{
alert("User Id should not be empty / length be between "+mx+" to "+my);
uid.focus();
return false;
}
return true;
}
function passid_validation(passid,mx,my)
{
var passid_len = passid.value.length;
if (passid_len == 0 ||passid_len >= my || passid_len < mx)
{
alert("Password should not be empty / length be between "+mx+" to "+my);
passid.focus();
return false;
}
return true;
}
function allLetter(uname)
{
var letters = /^[A-Za-z]+$/;
if(uname.value.match(letters))
{
return true;
}
else
{
alert('Username must have alphabet characters only');
uname.focus();
return false;
}
}
function alphanumeric(uadd)
{
var letters = /^[0-9a-zA-Z]+$/;
if(uadd.value.match(letters))
{
return true;
}
else
{
alert('User address must have alphanumeric characters only');
uadd.focus();
return false;
}
}
function countryselect(ucountry)
{
if(ucountry.value == "Default")
{
alert('Select your country from the list');
ucountry.focus();
return false;
}
else
{
return true;
}
}
function allnumeric(uzip)
{
var numbers = /^[0-9]+$/;
if(uzip.value.match(numbers))
{
return true;
}
else
{
alert('ZIP code must have numeric characters only');
uzip.focus();
return false;
}
}
function ValidateEmail(uemail)
{
var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if(uemail.value.match(mailformat))
{
return true;
}
else
{
alert("You have entered an invalid email address!");
uemail.focus();
return false;
}
} function validsex(umsex,ufsex)
{
x=0;
if(umsex.checked)
{
x++;
} if(ufsex.checked)
{
x++;
}
if(x==0)
{
alert('Select Male/Female');
umsex.focus();
return false;
}
else
{
alert('Form Succesfully Submitted');
window.location.reload()
return true;
}
}
<?PHP
//require_once("./include/membersite_config.php");
require_once "formvalidator.php";
//if(isset($_POST['submitted']))
//{
// if($fgmembersite->RegisterUser())
// {
// $fgmembersite->RedirectToURL("thank-you.html");
// }
//}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="form-validation.js"></script>
<style>
body {
color: #000000;
font-family:Arial, Geneva, sans-serif, Helvetica, sans-serif;
line-height: 150%;
font-size:12px;
margin:auto;
background-color:#ffffff;
}
</style>
</head>
<title>Registration page</title></head>
<body>
<div class="container">
<div><h2 style="background-color:#00CCCC" align="center" "height:50px" >Registration page</h2></div>
<form class="form-horizontal" name='registration' onSubmit="return formValidation()" method="POST" action="insert.php">
<fieldset>
<legend>Registration form</legend>
<div class="form-group">
<label class="control-label col-xs-4" for="userid">Fullname:</label>
<div class="col-xs-4">
<input type="text" class="form-control" id="userid" placeholder="Enter name">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="uid">Username:</label>
<div class="col-xs-4">
<input type="text" class="form-control" id="uid" placeholder="Enter username">
</div>
</div>
函数formValidation()
{
var uid=document.registration.userid;
var passid=document.registration.passid;
var uname=document.registration.username;
var uadd=document.registration.address;
var ucontry=document.registration.country;
var uzip=document.registration.zip;
var uemail=document.registration.email;
var umsex=document.registration.msex;
var ufsex=document.registration.fsex;if(userid\u验证(uid,5,12))
{
if(passid_验证(passid,7,12))
{
如果(所有信件(联塞特派团))
{
if(字母数字(uadd))
{
如果(国家选择(UCONTRY))
{
if(全数字(uzip))
{
if(ValidateEmail(uemail))
{
if(有效期(umsex、ufsex))
{
}
}
}
}
}
}
}
}
返回false;
}函数userid_验证(uid、mx、my)
{
变量uid\u len=uid.value.length;
如果(uid|len==0 | uid|len>=my | uid|len=my | | passid|len
这是表单设计代码:
function formValidation()
{
var uid = document.registration.userid;
var passid = document.registration.passid;
var uname = document.registration.username;
var uadd = document.registration.address;
var ucountry = document.registration.country;
var uzip = document.registration.zip;
var uemail = document.registration.email;
var umsex = document.registration.msex;
var ufsex = document.registration.fsex; if(userid_validation(uid,5,12))
{
if(passid_validation(passid,7,12))
{
if(allLetter(uname))
{
if(alphanumeric(uadd))
{
if(countryselect(ucountry))
{
if(allnumeric(uzip))
{
if(ValidateEmail(uemail))
{
if(validsex(umsex,ufsex))
{
}
}
}
}
}
}
}
}
return false;
} function userid_validation(uid,mx,my)
{
var uid_len = uid.value.length;
if (uid_len == 0 || uid_len >= my || uid_len < mx)
{
alert("User Id should not be empty / length be between "+mx+" to "+my);
uid.focus();
return false;
}
return true;
}
function passid_validation(passid,mx,my)
{
var passid_len = passid.value.length;
if (passid_len == 0 ||passid_len >= my || passid_len < mx)
{
alert("Password should not be empty / length be between "+mx+" to "+my);
passid.focus();
return false;
}
return true;
}
function allLetter(uname)
{
var letters = /^[A-Za-z]+$/;
if(uname.value.match(letters))
{
return true;
}
else
{
alert('Username must have alphabet characters only');
uname.focus();
return false;
}
}
function alphanumeric(uadd)
{
var letters = /^[0-9a-zA-Z]+$/;
if(uadd.value.match(letters))
{
return true;
}
else
{
alert('User address must have alphanumeric characters only');
uadd.focus();
return false;
}
}
function countryselect(ucountry)
{
if(ucountry.value == "Default")
{
alert('Select your country from the list');
ucountry.focus();
return false;
}
else
{
return true;
}
}
function allnumeric(uzip)
{
var numbers = /^[0-9]+$/;
if(uzip.value.match(numbers))
{
return true;
}
else
{
alert('ZIP code must have numeric characters only');
uzip.focus();
return false;
}
}
function ValidateEmail(uemail)
{
var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if(uemail.value.match(mailformat))
{
return true;
}
else
{
alert("You have entered an invalid email address!");
uemail.focus();
return false;
}
} function validsex(umsex,ufsex)
{
x=0;
if(umsex.checked)
{
x++;
} if(ufsex.checked)
{
x++;
}
if(x==0)
{
alert('Select Male/Female');
umsex.focus();
return false;
}
else
{
alert('Form Succesfully Submitted');
window.location.reload()
return true;
}
}
<?PHP
//require_once("./include/membersite_config.php");
require_once "formvalidator.php";
//if(isset($_POST['submitted']))
//{
// if($fgmembersite->RegisterUser())
// {
// $fgmembersite->RedirectToURL("thank-you.html");
// }
//}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="form-validation.js"></script>
<style>
body {
color: #000000;
font-family:Arial, Geneva, sans-serif, Helvetica, sans-serif;
line-height: 150%;
font-size:12px;
margin:auto;
background-color:#ffffff;
}
</style>
</head>
<title>Registration page</title></head>
<body>
<div class="container">
<div><h2 style="background-color:#00CCCC" align="center" "height:50px" >Registration page</h2></div>
<form class="form-horizontal" name='registration' onSubmit="return formValidation()" method="POST" action="insert.php">
<fieldset>
<legend>Registration form</legend>
<div class="form-group">
<label class="control-label col-xs-4" for="userid">Fullname:</label>
<div class="col-xs-4">
<input type="text" class="form-control" id="userid" placeholder="Enter name">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="uid">Username:</label>
<div class="col-xs-4">
<input type="text" class="form-control" id="uid" placeholder="Enter username">
</div>
</div>
身体{
颜色:#000000;
字体系列:Arial、Geneva、无衬线字体、Helvetica、无衬线字体;
线高:150%;
字体大小:12px;
保证金:自动;
背景色:#ffffff;
}
注册页
注册页
登记表
全名:
用户名:
这是我的insert.php代码
<?php
define('DB_HOST', 'localhost');
define('DB_NAME', 'phonebook');
define('DB_USER','root');
define('DB_PASSWORD','');
// Connect to server and select database.
$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());
// Get values from form
$fullname=$_POST['userid'];
$username=$_POST['uid'];
$email=$_POST['uemail'];
$password=$_POST['passid'];
$birthdate=$_POST['mytextarea'];
$country=$_POST['message'];
// Insert data into mysql
$sql="INSERT INTO tbl_registration(fullname,username,email,password, birthdate,country) VALUES('$fullname', '$username', '$email', '$password', '$birthdate', '$country')";
$result=mysql_query($sql);
您不应该在必须在查询字符串中使用变量(或在任何其他字符串中使用)的变量周围加引号,如'{$fullname}'
要知道这些是字符串变量,您必须这样做
$sql="INSERT INTO tbl_registration(`fullname`,`username`,`email`,`password`, `birthdate`,`country`) VALUES('{$fullname}', '{$username}', '{$email}', '{$password}', '{$birthdate}', '{$country}')";
$result=mysqli_query($con,$sql);
您还必须使用mysqli
而不是mysql
,因为PHP
手册中说mysql
已经过时且易受攻击,您应该将其替换为mysqli
此外,您的代码易受SQL
injection攻击。请使用方法传递变量,以防止注入,例如在代码中
替换
与
但这只是使用准备好的查询的简单方法,准备好的查询将变量与查询分开传递,这是安全的。为什么要在JS验证中重新加载页面?@charlietfl…请建议最好的方法。。谢谢u@cwallenpoole...i根据我的需要在这里发布适当的解决方案…感谢您提交时所发生的一切如果没有JS中的验证并确保所有字段都已填充?我很确定您的formValidation()
函数将始终返回false
,如果if
嵌套,您是否缺少一些疯狂的代码?@user3786134…谢谢您…现在它正在工作。。。