administratorzy
id | admin_login | admin_password | admin_name
i adekwatnie tabela uzytkownicy
id | user_login | user_password | user_name
Loguje się jako administrator i działa, ale mam 2 problemy, które sprawiają mi trochę problemów.
1. Jak wyciągać dane z bazy. Mam komunikat, że jest zalogowany (pole login) np. admin, a jak wyciągnąć z bazy np. admin_name, próbowałem z <input type="hidden" /> ale chciałbym, aby takie info pochodziło z sesji. Chciałbym takie dane wyciągać z bazy aby np. móc potem je edytować.
2. Jak za pomocą jednego skryptu móc logować administratora i użytkownika. Mam taki skrypt i pisze mi, że mam błąd loginu, mimo iż wpisuję poprawne dane. Czy chodzi o przypisanie danych?
Podaje mój kod:
<?php function login_form () { echo '<form action="index.php?id=logowanie" method="Post" > <fieldset class="przesyl_plikow"> <legend><strong>Logowanie do serwisu</strong></legend> <div class="login_main"> <div class="log_form"> <input type="hidden" name="admin_name" id="admin_name" /> </div> <div class="log_form"> Login: <input name="login" type="text" id="login"> </div> <div class="log_form"> Hasło: <input name="password" type="password" id="password"> </div> <div class="log_form"> <input type="submit" name="submit" value="Zaloguj" title="zaloguj się" /> <input type="reset" name="reset" value="Wyczyść" title="wyczyść pola" /> </div> </div> </fieldset> </form>'; } if($_GET['wyloguj']=='tak') { $_SESSION['zalogowany'] = 0; } { //Zmiana wszystkich zmiennych przekazywanych $_POST foreach ($_POST AS $klucz => $wartosc) { $_POST[$klucz] = $wartosc; } //Dane z $_POST do wysłania w formularzu ////Dane do zalogowania jako Administrator //////////////////////////////// $admin_login = $_POST['login']; $admin_password = $_POST['password']; $admin_name = $_POST['admin_name']; ////Dane do zalogowania jako Użytkownik ///////////////////////////////////////////////////////////// $user_login = $_POST['login']; $user_password = $_POST['password']; { } { } { ///Zalogowanie administratora $sql = "SELECT * FROM administratorzy WHERE admin_login='$admin_login' and admin_password='$admin_password'"; if($count==1) { $_SESSION['zalogowany'] = 'tak'; $_SESSION['admin_login'] = $admin_login; $_SESSION['admin_name'] = $admin_name; echo '<div> Jesteś zalogowany jako '.$_SESSION['admin_name'].' | Twój login: '.$_SESSION['admin_login'].' <a href="index.php?id=logowanie&wyloguj=tak">Wyloguj</a> </div>'; } else { } } { //Zalogowanie użytkownika $sql = "SELECT * FROM uzytkownicy WHERE user_login='$user_login' and user_password='$user_password'"; if($count==2) { $_SESSION['zalogowany'] = 'tak'; $_SESSION['user_login'] = $user_login; $_SESSION['user_name'] = $user_name; echo '<div> Jesteś zalogowany jako '.$_SESSION['user_name'].' | Twój login: '.$_SESSION['user_login'].' <a href="index.php?id=logowanie&wyloguj=1">Wyloguj</a> </div>'; } else { } } else { } } else { 'Błąd logowanie'; } ?>
3. Chodziłby mi też o logowanie z warunkami, np. nie zaloguje użytkownika jeżeli jest zablokowany.