2016-07-23 13 views
2

私はこの問題をほぼ4時間、デバッグしようとしました。エラーメッセージはありません。$ stmt - > execute()は、わからない何らかの理由でfalseを返します。

<?php 

    $server = 'localhost'; 
    $username ='master'; 
    $password ='master'; 
    $database = 'quiz'; 

    try{ 
     $conn = new PDO("mysql:host=$server;dbname=$database;" , $username, $password); 
    } catch(PDOException $e){ 
     die ("Connection failed" . $e->getMessage()); 
    } 

?> 

database.phpで

register.php

<?php 

session_start(); 

if(isset($_SESSION['id'])){ 
    header("Location: index.php"); 
} 

require 'database.php'; 

$message = ''; 

if(!empty($_POST['user']) && !empty($_POST['password'])): 

    $pass = $_POST['password']; 
    $user = $_POST['user']; 

    $sql = "Insert into user (username, password) values (:user, :password)"; 
    $stmt = $conn->prepare($sql); 

    $stmt->bindValue(':user', $_POST['user']); 
    $stmt->bindValue(':password', password_hash($_POST['password'], PASSWORD_BCRYPT)); 

    //var_dump($_POST['password']); 
    //var_dump($_POST['user']); 

    if($stmt -> execute()): 
     $message = 'Successfully created new user'; 
    else: 
     $message = 'Sorry there must have been an issue creating your account'; 
    endif; 


endif; 

?> 

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>Register Below</title> 
    </head> 
    <body> 

    <?php if(!empty($message)): ?> 
     <p><?= $message ?></p> 
    <?php endif; ?> 

    <h1>Register</h1> 
    <form class="" action="register.php" method="post"> 

     <input type="text" placeholder="Username" name="user" id="user"> 
     <input type="password" placeholder="and password" name="password" id="password"> 
     <input type="password" placeholder="confirm password" name="confirm_password"> 

     <button type="submit" name="button">Register</button> 
    </form> 
    <a href="./index.php">home</a> 
    </body> 
</html> 

私は確認パスワードを無視していますけど、私は私が最初にデータベースに挿入することができますを確認します。

答えて

0

解決方法:私のデータベースのパスワードの長さは15です...ハッシュパスワード>> 15文字。長さを255に変更しました。うまくいけば、これは他の誰かにとって役に立ちます。

+0

ooh that sucks。あなたがそれを発見してうれしい – BeetleJuice

関連する問題