mysqlデータベースのユーザレベルでリンクが一致するかどうかチェックしています。
これは私の現在のコードです:
<?php
$mysqli = new mysqli('host', 'name', 'psw', 'db');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if ($result = $mysqli->query("SELECT user_level FROM users WHERE user_level = 1 ")) {
$row_cnt = $result->num_rows;
printf("Result set has %d rows.\n", $row_cnt);
}
/* until here everything works fine - the code below seems to be not working */
if ($result == $_SESSION['userlevel']) {
$link = 'AdminLayout.php';
printf ('<a href="' .$link. '">Adminpanel </a>');
/* close result set */
$result->close();
}
/* close connection */
$mysqli->close();
?>
printf("Result set has %d rows.\n", $row_cnt);
は、接続が機能しているかどうかをチェックするだけで、それを検出することをUSER_LEVEL =
1.私は、私のログインフォームで$_SESSION['userlevel']
とを保存します:
if(isset($_POST['submitted']))
{
session_start();
$mysqli = new mysqli('host', 'name', 'psw', 'db');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
else ($result = $mysqli->query("SELECT user_level FROM users WHERE user_level = 1 ")) {
if (mysqli_num_rows($result == 1) {
$ulevel = $mysqli_fetch_array($result);
$ulevel = $_SESSION['userlevel'];
}
}
}
?>
残念ながら私のログインフォームはこれらの行が追加されても機能しません。
誰でも手伝ってもらえますか?ログインしたアカウントのユーザーレベルを正しく保存して、別のサイトに呼び戻すにはどうすればよいですか?
短いストーリー:MySQL DBのuserlevelをチェックして、ログインしたユーザーが一致した場合にリンクを表示したいと考えています。
あなたはmysqliの持つ特定の問題がある場合は、ダウンこの非常に問題にあなたの質問を絞り込むください。同じことがmysqlと同じです。具体的にしてください。 「ここで私のコードは動作しません」という質問は、トピックのものです –
問題は、間違いの場所がわからないため、正しく指定する方法がわかりません。私は単にセッションにユーザレベルを保存して別のサイトでチェックし、リンクを「アクティブにする」ことを望みます。しかし、とにかく '$ ulevel = $ _SESSION ['userlevel'];'に保存しようとすると、私のloginformはもう表示されません。 – pr0cz
誰も知っている人はいません。同時に、コードを実行して問題のある場所を確認することができます。さらに、コードと環境にアクセスできるのはあなただけです。だからそれを実行し、すべてのステップで状態をチェックしてください。 –