gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 00:40:50 26 4
gpt4 key购买 nike

我正在为一家招聘机构制作原型(prototype)网站,但在将任何数据上传到为该原型(prototype)系统创建的数据库时遇到了问题。这是注册新用户页面,它不会将 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');
}
?>

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>

最佳答案

如评论中所述,<select>持有 name 属性,而不是 <option> .然后,值将从为 value="x" 给出的值填充。 .

然后您在第二个查询中有 3 列和 4 个值(缺少“标题”列)并尝试执行 multi-query .

查阅以下链接

并将其应用于您的代码。

另一件事,因为您使用的是 password_hash() ,使用准备好的语句。

您对 SQL 注入(inject)持开放态度。在 Stack 上查阅以下内容:

您的连接也是未知的,无论是 MySQL_、MySQLi_ 还是 PDO。

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

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

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

如果您使用的 PHP 版本低于 5.5,您可以使用 password_hash() compatibility pack .

阅读this tutorial看看如何将这些事情付诸行动。

关于php - 无法使用php和Myadmin数据库将任何数据上传到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32631843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com