无法使用php和Myadmin数据库将任何数据上传到数据库

0 html php mysql database

我正在为一个招聘机构制作一个原型网站,我在将任何数据上传到为这个原型系统创建的数据库时遇到了问题.这是注册新用户页面,它不会将html文本字段中的任何信息发送到数据库.

这是我的代码 -

<?php
    require (__DIR__.'/connections/connections.php');

    if(isset($_POST['Register'])){ 

    session_start();
    $Title = $_POST['Consultant_Title'];
    $Fname = $_POST['Consultant_First_Name'];
    $Lname = $_POST['Consultant_Last_Name'];
    $Cbranch = $_POST['Consultant_Branch'];
    $Email = $_POST['Email'];
    $Username = $_POST['Username'];
    $Password = $_POST['Password'];


    $StorePassword = password_hash($Password, PASSWORD_BCRYPT, array('cost' => 10));

    $spl = $con->query("INSERT INTO consultant_details (Title, Fname, Lname, Cbranch )Values('{$Title}', '{$Fname}', '{$Lname}', '{$Cbranch}')");

    $spl = $con->query("INSERT INTO users ( Email, Username, Password )Values('{$Title}', '{$Email}', '{$Username}', '{$StorePassword}')");

header('location: Login.php');
    }
?>
Run Code Online (Sandbox Code Playgroud)

Html -

<h2>Staff Register </h2>
          <div class="clr"></div>
          <form action="" method="post" name="Registerform" id="Registerform">

          <div class="FormElement"><select style="font-size: medium;">
  <option name="Consultant_Title" id="Consultant_Title" value="Mr">Mr</option>
  <option name="Consultant_Title" id="Consultant_Title" value="Mrs">Mrs</option>
  <option name="Consultant_Title" id="Consultant_Title" value="Miss">Miss</option>
  <option name="Consultant_Title" id="Consultant_Title" value="Ms">Ms</option>
  <option name="Consultant_Title" id="Consultant_Title" value="Dr">Dr</option>
  <option name="Consultant_Title" id="Consultant_Title" value="Professor">Professor</option>
</select></div>

                <div class="FormElement">
          <input name="Consultant_First_Name" type="text" required="required" class="TField" id="Consultant_First_Name" placeholder="First Name"> <input name="Consultant_Last_Name" type="text" required="required" class="TField" id="Consultant_Last_Name" placeholder="Last Name">
        </div>

        <div class="FormElement">
          <input name="Username" type="text" required="required" class="TField" id="Username" placeholder="Username"> <input name="Password" type="text" pattern=".{6,}" required title="6 characters minimum" class="TField" id="Password" placeholder="Password">
        </div>

        <div class="FormElement">
          <input name="Consultant_Branch" type="text" required="required" class="TField" id="Consultant_Branch" placeholder="Consultant Branch"> <input name="Email" type="text" required="required" class="TField" id="Email" placeholder="Email">
        </div>

        <div class="FormElement"><input name="Register" type="submit" class="button" id="Register" value="Register"></div>
        </form>
Run Code Online (Sandbox Code Playgroud)

Fun*_*ner 5

如注释中所述,<select>保留name属性,而不是<option>.然后,值将从给定的值中填充value="x".

然后在第二个查询中有3列和4个值(缺少"title"列)并尝试执行多查询.

请参阅以下链接

并将其应用于您的代码.

另一件事,因为你正在使用password_hash(),使用准备好的声明.

您对SQL注入持开放态度.请在Stack上查询以下内容:

您的连接也是未知的,无论是MySQL_,还是MySQLi_或PDO.

不同的API不会混用,因此从连接到查询使用相同的MySQL API,称之为洞察力.

要检查查询是否真的成功,请使用affected_rows():

PHP有一组专门用于处理密码哈希的函数.

如果您使用的PHP版本低于5.5,则可以使用password_hash() 兼容包.

阅读本教程,了解如何将这些内容付诸实践.