正如丝毫不差说,我怎么输出登记表格数据到当前页面(form.php的)和另一页(profile.php)如果提交的表单数据已成功与验证? 我一直在试图寻找如何做到这一点,但找不到任何有用的东西。 我试图改变到profile.php,我要显示用户的数据的动作,但是当我这样做,我不能在我的表单页面显示错误。
基本上,我想如果用户的输入不正确,将显示在表格中的错误,一旦他正确地填写了一切,并提交表单,我想数据显示给他的个人资料(profile.php)。 就像如果我做<?php echo $_POST['username']?>
在profile.php,我想显示在profile.php他的用户名。 有没有办法做到这一点? 我仍然是一种新的这个...
有什么我应该添加或改变? 我不知道我怎样才能将数据输出到profile.php
这里是我的代码:
<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE);
require 'core.inc.php';
require 'connect.inc.php';
if(count($_POST) > 0){
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
$password_hash = md5($password);
$age = $_POST['age'];
$gender = $_POST['gender'];
$validated = true;
if(!preg_match("/^[a-zA-Z ]*$/",$username)){
$usernameErr = " Only letters and white space allowed";
$validated = false;
} else if(empty($username)){
$usernameErr = ' Enter your username';
$validated = false;
}
if(strlen($username)>30){
$error = 'Please ahear to maxlength of fields.';
}
if(empty($password)){
$passErr = ' Enter your password';
$validated = false;
}
if (!empty($email) && !filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = " Invalid email";
$validated = false;
} else if(empty($email)){
$emailErr = ' Enter your email';
$validated = false;
}
if(empty($gender)){
$genderErr = ' Select your gender';
$validated = false;
}
if(empty($age)){
$ageErr = ' Select your age';
$validated = false;
}
if($validated === true){
$query = "SELECT `username` FROM `users` WHERE `username`='$username'";
$query_run = mysql_query($query);
if(mysql_num_rows($query_run)==1){
$error = 'The username already exists.';
} else {
$query = "INSERT INTO `users` VALUES ('','".mysql_real_escape_string($username)."','".mysql_real_escape_string($password_hash)."','".mysql_real_escape_string($email)."')";
if ($query_run = mysql_query($query)){
header('Location: register_success.php');
} else {
$error = 'Sorry, we couldn\'t register you at this time. Try again later.';
}
}
}
}
?>
<!doctype html>
<html>
<head>
<style>
form{
margin: 0px auto;
width: 470px;
margin-top:150px;
}
label{
width: 75px;
display: inline-block;
}
.error{
color: red;
}
</style>
</head>
<body>
<span class="error"><?php echo $error?></span>
<br><br>
<form action="register.php" method="POST" autocomplete="off">
<h2>Register</h2>
<label for="username">Username</label>
<input type="text" id="username" name="username" maxlength="50" value="<?php if(isset($username)){echo $username;}?>">
<span class="error"><?php echo $usernameErr?></span>
<br><br>
<label for="password">Password</label>
<input type="password" id="password" name="password">
<span class="error"><?php echo $passErr?></span>
<br><br>
<label for="email">Email</label>
<input type="email" id="email" name="email" maxlength="30" value="<?php if(isset($email)){echo $email;}?>">
<span class="error"><?php echo $emailErr?></span>
<br><br>
<label>Gender</label>
<input type="radio" name="gender" id="male" value="male">Male
<input type="radio" name="gender" id="female" value="female">Female
<span class="error"><?php echo $genderErr?></span>
<br><br>
<label>Age</label>
<select name="age" class="age">
<option value> </option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
</select>
<span class="error"><?php echo $ageErr?></span>
<br><br>
<input type="submit" value="Register">
</form>
</body>
</html>