Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] problem z logowaniem
Forum PHP.pl > Forum > Przedszkole
bolus150
Mam do napisania prace i po części ją mam. Musze zrobić jeszcze logowanie z bazy danych.. Mam logowanie z pliku, ale musi być z bazy.. oto mój index.php
  1. <html><body><title>Strona startowa</title> </body></html>
  2. $db = array(); $system = array(); $user = array();
  3. #definicja bazy
  4. $db['host'] = 'xxx';
  5. $db['user'] = 'xxx';
  6. $db['pass'] = 'xxx';
  7. $db['name'] = 'xxx';
  8. $db['tabela'] = 'xxx';
  9. #koniec
  10.  
  11. #definicja usera
  12. $user['login'] = '1';
  13. $user['pass'] = '1';
  14. #koniec
  15.  
  16. #tworzenie połączenia z MYSQL;
  17. mysql_connect($db['host'], $db['user'], $db['pass']) or die('Nie mozna polaczyc z baza MySQL');
  18. mysql_select_db($db['name']) or die('Nie mozna polaczyc z baza '.$db['name'].' - '.mysql_error()) ;
  19. #koniec
  20.  
  21. #zmienne
  22. $akcja = (isset($_GET['akcja'])) ? mysql_real_escape_string(trim($_GET['akcja'])) : null;
  23. $adminakcja = (isset($_GET['admin'])) ? mysql_real_escape_string(trim($_GET['admin'])) : null;
  24. $id = (isset($_GET['id'])) ? intval(trim($_GET['id'])) : null;
  25. $admin = (isset($_SESSION['admin']) && $_SESSION['admin'] == 'ok') ? true : false;
  26. $pola = array(
  27. 'marka', 'model', 'pojemnosc', 'rejestracja', 'rocznik'
  28. );
  29. $count = count($pola);
  30. #filtracja tablicy post
  31. foreach($_POST as $k => $e) {
  32. $_POST[$k] = mysql_real_escape_string(trim($e));
  33. }
  34. #koniec ft
  35. #koniec zmienne
  36.  
  37. #aplikacja
  38. if($admin === true) { ?>
  39. <p align="center"><a href="./?akcja=admin">Admin</a> | <a href="./?akcja=wyloguj">Wyloguj</a></p>
  40. <?php } else { ?>
  41. <p align="center"><a href="./?akcja=logowanie">Administracja</a></p>
  42. <?php }
  43. switch($akcja) {
  44. case 'logowanie':
  45. include('s/logowanie.php');
  46. break;
  47. case 'wyloguj':
  48. header('Location: index.php');
  49. break;
  50. case 'admin':
  51. if($admin === true) {
  52. switch($adminakcja) {
  53. case 'insert':
  54. include('s/admin.insert.php');
  55. break;
  56. case 'update':
  57. include('s/admin.update.php');
  58. break;
  59. case 'delete':
  60. include('s/admin.delete.php');
  61. break;
  62. default:
  63. include('s/admin.show.php');
  64. break;
  65. }
  66. } else {
  67. header('Location: index.php');
  68. }
  69. break;
  70. default:
  71. include('s/start.php');
  72. break;
  73. }


i niby logowanie w s/logowanie.php
  1. <?php if(isset($_POST['zaloguj'])) {
  2. if($_POST['username'] == $user['login'] && $_POST['pass'] == $user['pass']) {
  3. $_SESSION['admin'] = 'ok';
  4. header('Location: index.php'); exit;
  5. } else {
  6. echo 'Nieprawidlowy login lub haslo.';
  7. }
  8. } ?>
  9. <form action="" method="post">
  10. <fieldset><legend>Login</legend>
  11. <input type="text" name="username" size="30" />
  12. </fieldset>
  13. <fieldset><legend>Pass</legend>
  14. <input type="password" name="pass" size="30" />
  15. </fieldset>
  16. <fieldset>
  17. <input type="submit" name="zaloguj" value="Zaloguj" />
  18. </fieldset>
  19. </form>

Jest mi ktoś w stanie pomóc?
adrianozo
A jaki problem?
bolus150
chce żeby zamiast
  1. #definicja usera
  2. $user['login'] = '1';
  3. $user['pass'] = '1';
  4. #koniec


brało usera z bazy danych.

pomoze mi ktos?
Ulysess
w pliku logowanie.php czyli formularza wysyłasz dane do pliku (tego na górze strony) tam odbierasz metodą POST czyli:
$user = $_POST['username'];
$pass = $_POST['pass'];

następnie sprawdzasz w bazie czy jes rekord spełniajacy warunek czyli taki login i takie hasło . najprościej możesz do tego uzywac mysql_num_rows -> tutaj będziesz miał wynik jeśli będzie 1 oznacza że jest taki user jeśli 0 to nie ma. następnie możesz IFem zrobić ze jeśli jest 1 to zmiennej sesyjnej np user jest przypisywana wartość 1 i to oznacza w tym momencie user się zalogował
Adis92
Hmm ja używam takiego prostego systemu do logowania
loguj.php
  1. <?php
  2. ?>
  3. <html>
  4. <HEAD>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  6. <meta name="author" content="Sunrise">
  7. <title>Administracja</title>
  8. </HEAD>
  9. <body>
  10. <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  11. <table>
  12. <tr>
  13. <td>Użytkownik: </td>
  14. <td><input name="username" type="text" /></td>
  15. </tr>
  16. <tr>
  17. <td>Hasło: </td>
  18. <td><input name="password" type="password" /></td>
  19. </tr>
  20. </table>
  21. <input name="loguj" type="submit" value="login" />
  22. </form>
  23. <?php
  24. $login = $_POST['loguj'];
  25. if($login)
  26. {
  27.  
  28. if (!empty($_POST['username']) && !empty($_POST['password'])) {
  29.  
  30. $nazwa = mysql_escape_string(md5($_POST['username']));
  31. $haslo = mysql_escape_string(md5($_POST['password']));
  32.  
  33. /* Database connection */
  34. include("includes/db.php");
  35.  
  36. $connection = mysql_connect($host, $user, $password)
  37. or die("".$obrazek. "<h5>Brak połączenia z serverem MySQL</h5>");
  38. $db = mysql_select_db($baza, $connection)
  39. or die("".$obrazek. "<h5>Brak połączenia z bazą danych</h5>");
  40. /* End Database connection */
  41.  
  42. $sql = mysql_query("SELECT * FROM uzytkownicy WHERE nazwa='$nazwa' AND haslo='$haslo'");
  43.  
  44. if(@mysql_num_rows($sql))
  45. {
  46. session_register("uzytkownik");
  47. $_SESSION['name'] = $_POST['username'];
  48. header("Location: index.php");
  49. }
  50. else
  51. {
  52. echo "Nieprawidłowa nazwa użytkownika lub hasło.";
  53. }
  54. }
  55. else
  56. {
  57. echo "Brak danych";
  58. }
  59.  
  60. }
  61. ?>


db.php
  1. <?php
  2.  
  3. $user= 'root';
  4. $password= '***';
  5. $baza= '***';
  6. $host= 'localhost';
  7.  
  8. ?>

Może coś Ci pomoże 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.