请审查/评论:php mysql javascript(不是学校)
Please review/comment: php mysql javascript (not school)
感谢大家。html是好的,我相信javascript仍然是一个问题,php看起来不错,但我需要更多的指针。我已经编辑了我的代码如下…
html:<input name="uname" type="text" placeholder="please enter a user name" required><br />
<input name="upassword" type="text" placeholder="please enter a password or passphrase" required><br />
<input id="register" name="register" type="submit" class="btn btn-primary btn-lg outline" onclick="register();"/>
函数register() {
javascript$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "register.php",
data: { name: "uname", password: "password"},
success: function (result) {
alert("success");
}
});
}
我最大的问题是php
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
define('USER', 'root');
define('PASS', 'Schwinny2156!');
try {
$conn = new PDO("mysql:host=localhost;dbname=users;", USER, PASS);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare('INSERT INTO `users` (name, password VALUES (:name,:password)');
$stmt->bindParam(':name', $_POST['uname']);
$stmt->bindParam(':password', $_POST['upassword']);
$stmt->execute()
}
catch(PDOException $e)
{
echo $stmt . "<br>" . $e->getMessage();
}
$stmt = null;
我修复了任何看起来错误的地方,不确定是否遗漏了什么。
编辑:忘了说,查找password_hash并实现它。以明文形式存储密码是不可能的。
编辑2:添加密码散列功能,让您开始。使用password_verify在登录时验证密码。
<form onsubmit="return register(this);">
<input name="uname" type="text" placeholder="please enter a user name" required><br />
<input name="upassword" type="text" placeholder="please enter a password or passphrase" required><br />
<input id="register" name="register" type="submit" class="btn btn-primary btn-lg outline"/>
</form>
js
function register(form) {
$.post("register.php", $(form).serialize());
return false;
}
php <?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
define('USER', 'root');
define('PASS', 'password');
try {
$conn = new PDO("mysql:host=localhost;dbname=users;", USER, PASS);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
define('uname', $_POST['uname']);
$passwordHash = password_hash($_POST['upassword'], PASSWORD_DEFAULT);
define('upassword', $passwordHash);
$sql = 'INSERT INTO `users` (name , password) VALUES (?, ?)';
$conn->prepare($sql)->execute([uname, upassword]);
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
您使用GET方法从jQuery $.get("register.php");
发送数据和您从PHP从POST访问数据。在jQuery中使用$.post("register.php");
或者在PHP中使用$_GET
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 模糊事件的Javascript测试
- Javascript更改图标
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何使用WCF服务和javascript表单post上传.doc文件
- javascript结合了数组和字典
- 这是什么 ==- javascript 运算符
- 从javascript创建一个列表
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 如何通过ajax刷新JSF填充的javascript变量
- Javascript和HTML学校的基础知识
- 需要帮助对学校项目的html文件中的Javascript代码进行故障排除
- Javascript节点学校异步挑战.我把异步代码搞砸了
- 请审查/评论:php mysql javascript(不是学校)