如何在 php 中验证后将注册页面数据插入 mysql 表中
How to insert registration page data into mysql table after verification in php
我已经使用php bootsratp制作了一个注册页面。 填写注册表后,如果我按下提交按钮,我的味精上传成功...但是表格是空白的...并且没有验证味精显示....如果任何字段为空下面是我的代码
表单验证码:
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>
这是我的插入.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
传递变量以及防止注入的方法,例如在您的代码中取代
$fullname=$_POST['userid'];
跟
$fullname= Mysqli_real_escape_string($_POST['userid']);
但这只是您可以使用预处理查询的简单方法,准备好的查询将变量与查询分开传递,并且是安全的。
相关文章:
- javascript:将数据库中的数据插入到html5文本字段中
- 使用javascript和jsp将数据插入到融合图中
- 将数据插入android中的SQLite存储时出现异常
- 从Javascript中调用PHP脚本,将数据插入mysql数据库
- Ajax调用正在将数据插入页面的其他位置
- 使用AJAX/PHP让HTML按钮将数据插入MySQL数据库
- 如何用javascript创建三维数组我想把数据插入数组中,这有助于我的代码
- 如何用以下结构定义一个空的javascript对象,以便我可以动态地将数据插入其中
- 将数据插入数据库express/mongodb应用程序时出错
- 如何将json数据插入到表中
- 将API中的数据插入到DOM中
- 将数据插入输入值-AngularJS
- 数据插入有效,但不显示警报框消息
- 如何根据特定条件将数据插入表中
- 将 casper javascript 数据插入 CSV 文件
- 使用Node将帖子数据插入mongoDB
- 如何将键值对中的数据插入到 HTML 中
- 使用 javascript 将数据插入到预成型的 dom 元素中
- 使用 Mongoose 和 Node 将数据插入数组时出错
- Web SQL 将数据插入到多行中