javascript - 请查看/评论 : php mysql javascript (not school)

标签 javascript php mysql twitter-bootstrap

非常感谢大家。 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();"/>

函数寄存器() {

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;
?>

关于javascript - 请查看/评论 : php mysql javascript (not school),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38217430/

相关文章:

php - ajax帮助在php中调用js函数

javascript - Ajax 请求正在取消页面上的其他 JS 事件

php - Symfony 初始化 :acl command missing

php - 删除MySQL查询中的重复结果

javascript - 将缩略图添加到基本的 jQuery slider

javascript - 链接.click();在 Chrome 中工作时无法在 Internet Explorer 中工作

php - 拉拉维尔。 toArray() 转换后不能将 StdClass 类型的对象用作数组

php - laravel5.1 使用 Eloquent 检索不直接相关的嵌套属性

php - 比较两列之间的日期时 LEFT JOIN 不起作用

php - 更改过期日期后的值 PHP MYSQL