2017-02-22 18 views
-1

質問があります。user_typeがXと等しい場合はコンテンツを表示

ユーザータイプが値adminと等しい場合は、どのようにウェブページにコンテンツを表示できますか?

ユーザーにuser_type adminが設定されている場合にのみ、コンテンツを表示したいとします。

私はこのコードを知っていますが、正しく動作していないため、コンテンツはユーザーと管理者に表示されます。私は他のウェブサイトでこの種のコードを持っていましたが、それは4年前です。

提案がありますか?

<?php 
if(mysql_result(mysql_query("SELECT user_type 
          FROM users 
          WHERE username = '$username'"), 
       0) == 'admin'); { 
?> 
ADMIN content 
<?php 
} 
?> 

種類は問題がif;ある

+1

これは非難された関数(* 'mysql_ *' *)を使用していることは言うまでもなく、質の悪いPHPです。今すぐ保存し、[** PDO **](http://php.net/manual/en/class.pdo.php)または[** MySQLi prepared statements **](http:// php。 net/manual/en/class.mysqli.php)。 – Darren

+0

ありがとうございます。あなたはそれに基づいてより安全なコードを作っていますか? – Rayvano

+0

コードは貧弱ですが、それでも機能するはずです。 – Barmar

答えて

0

について:ifの本体、および次のコードブロックは無条件に実行されているように空の文を入れている

<?php if(...); {?> 
      ^

削除すると、;となります。

+0

<?php if(mysql_result(mysql_query( " SELECT user_type FROM users WHERE username = '$ username' == 'admin'); { ?> ADMINのコンテンツ <?php } ?> ;( – Rayvano

+0

)関数呼び出しを分割して各ステップの結果を確認できるようにするのが最善の方法です。mysql拡張機能は時代遅れになっているので、mysqliやPDOに切り替えることも良いでしょう。 – Barmar

関連する問題