2012-05-07 11 views
-1

これはデンマークから来て翻訳にGoogleを使用していますので、英語では悪いので、レベルになることを願っています。これが私のMySQLIコードです最後の言葉は、誤りがあると言います。私はそれに正しいパスワードと電子メールを書き込もうとしましたが、何らかの形で何か作業をしても間違いを犯すことはありません。どのようにすることができますか?にはエラーがあると言われています

<?php 
    session_start(); 

    include("include/database/db.php"); 

    if($stmt = $mysqli->prepare("SELECT id, djnavn, hemmelig, rank FROM `brugere` WHERE `email` = ? AND `password` = ?")) 
      { 
      $stmt->bind_param('ss', $email, $password); 
      $email = $_POST['email']; 
      $password = sha1($_POST['password']); 
      $stmt->execute(); 
      $stmt->bind_result($id, $djnavn, $hemmelig, $rank); 
      $stmt->fetch(); 
      $count_res = $stmt->num_rows; 
      $stmt->close(); 

      if($count_res > 0) { 
       $_SESSION["logged_in"] = true; 
       $_SESSION["user_id"] = $id; 
       $_SESSION["djnavn"] = $djnavn; 
       $_SESSION["hemmelig"] = $hemmelig; 
       $_SESSION["rank"] = $rank; 
       if($rank == 0) 
       { 
        echo "Your can not log in!"; 
       } 
       if($rank == 1) 
       { 
        echo "Ok, members you can log in now!"; 
       } 
       if($rank == 2) 
       { 
        echo "Ok, Admin you can log in now!"; 
       } 
      } 
      else { 
       echo 'fail her: ' . $mysqli->error; 
      } 
     } 
?> 

私に手伝ってもらえますか?

+2

ポストあなたのエラーを。 – VibhaJ

+0

あなたのクエリはデータベースに対して直接動作しますか?言って、phpMyAdminで? – 0b10011

+0

だから何がエラーですか? :) –

答えて

0

最初に通知するのは、使用する前に$ emailと$ passwordを定義していないためです。

$email = $_POST['email']; 
$password = sha1($_POST['password']); 

カットし、あなたがのparamsバインドbeforそれらを貼り付けます。

$stmt->bind_param('ss', $email, $password); 
+0

あなたはどのような英雄を思いますか? –

+0

英雄とは?どういう意味ですか? – Leri

+0

nvm。 - どういう意味ですか?何をすべきか? –

関連する問題