php - 一个空行被插入到数据库中

标签 php html mysql css

嘿,过去几天我一直在努力让这段代码运行。我不知道是什么问题。每当我运行代码时,我都能看到它在运行,但插入了一个空行。基本上,我尝试对数据进行硬编码,然后插入数据。这是 HTML 表单:

                        <form action="register.php" id="contactForm" type="post">
                            <div class="row">
                                <div class="form-group">
                                    <div class="col-md-6">
                                        <label>First name *</label>
                                        <input type="text" class="form-control" name="fname" >
                                    </div>
                                    <div class="col-md-6">
                                        <label>Last name *</label>
                                        <input type="text" class="form-control" name="lname" >
                                    </div>
                                </div>
                            </div>
                            <div class="row">
                                <div class="form-group">
                                    <div class="col-md-6">
                                        <label>Gender *</label><br>
                                        <select name="gender">
                                            <option> Male </option>
                                            <option> Female </option>
                                        </select>

                                    </div>

                                    <div class="col-md-6">
                                        <label>Stream *</label><br>
                                        <select name="stream">
                                            <option> B-Tech </option>
                                            <option> M-Tech </option>
                                        </select>

                                    </div>
                                </div>
                            </div>
                            <div class="row">
                                <div class="form-group">
                                    <div class="col-md-6">
                                        <label>Email *</label>
                                        <input type="text"  class="form-control" name="email" >
                                    </div>
                                    <div class="col-md-6">
                                        <label>Mobile *</label>
                                        <input type="text"  class="form-control" name="mobile">
                                    </div>
                                </div>
                            </div>
                            <div class="row">
                                <div class="form-group">
                                    <div class="col-md-6">
                                        <label>College *</label>
                                        <input type="text"  class="form-control" name="college" >
                                    </div>
                                    <div class="col-md-6">
                                        <label>Job Kind *</label>
                                        <input type="text" class="form-control" name="job" >
                                    </div>

                                </div>
                            </div>
                            <div class="row">
                                <div class="col-md-12">
                                    &nbsp&nbsp&nbsp&nbsp

                                    <input type="submit" value="Register" class="btn btn-primary btn-lg" 
                                    data-loading-text="Loading..." name="submit">

                                </div>
                            </div>
                        </form>

这是registration.php

<?php
$connection = mysql_connect("EDITED by billy, was an I.P and port number", "user", "password"); // Establishing Connection with Server
$db = mysql_select_db("Registrations_connect", $connection); // Selecting Database from Server

            $first_name = $_POST["fname"];
            $last_name = $_POST["lname"];
            $sex = $_POST["gender"];
            $field = $_POST["stream"];
            $contact = $_POST["mobile"];
            $eaddress = $_POST["email"];
            $institute = $_POST["college"];
            $naukri = $_POST["job"];

            $query = mysql_query("insert into students(fname, lname, gender, stream, mobile, email, college, job) 
            values ('$name', '$last_name', '$sex', '$field','$contact', '$eaddress', '$intitute', '$naukri')");

            echo "<br/><br/><span>Data Inserted successfully...!!</span>";


mysql_close($connection); // Closing Connection with Server
?>

运行后;在检查元素中,我检查了响应:- 它显示数据已成功插入,但实际上插入了一个空行。基本上我认为我无法正确地从表单中正确获取数据。有人可以请检查是什么问题。这将是一个很大的帮助。

最佳答案

属性是method,不是type。此拼写错误导致您的表单处理 GET 而不是 POST。所以你所有的变量赋值都是错误的。

$first_name = $_POST["fname"];

会是

$first_name = $_GET["fname"];

或者你可以使用$_REQUEST;或者您可以只更正属性,

<form action="register.php" id="contactForm" method="post">

您的代码对 SQL 注入(inject)也很开放,并且正在使用已弃用的 mysql_ 函数。您应该更新到 mysqlipdo 并使用带有参数化查询的准备好的语句。

有关 SQL 注入(inject)的更多信息:
http://php.net/manual/en/security.database.sql-injection.php
How can I prevent SQL injection in PHP?
https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#Defense_Option_1:_Prepared_Statements_.28Parameterized_Queries.29

关于php - 一个空行被插入到数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34234467/

相关文章:

php - Composer 和多个分支

javascript - 我可以在彼此之上绘制两个形状并具有组合的描边/轮廓吗?

html - 使文本环绕而不增加宽度

php - 在 Yii 中查询关系模型

php - 从 MySQL 数据库中获取后,在浏览器上永久显示 html 表单输入?

php - Android + 网站/服务器上的 Facebook 身份验证

php - 如何以编程方式获取/设置产品价格?

php - 奇怪的网络服务器问题

php - 如何在 Doctrine2 SELECT 查询中处理 DateTime 类型的默认值?

javascript - JQuery - 如何抑制 mouseleave 事件?