Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Panel logowania
Forum PHP.pl > Forum > PHP
albectus
Witam serdecznie. Mam napisany panel do logowania (do systemu newsow) Logowanie odbywa sie przez podanie Loginu i Hasła ktory jest zapisany w formularzu. Chciałbym by logowanie odbywało sie przez Bazę danych. Prosze o pomoc jak przerobic ten skrypt na taki z logowaniem przez MYSQL

Kod

<?
session_start();
?>

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title>administratora</title>
</head>

<body>

<?
if(isset($_POST['pass']))
{
if($_POST['pass']=='LOGIN' && $_POST['login']=='HASLO')
    {
    $_SESSION['admin']='ok';
    }
}

if((!isset($_SESSION['admin']) || $_SESSION['admin']!='ok') && $_GET['admin']!='wyloguj')
{
echo '<form method="POST" action="admin.php">
    <p align="center">
    Niestety nie jesteś zalogowany.<br> Proszę podać login hasło:<br>
        <input type="text" name="login" size="20"><br>
    <input type="password" name="pass" size="20"><br>
    <input type="submit" value="OK"></p>
</form>';
}

if(isset($_GET['admin']) && $_GET['admin']=='wyloguj')
{
$_SESSION['admin']='';
echo 'Nastąpiło wylogowanie<br> Przejdź do <a href="admin.php">strony głównej</a>...';
}

if($_SESSION['admin']=='ok')
{

$uchwyt=mysql_connect('mysql.60free.ovh.org','dDD','DDD')
    or die('Nieudane połączenie z bazą danych...');
mysql_select_db('DDDl')
    or die('Nie udało się wybrać bazy danych...');
    
    ?>...
modern-web
Widzę, że wszystko masz w jednym pliku...
Nie łatwiej, a zarazem korzystniej byłoby to rozdzielić na 3 podstrony?
1. logowanie
2. strona dla zalogowanych
3. wylogowanie

Gotowca Ci nie dam ale mogę podpowiedzieć winksmiley.jpg i pomóc dokończyć projekt...

Na początku stworzyłbym bazę danych o strukturze:

  1. CREATE TABLE IF NOT EXISTS `nazwa_tabeli` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `uzytkownik` varchar(255) NOT NULL,
  4. `haslo` varchar(255) NOT NULL,
  5. PRIMARY KEY (`id`)
  6. ) ENGINE=MyISAM AUTO_INCREMENT=1 ;


I dodaj tam użytkownika - ręcznie; przez phpmyadmin


Teraz musisz stworzyć plik polacz.php -> który będzie zawierał dane dostępu do bazy danych MySQL.
Nie będę tutaj podawał struktury, bo zakładam, że Ty to umiesz ;]


Jeśli chodzi o stronę logowania to narazie możesz stworzyć białą stronę, którą potem opatrzysz w grafikę.
Na początku tej strony wstaw skrypt php... coś w tym rodzaju:

  1. <?
  2. include_once"polacz.php";
  3. if(isset($_POST['zaloguj'])){
  4. $uzytkownik = trim($_POST['uzytkownik']);
  5. $haslo = trim($_POST['haslo']);
  6. $get_user_data = mysql_fetch_array($check_user_data);
  7. if($get_user_data['haslo'] == $haslo){
  8. $start_idsess = $_SESSION['zalogowany_uzytkownik'] = "".$get_user_data['uzytkownik']."";
  9. $start_passsess = $_SESSION['haslo_zalogowanego'] = "".$get_user_data['haslo']."";
  10. $ostateczny_raport.="Dane poprawne... bla bla bla <meta http-equiv='Refresh' content='2; URL=zalogowany.php'/>";
  11. }}
  12. ?>


Jeśli chcesz wyświetlać komunikatu typu: "błędna nazwa użytkownika/hasło" albo inne tego typu to po prostu zastosuj 'if' - to zakładam, ze zrobisz na własną rękę...

Teraz formularz logowania który umieścisz na stronie (na tej samej, w której jest powyższy skrypt) lub po przekształceniu pola <form> możesz użyć odnośnika do innego pliku... zależy jak Ci wygodniej.

  1. <form action="" method="post">
  2. <? echo "".$ostateczny_raport."";?>
  3. <br>
  4. Użytkownik:
  5. <br>
  6. <input type="text" name="uzytkownik">
  7. <br>
  8. <br>
  9. Hasło:
  10. <br>
  11. <input type="password" name="haslo">
  12. <br>
  13. <br>
  14. <input type="submit" value="zaloguj" name="zaloguj">
  15. </form>



Narazie to by było na tyle... resztę napiszę Ci później, bo teraz nie mam czasu. Popracuj nad tym, odpowiedz; popytaj... za 2-3h wrócę to wytłumaczę i dokończę dzieło, bo z głowy to nie łatwo się to wszystko pisze tongue.gif

Pozdrawiam smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.