You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP与MySQL登录表单开发遇404错误,求解决方案

解决PHP注册表单提交后404错误及相关问题

一、404错误的直接原因

你的HTML表单中action属性设置为register.php,但实际处理表单提交的PHP文件是index.php,服务器找不到指定文件因此返回404。

解决方法二选一:

  1. 将index.php重命名为register.php,保持表单action不变;
  2. 修改HTML表单的action属性为index.php,同时添加method="POST"属性(默认提交方式为GET,会导致PHP中POST请求判断失效):
<form action="index.php" id="registrationForm" method="POST">

二、数据库连接错误修复

你的数据库连接代码存在多处问题,修复后代码如下:

<?php
// Database connection
$servername = "localhost:3306";
$username = "root"; // 移除多余的@符号
$password = "";
$dbname = "你的数据库名称"; // 替换为你创建的实际数据库名

// Establish a database connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

三、SQL注入风险修复

直接拼接用户输入到SQL语句存在严重注入风险,改用预处理语句:

// Process form submission
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $email = $_POST["email"];
    $password = password_hash($_POST["password"], PASSWORD_DEFAULT);

    // 使用预处理语句插入数据
    $sql = "INSERT INTO register (email, password) VALUES (?, ?)";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("ss", $email, $password);

    if ($stmt->execute()) {
        echo "Registration successful!";
    } else {
        echo "Error: " . $stmt->error;
    }
    $stmt->close();
}

// Close the database connection
$conn->close();
?>

四、文件路径检查

如果HTML文件在/portal/文件夹下,确保处理提交的PHP文件与HTML文件处于同一目录,或调整action路径(比如PHP文件在上级目录时,写action="../register.php")。

内容的提问来源于stack exchange,提问作者user12696830

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 23:35:19