2012-02-22 12 views
-2

ログインページにはまだ問題があります。私たちがログインする情報を抽出するコードは、最も複雑なものです。私は自分のデータベースのログインテーブルに4つのフィールドを持っています。それらは `id、username、password、usertypeのようです。私は、ユーザが管理者である場合、ユーザの権限レベル(usertypeを使用)に向けてログインする人がいる場合、通常のユーザのページではなく管理者ページに誘導する必要があります。このコードは言う:解析エラー:構文エラー、Cで予期しない$エンド:end.itであるライン65上の\ WAMP \ WWW \ラーニング\ Checklogin.phpは次のようになります。チェックインのログインはまだまだ難しい

enter code here 
<?php 


     define(DOC_ROOT,dirname(__FILE__)); // To properly get the config.php file 


     $username = $_POST['username']; //Set UserName 
     $password = $_POST['password']; //Set Password 
     $msg =''; 


     if(isset($username, $password)) { 


    ob_start(); 


    include(DOC_ROOT.'/config.php'); //Initiate the MySQL connection 


// To protect MySQL injection (more detail about MySQL injection) 
$myusername = stripslashes($username); 
$mypassword = stripslashes($password); 
$myusername = mysqli_real_escape_string($dbC, $myusername); 
$mypassword = mysqli_real_escape_string($dbC, $mypassword); 

//Selecting all from the table 
$sql="SELECT * FROM Login WHERE Username='$myusername' and Password='$mypassword'"; 
    $result=mysqli_query($dbC, $sql); 
if(mysql_num_rows($result) == 1) 
{ 

    $row = mysql_fetch_array($result); 
    $type = $row['Type']; 

    $_SESSION['Username'] = $username; 
    $_SESSION['Password'] = $mypassword; 
     $_SESSION['Type'] = $type; 
    $_SESSION['loggedin'] = 1; 
    { 

    // Mysql_num_row is counting table row 
    $count=mysqli_num_rows($result); 


    if($type == "Admin") 
     { 


     header("Location: Admin.php"); 

     } 


     else if(type == "User") 
    { 
    header("Location: userpage.php"); 
    } 


    else if($type!='Admin'or'User') 
        { 
    //echo'The page can not be found'; 
    header("location:error1.html"); 

      } 
    else echo'sorry'; 

    } 
    exit(); 
    ?> 

答えて

3

あなたのエラーメッセージが:

Parse error: syntax error, unexpected $end

...は、PHPが期待する前にファイルが終了したことを意味します。すべての開き中括弧に対応する閉じ括弧があることを確認してください。

+0

これ!エラーメッセージは私たちの親友です。ところで、最初の 'if'ステートメントクロージャーを補完する不要な開き中括弧があるだけです –

+0

ありがとう!私は間違いを修正しましたが、ログインしようとするたびにエラーなしで同じページが表示されます。私に何ができる? – user1047242

+0

@JuicyScripterまだログインできませんが、私はすべての間違いを訂正しました。それは私のusertypeに応じて別のページに私を指示することになっているcheckloginページに私を連れて行く。他に何ができますか? – user1047242

1

私が見る最初のエラーはここにある:

else if(type == "User") 
    { 
    header("Location: userpage.php"); 
    } 

は、余分な開口部ブレースを取り外し代わりにtype

+0

DOC_ROOTと同じですか? – alfasin

+0

私はさらに多くのエラーを見ます;) – Crinsane

+0

これは間違っていますが、これはショーストッパーではありません。 'type'は定数として解析され、文字列" type "として解決されません。 OPはスクリプト実行前に解析レベルに問題があります。 –

2

$typeを試してみてください$ _SESSION [ 'LOGGEDIN'] = 1 ;.後

+0

また、ページにいくつかのPHP構文エラーがあるので、余分な中括弧を削除した後、それらのエラーを解決してページを実行させます – pkachhia

関連する問題