Php 在注册表顶部显示注册表页的结果
我对编码知之甚少。 这与我正在创建的注册表有关。我已经创建了表单。它正在将表单添加到数据库中。但它希望它显示结果,例如,表单顶部的“密码不匹配,请重试”。怎么弄到的? 提前谢谢 这是我的代码:Php 在注册表顶部显示注册表页的结果,php,forms,Php,Forms,我对编码知之甚少。 这与我正在创建的注册表有关。我已经创建了表单。它正在将表单添加到数据库中。但它希望它显示结果,例如,表单顶部的“密码不匹配,请重试”。怎么弄到的? 提前谢谢 这是我的代码: <?php $conn = mysqli_connect("localhost","root",""); if(! $conn ) { die('Could not connect: ' . mysql_error()); } mysqli_select_db($conn, 'r
<?php
$conn = mysqli_connect("localhost","root","");
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
mysqli_select_db($conn, 'registration');
if(isset($_POST['submitbutton'])){
if ($_POST['password'] == $_POST['confirm_password']) {
$email = mysqli_real_escape_string($conn, $_POST['email']);
$password = mysqli_real_escape_string($conn, $_POST['password']);
$gender = mysqli_real_escape_string($conn, $_POST['gender']);
$fname = mysqli_real_escape_string($conn, $_POST['fname']);
$lname = mysqli_real_escape_string($conn, $_POST['lname']);
$firm = mysqli_real_escape_string($conn, $_POST['firm']);
$check_email_exists = mysqli_query($conn, "SELECT email FROM users WHERE email = '$email'");
$count = mysqli_num_rows($check_email_exists);
if ($count == 0) {
$sql = "INSERT INTO users(email, password, gender, fname, lname, firm) VALUES('$email', '$password', '$gender', '$fname', '$lname', '$firm')";
if(mysqli_query($conn, $sql)){
echo "Records added successfully.";
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($conn);
}
// close connection
mysqli_close($conn);
} else {
die('Email exists, Please use a different email');
}
}
else {
die('Passwords not matching, please try again');
}
}
在上述场景中,使用
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
为每个错误消息创建一个变量$message=“密码不匹配…”
,然后在
之后,您可以放置:
记得创建一个空白的$message=”“
。
希望有帮助。首先,不建议将表单和处理程序页面放在同一页面上,以避免通过刷新进行冗余插入。但是,在处理器部分,您必须在进程结束后使用任何重定向方法,在代码die()
和echo
中,应使用带有预先指定消息参数的重定向替换。例如,处理器中有四个端点,因此代码应该如下所示:
<?php
$conn = mysqli_connect("localhost","root","");
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
mysqli_select_db($conn, 'registration');
if(isset($_POST['submitbutton'])){
if ($_POST['password'] == $_POST['confirm_password']) {
$email = mysqli_real_escape_string($conn, $_POST['email']);
$password = mysqli_real_escape_string($conn, $_POST['password']);
$gender = mysqli_real_escape_string($conn, $_POST['gender']);
$fname = mysqli_real_escape_string($conn, $_POST['fname']);
$lname = mysqli_real_escape_string($conn, $_POST['lname']);
$firm = mysqli_real_escape_string($conn, $_POST['firm']);
$check_email_exists = mysqli_query($conn, "SELECT email FROM users WHERE email = '$email'");
$count = mysqli_num_rows($check_email_exists);
if ($count == 0) {
$sql = "INSERT INTO users(email, password, gender, fname, lname, firm) VALUES('$email', '$password', '$gender', '$fname', '$lname', '$firm')";
if(mysqli_query($conn, $sql)){
header("Location: user_login.php?msg=1");
exit();
} else{
header("Location: user_login.php?msg=2");
exit();
}
// close connection
mysqli_close($conn);
} else {
header("Location: user_login.php?msg=3");
exit();
}
}
else {
header("Location: user_login.php?msg=4");
exit();
}
}
$msg = [
"Records added successfully.",
"SQL Error",
"Email exists, Please use a different email",
"Passwords not matching, please try again"
];
if (isset($_GET['msg']) && isset($msg[($_GET['msg']-1)])){
$message = $msg[($_GET['msg']-1)];
}
// In your form
....
</div>
<?php if (isset($message)): ?>
<div class="message"><?=$message;?></div>
<?php endif; ?>
<div class="user-login">
<form class="login-form....
什么是PHP和HTML文件以及它们在服务器上的位置?它们位于同一页面上,表示“了解用于的语句”。即使是这样也不安全!永远不要存储纯文本密码!请使用PHP来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用密码\u hash()
。在散列之前,请确保对它们进行了清理或使用了任何其他清理机制。这样做会更改密码并导致不必要的额外编码。不在顶部显示,仍在顶部显示side@SibiKasim这可能是由于.css文件。您可以尝试将消息放在
标记之后。您好,感谢您的快速帮助。我试着用相反的方法。我能够以这种方式实现它,然后使用CSS定位来实现结果<代码>?>密码不匹配,请重试非常感谢。。那救了我一天@SibiKasim不介意,别忘了投票支持答案!:)如果你在没有准备好陈述的情况下发布了答案。另外,@JayBlanchard非常好的注意,但是,我比其他任何一点都更专注于问题的要求点,最后我没有调试代码。@SaidbakR。。一个疑问。当我在线上传文件时。页面正在重定向到404错误页面。网址栏显示“l.com/home”/
<?php
if(isset($_POST['submitbutton'])){
//perform validation, display error if any
}
?>
<?php
$conn = mysqli_connect("localhost","root","");
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
mysqli_select_db($conn, 'registration');
if(isset($_POST['submitbutton'])){
if ($_POST['password'] == $_POST['confirm_password']) {
$email = mysqli_real_escape_string($conn, $_POST['email']);
$password = mysqli_real_escape_string($conn, $_POST['password']);
$gender = mysqli_real_escape_string($conn, $_POST['gender']);
$fname = mysqli_real_escape_string($conn, $_POST['fname']);
$lname = mysqli_real_escape_string($conn, $_POST['lname']);
$firm = mysqli_real_escape_string($conn, $_POST['firm']);
$check_email_exists = mysqli_query($conn, "SELECT email FROM users WHERE email = '$email'");
$count = mysqli_num_rows($check_email_exists);
if ($count == 0) {
$sql = "INSERT INTO users(email, password, gender, fname, lname, firm) VALUES('$email', '$password', '$gender', '$fname', '$lname', '$firm')";
if(mysqli_query($conn, $sql)){
header("Location: user_login.php?msg=1");
exit();
} else{
header("Location: user_login.php?msg=2");
exit();
}
// close connection
mysqli_close($conn);
} else {
header("Location: user_login.php?msg=3");
exit();
}
}
else {
header("Location: user_login.php?msg=4");
exit();
}
}
$msg = [
"Records added successfully.",
"SQL Error",
"Email exists, Please use a different email",
"Passwords not matching, please try again"
];
if (isset($_GET['msg']) && isset($msg[($_GET['msg']-1)])){
$message = $msg[($_GET['msg']-1)];
}
// In your form
....
</div>
<?php if (isset($message)): ?>
<div class="message"><?=$message;?></div>
<?php endif; ?>
<div class="user-login">
<form class="login-form....