你好! 我正在一个网站上工作,但此刻我被卡住了! 当我按下提交按钮时,我将被重定向到
找不到对象! 在此服务器上找不到请求的URL。引用页面上的链接似乎是错误的或过时的。请告知该页面的作者有关错误的信息。
如果您认为这是服务器错误,请与网站管理员联系。
错误404 本地主机 Apache / 2.4.29(Win32)OpenSSL / 1.1.0g PHP / 7.2.0
我试图更改我的XAMPP端口,但它也不起作用。我也用谷歌搜索了它,但没有结果。
我认为它与我的标头变量有关。
但我是一个初学者,所以看不到错误。
我该怎么办?
我的代码 - >
//Database connect
$host = "localhost"; //Database host --------------------
$user = "root"; //User in the database --------------------
$password = ""; //The password to the database --------------------
$database = "hjaelpsom"; //The specific database --------------------
//Database connect validation --------------------
$connect = mysqli_connect($host, $user, $password, $database);
if(!$connect){
echo "Kunne ikke tilslutte til vores database! Prøv igen senere!";
header("Location: ../HTML-opret-ung.php");
} else {
//Inserting the input to variables
$name = $_POST["name"];
$mail = $_POST["email"];
$mailConfirm = $_POST["emailConfirm"];
$age = $_POST["age"];
$password = $_POST["password"];
$passwordConfirm = $_POST["passwordConfirm"];
$agree = $_POST["agree"];
$submit = $_POST["submit"];
//Validation of the user input --------------------
//If the submit button is clicked --------------------
if(isset($_POST['submit'])){
//Check if all fields are filled --------------------
if(empty($name) || empty($mail) || empty($mailConfirm) || empty($age) || empty($password) || empty($passwordConfirm) || empty($agree)){
echo "Du skal udfylde ALLE felterne!";
header("Location: HTML-opret-ung.php");
exit;
} else {
//Name --------------------
if(!preg_match("/^[a-åA-Å ]*$/", $name)){
echo "Du skal indtaste et navn ikke $name";
header("Location: HTML-opret-ung.php");
exit;
} else {
//Mails --------------------
if(!filter_var($mail, FILTER_VALIDATE_EMAIL) || !filter_var($mailConfirm, FILTER_VALIDATE_EMAIL)){
echo "Du har indtastet en ugyldig email!";
header("Location: HTML-opret-ung.php");
exit;
} else {
$mailCheck = "SELECT * FROM unge WHERE email='$mail'";
$mailResult = mysqli_query($connect, $mailCheck);
$mailResultCheck = mysqli_num_rows($mailCheckResult);
if($mailResultCheck > 0){
echo "Din email var allerede i brug!";
exit;
} else {
if($mail === $mailConfirm){
echo "Dine emails var ikke ens!";
header("Location: HTML-opret-ung.php");
exit;
} else {
//Age --------------------
if($age < 12 || $age > 17){
echo "Du er enten for ung eller for gammel!";
} else {
//Passwords -------------------- 1:04:32
if(preg_match("/^[a-zA-Z0-9]*$/")){
if($password === $passwordConfirm){
$passwordHash = password_hash($password, PASSWORD_DEFAULT);
//Insert into DB --------------------
$insertSQL = "INSERT INTO unge (Name, Email, Age, Password) VALUES ('$name', '$mail', '$age', '$passwordHash')";
mysqli_query($connect, $insertSQL);
} else {
echo "Dine kodeord skal være ens!";
}
} else {
echo "Dit kodeord skal mindst indeholde: et stort bogstav, et småt bogstav og et tal";
exit();
}
}
}
}
}
}
}
} else {
header("Location: ../HTML-opret-ung.php");
exit();
}
}
答案 0 :(得分:0)
404错误显示文件丢失或您重定向到错误的目录。 $ _POST [&#34;提交&#34;]返回什么? 还尝试完全删除标题,看看它是否仍然返回一些东西。 删除标题后尝试使用var_dump()或echo。
我自己一直在使用xampp,当我提供错误的输入时,主要是404与错误的文件路径有关。
../表示当前目录上方的目录。