Php 如果填写了一个输入框,则标题不更改URL
我一直在开发一个使用html、css和PHP的网站。目前,我正试图使它成为这样,当一个人试图注册,但例如离开用户名为空,URL错误应该是这样的。但URL保持不变Php 如果填写了一个输入框,则标题不更改URL,php,html,Php,Html,我一直在开发一个使用html、css和PHP的网站。目前,我正试图使它成为这样,当一个人试图注册,但例如离开用户名为空,URL错误应该是这样的。但URL保持不变 注册 用户名 电子邮件 密码 重复密码 应该是&而不是%和$\u POST而不是$\u POST。试试这个: <?php if (isset($_POST['signup-submit'])) { require 'dbh.inc.php'; $username = $_POST['uid'];
注册
用户名
电子邮件
密码
重复密码
应该是&
而不是%
和$\u POST
而不是$\u POST
。试试这个:
<?php
if (isset($_POST['signup-submit']))
{
require 'dbh.inc.php';
$username = $_POST['uid'];
$email = $_POST['mail'];
$password = $_POST['pwd'];
$passwordrepeat = $_POST['pwd-repeat'];
if (empty($username) || empty($username) || empty($username) || empty($username))
{
header("Location: ../PresenceSignup.php?error=emptyfields&uid=".$username."&mail=".$email);
exit();
}
}
不要像这样手动构造URL。这是非常不安全和容易出错的。PHP对此有一个解决方案。使用
例如,您可以这样使用它:
$username = $_POST['uid'];
$email = $_POST['mail'];
$password = $_POST['pwd'];
$passwordrepeat = $_POST['pwd-repeat'];
if (empty($username)) {
$queryStringArray = [
'error' => 'emptyfields',
'uid' => $username,
'mail' => $email,
];
header("Location: ../PresenceSignup.php?".http_build_query($queryStringArray));
exit();
}
此外,正如所指出的,但其他人认为它是$\u POST
而不是$\u POST
,并且您检查了4次空($username)
为什么要重定向以显示错误消息?只需直接呈现页面。抱歉,第一次使用此网站时,您在第二个脚本上多次检查用户名,如果(empty($username)| | | empty($email)| | empty($passwordrepea){…}
使用此条件来检查其他值,您必须尝试,无更改URL仍然只打印出/PresenceSignup.php?错误=emptyfields&uid=&mail=“您正在填写电子邮件
输入框吗?我想我弄错了,您使用的是小写字母的$\u post
,应该是大写字母的$\u post
。”。更新了答案。现在试试。是的,在我的表单上,我填写了电子邮件、密码和密码重复框,而用户名框为空。好的,是的,这解决了问题。谢谢你,已经做了一段时间,但没有意识到我的语法错误。
<?php
$servername = "localhost";
$dBUsername = "root";
$dBPassword = "";
$dBName = "loginsystem";
$conn = mysqli_connect($servername, $dBUsername, $dBPassword, $dBName);
if (!$conn)
{
die("Connection Failed: ".mysqli_connect_error());
}
<?php
if (isset($_POST['signup-submit']))
{
require 'dbh.inc.php';
$username = $_POST['uid'];
$email = $_POST['mail'];
$password = $_POST['pwd'];
$passwordrepeat = $_POST['pwd-repeat'];
if (empty($username) || empty($username) || empty($username) || empty($username))
{
header("Location: ../PresenceSignup.php?error=emptyfields&uid=".$username."&mail=".$email);
exit();
}
}
$username = $_POST['uid'];
$email = $_POST['mail'];
$password = $_POST['pwd'];
$passwordrepeat = $_POST['pwd-repeat'];
if (empty($username)) {
$queryStringArray = [
'error' => 'emptyfields',
'uid' => $username,
'mail' => $email,
];
header("Location: ../PresenceSignup.php?".http_build_query($queryStringArray));
exit();
}