2017-08-21 11 views
-2

こんにちは私はログインシステムを作成しようとしていますし、バックエンドでのスキルが極端に限られています。チュートリアルを使ってデータベースを作成し、私の他のページにある私のすべてのPHPがこのチュートリアルがmysqliであるpdoを使っていることを認識しました。PHPのMYSQLIをPDOに変換する

私はこのコードを試してみて試してみましたが、私の試行は成功しませんでした。

誰かがPDOで作業するようにコードを編集できる場合は、本当に乾杯ですが:)

多くのおかげでここ

<?php 
try { 
    $handler = new PDO('mysql:host=127.0.0.1;dbname=loginsytem', 'root', ''); 
    $handler->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} catch(PDOException $e){ 
    echo $e->getName(); 
    die(); 
} 

session_start(); 

$query = $handler->query('SELECT * FROM users'); 

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

    incude_'dbh.inc.php'; 

    $uid = PDO::quote($conn, $_POST['uid']); 
    $pwd = PDO::quote($conn, $_POST['pwd']); 

    //Error Handlers 
    //Check if inputs are empty 

    if (empty($uid)) || empty($pwd)) { 
    header("location: ../index.php?login=empty"); 
    exit(); 
    } 
} else { 
    $sql = "SELECT * FROM users WHERE user_uid='$uid'"; 
    $result = mysqli_query($conn, $sql); 
    $resultCheck = mysqli_num_rows($result); 
    if ($resultCheck < 1) { 
     header("location: ../index.php?login=error"); 
     exit(); 
    } else { 
     if ($row = mysqli_fetch_assoc($result)) { 
     //de-hashing the password 
     $hashedPwdCheck = password_verify($pwd, $row['user_pdw']); 
     if ($hashedPwdCheck == false) { 
      header("location: ../index.php?login=error"); 
      exit(); 

     } elseif ($hashedPwdCheck == true) { 
      //Log in the user here 
      $_SESSION['u_id'] = $row['user_id']; 
      $_SESSION['u_uid'] = $row['user_uid']; 
      header("location: ../index.php?login=success"); 
      exit(); 
     } 
     } 
    } 
    } 

    else { 
    header("location: ../index.php?login=error"); 
    exit(); 
} 


?> 
+0

」を参照してください、MySQLのでPDOを学ぶために...あなたのコードを比較して...お知らせの変化を行きますPDOと連携するにはスタックオーバーフローの仕組みではありません。私たちはここにあなたのためのコードを書くのではありません。 [ツアー]に参加し、[ヘルプ/トピック]のトピックに関する記事をお読みください。 – Chris

答えて

1

あなたは、誰かがコードを編集することができれば、このチュートリアルhttp://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers

<?php 
try { 
    $handler = new PDO('mysql:host=127.0.0.1;dbname=loginsytem', 'root', ''); 
    $handler->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} catch(PDOException $e){ 
    echo $e->getName(); 
    die(); 
} 

session_start(); 

//$query = $handler->query('SELECT * FROM users'); 

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

    //Error Handlers 
    //Check if inputs are empty 

    if (empty($uid)) || empty($pwd)) { 
    header("location: ../index.php?login=empty"); 
    exit(); 
    } 
} else { 

    $stmt = $db->prepare("SELECT * FROM users WHERE user_uid=:uid"); 
    $stmt->bindParam(':uid', $uid, PDO::PARAM_STR); 

    if ($stmt->execute()) { 
     header("location: ../index.php?login=error"); 
     exit(); 
    } else { 
     if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
     //de-hashing the password 
     $hashedPwdCheck = password_verify($pwd, $row['user_pdw']); 
     if ($hashedPwdCheck == false) { 
      header("location: ../index.php?login=error"); 
      exit(); 

     } elseif ($hashedPwdCheck == true) { 
      //Log in the user here 
      $_SESSION['u_id'] = $row['user_id']; 
      $_SESSION['u_uid'] = $row['user_uid']; 
      header("location: ../index.php?login=success"); 
      exit(); 
     } 
     } 
    } 
    } 

    else { 
    header("location: ../index.php?login=error"); 
    exit(); 
} 


?> 
+0

ありがとう、あなたは素晴らしい人です! –

+0

あなたは大歓迎です.. –

+0

トピック以外の質問にはお答えください。スタックオーバーフローは、互いにコードを書く場所ではありません。 _learning_のための場所です。良い質問と回答は、今後他のユーザーにも当てはまるはずです。ここで完全な解決策を投げ捨てて、「ここに行く、理解したい場合は元のコードと比較する」とはあまり役に立ちません。 – Chris

関連する問題