2017-10-27 13 views
-2

(ログインとして実装)配列conditonとのセッションでは、真または偽の作りが、私は常に問題とエラーの場合、セッション内:私は(データベースから)メニューの条件でのログインフォームを生成行きたいPHP

Fatal error: Can't use function return value in write context in

ノート:行目44,45は$_SESSION['barang']であり、$_SESSION['transaksi']

コードは次のとおり

$sql = "SELECT * FROM user WHERE username = '$_POST[username]' AND password = '$_POST[password]'"; $result = mysql_query($sql); $temukan = mysql_num_rows($result); if ($temukan > 0) { $log = mysql_fetch_assoc($result); $_SESSION['username'] = $_POST['username']; $hak_akses = explode(", ", $log['hak_akses']); $_SESSION['barang'] = !empty(in_array("barang", $hak_akses)) ? "TRUE" : "FALSE"; $_SESSION['transaksi'] = !empty(in_array("transaksi", $hak_akses)) ? "TRUE" : "FALSE"; header("location:halaman_utama.php"); } else { echo"Gagal Login ..."; } 
+0

'in_array'の結果を' empty'を通して渡すのはなぜですか? – tkausl

+0

申し訳ありませんが、私はプログラマーの世界では新しいです、私はそれが空白のチェックのためか、配列ではないと思います。そう、あなたはそれがどのように見えるべきだと思いますか? –

+0

コードを正しくインデントしてください。コードを追加してください。それをサポートするには十分ではありません。 –

答えて

0

最初のステップはこれに適切style your codeそのOTであるべきです彼女たち(そしてあなた自身!)は簡単にそれを読むことができます。

$sql = "SELECT * FROM user WHERE username = '$_POST[username]' AND password = '$_POST[password]'"; 

$result = mysql_query($sql); 

$temukan = mysql_num_rows($result); 

if ($temukan > 0) { 
    $log = mysql_fetch_assoc($result); 
    $_SESSION['username'] = $_POST['username']; 
    $hak_akses = explode(", ", $log['hak_akses']); 

    $_SESSION['barang'] = !empty(in_array("barang", $hak_akses)) ? "TRUE" : "FALSE"; 
    $_SESSION['transaksi'] = !empty(in_array("transaksi", $hak_akses)) ? "TRUE" : "FALSE"; 

    header("location:halaman_utama.php"); 
} else { 
    echo"Gagal Login ..."; 
} 

機能in_array()戻りTRUEまたはすでにFALSEので、あなたはおそらくしたい、何かもっとのような:

$_SESSION['barang'] = in_array("barang", $hak_akses) ? "TRUE" : "FALSE";

$_SESSION['transaksi'] = in_array("transaksi", $hak_akses) ? "TRUE" : "FALSE";

あなたは、実際の文字列を格納する必要がない限りTRUEまたはFALSE$_SESSION変数を使用すると、さらに簡単なソリューション次のようになります。

$_SESSION['barang'] = in_array("barang", $hak_akses);

$_SESSION['transaksi'] = in_array("transaksi", $hak_akses);

そうでない場合、文字列が配列または0である場合には、この意志は1を格納します。

+0

ありがとう、君は最高だね...悪いスキルには申し訳ない。 hikkks ..:D –

関連する問題