当前位置: 首页 > 知识库问答 >
问题:

不将数据输入数据库的PHP代码

冉伯寅
2023-03-14

我无法将表格发送到数据库。我已经试了一个小时来解决这个问题;我用“echo mysqli_error();”将代码打了个谜,但并没有收到任何错误,只是数据库中缺少新数据(似乎提交表单也并没有重新加载页面来发送信息)。数据库使用config.php、connectDB.php和header.php为我的其余页面工作,因此问题不在数据库设置中。我相信错误在“isset($\u POST['submit'])”中,因为它不会用header()重新加载页面,但我提供了我的其余代码以防万一。(我知道这段代码不受SQL注入的保护,表单验证是我修复后的下一步):

<?php
require_once ("Includes/config.php"); 
require_once  ("Includes/connectDB.php");
include("Includes/header.php");
if (isset($_POST['submit'])){
                $name = $_POST['name'];
                $email = $_POST['email'];
                $content = $_POST['content'];
                $query = "INSERT INTO requests (name, email, content) VALUES (?, ?, ?)";

                $statement = $databaseConnection->prepare($query);
                $statement->bind_param('sss', $name, $email, $content);
                header('Location: /index.php');

                $statement->execute()
                $statement->store_result();
                setcookie("nameErr"," ", time()+3600);
                setcookie("emailErr"," ", time()+3600);
                setcookie("contentErr"," ", time()+3600);
                setcookie("contentSucc","Announcement Request Successful", time()+3600);
                header('Location: /request.php');

}
?>
<div id="main">
        <ol>
            <li>
                <label for="name">Name:</label> 
                <input type="text" name="name" value="" id="name" />
                <span class="error">* <?php if (isset($_COOKIE["nameErr"])){echo $_COOKIE["nameErr"];}?></span>
            </li>
            <li>
                <label for="email">Email:</label>
                <input type="text" name="email" value="" id="email" style = "position: relative; left: 3px;"/>
                <span class="error" style = "position: relative; left: 3px;">* <?php if (isset($_COOKIE["emailErr"])){echo $_COOKIE["emailErr"];}?></span>
            </li>
            <li>
                    <label for="content">Requested Announcement:</label><br>
                    <textarea rows="18" cols="140" name="content" id="content"></textarea>
                    <br>
                    <span class="error"> <?php if (isset($_COOKIE["contentErr"])){echo $_COOKIE["contentErr"];}?></span>
                    <span class="error"> <?php if (isset($_COOKIE["contentSucc"])){echo $_COOKIE["contentSucc"];}?></span>
            </li>
        </ol>
        <input type="submit" name="submit" value="Submit " style = "position: relative; left: 40px;" /> 
        <!-- onclick="window.location='request.php';" -->   
        <p>
            <a class="cancel" href="index.php" style = "position: relative; left: 40px;">Cancel</a>
        </p>
</div>

共有1个答案

容柏
2023-03-14
  1. 在执行SQL之前,您将重定向到另一个网页。

改变这个

            $statement->bind_param('sss', $name, $email, $content);
            header('Location: /index.php');

            $statement->execute()

对此

            $statement->bind_param('sss', $name, $email, $content);
            $statement->execute();
            $statement->close();

            header('Location: /index.php');
 类似资料:
  • 所以我想在一个控制器中创建两个存储。当我输入时,我确实返回到索引页面,但我提交的数据不存在。然后我看到了我的本地主机,但是我输入的数据也不在那里。当我输入时,没有错误消息。所以我不知道我的错误在哪里。 这是我的看法 createincome.blade.php 这是我的控制器 财务控制人。php 这是我的路线 web.php

  • 我目前正在使用一个CSV文件来数据驱动jmeter测试。(“CSV数据集配置”) 有没有一种方法可以使用SQL或oracle DB为jmeter脚本输入数据,而不是使用CSV? 示例:使用用户名和密码(测试数据)连接到db,并在Jmeter脚本中使用这些来登录。(这是一个非常简单的示例,但我将从DB获取应用程序不同部分的数据,并将其用作输入--这就是我想要实现的。) 因为我有很多数据并且在应用程序

  • 我已经创建了一个简单的注册系统,它可以按预期工作,尽管我想让用户在注册时从下拉菜单中选择一个值,例如男性或女性。然后,在数据库中可以区分该用户是男性还是女性,以及他们的用户名和密码。我使用一个简单的php下拉菜单从中选择数据。 我想知道如何在我的注册系统中实现这一点,允许用户在注册时从下拉菜单中选择性别,并将其与用户名和密码一起插入数据库。谢谢 HTML- PHP-

  • 我在我的几个应用程序中使用Logback将错误记录到数据库中。现在在我最新的应用程序中,我创建了一个正常使用的日志。但现在应用程序不会将任何内容记录到数据库中。 我正在使用源代码将db appender添加到记录器。代码如下所示: 当我尝试应用程序使用logback.xml文件相同的行为。没有日志写入数据库。有人能帮我吗?

  • 我的PHP代码中的插入数据sql命令不工作。有人能帮帮忙吗? 我有一个注册表,它从输入字段(姓名、姓氏、电子邮件、用户名和密码)中获取值 用户在此字段中输入的值应保存到我的表“users”中,该表有以下列(ID[主键/INT]、name[文本]、lastname[文本]、e-mail[变量字符]、username[变量字符]和password[变量字符])。 这是我目前的代码:

  • 问题内容: 我有以下要存储在数据库中的数组… 我试图搜索谷歌上如何做到这一点,我所能找到的是表明插入数组之前需要对数组进行拆分的信息。它是否正确?抱歉,天真,对于php来说还很陌生。 问题答案: 您不能直接将数组插入 mysql, 因为 mysql 无法 识别php 数据类型。 Mysql 只了解 SQL 。因此,要将数组插入mysql数据库,必须将其转换为sql语句。可以手动或通过库来完成。输出