Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP/MySQL] Prosty panel logowania
sleedz
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 15.01.2008

Ostrzeżenie: (0%)
-----


Witam.
Stworzyłem prosty panel logowania. Może komuś się przyda. Piszcie co w nim można zmienić...

index.php
  1. <?php
  2.  
  3.    session_start();
  4.    
  5.    include "config.php";
  6.    
  7.    if (isset($_SESSION['user_id'])) {
  8.        echo "zalogowałeś się jako <b>".$user_name."</b><br />";
  9.        echo "E-mail: ".$user_email."<br>
  10.                Data dołączenia: ".$user_date."<br>";
  11.        echo "<a href=\"logout.php\">[LOGOUT]</a>";
  12.    }
  13.    else {
  14.        
  15.        echo "<form method=\"GET\" action=\"login.php\">
  16.                <input type=\"text\" name=\"login\"><br>
  17.                <input type=\"password\" name=\"pass\"><br>
  18.                <input type=\"submit\" name=\"log\" value=\"Login\">
  19.              </form>";
  20.            
  21.    }
  22.            
  23. ?>


config.php
  1. <?php
  2.  
  3.    session_start();
  4.  
  5.    $db_host = "localhost";
  6.    $db_user = "root";
  7.    $db_pass = "root";
  8.    $db_base = "baza";
  9.    
  10.    $db = mysql_connect($db_host, $db_user, $db_pass);
  11.    mysql_select_db($db_base, $db);
  12.    
  13.    if (isset($_SESSION['user_id'])) {
  14.        $user_id     = $_SESSION['user_id'];
  15.        $user_name   = $_SESSION['user_name'];
  16.        $user_email  = $_SESSION['user_email'];
  17.        $user_rights = $_SESSION['user_rights'];
  18.        $user_date   = $_SESSION['user_date'];
  19.    }
  20.  
  21. ?>


login.php
  1. <?php
  2.  
  3.    session_start();
  4.    
  5.    include "config.php";
  6.  
  7.    $user_login = $_GET['login'];
  8.    $user_pass  = $_GET['pass'];
  9.    
  10.    $sql = "SELECT * FROM user WHERE user_name = '".$user_login."' AND user_pass = '".$user_pass."';";
  11.    $result = mysql_query($sql)
  12.        or die("Podałeś błędny login lub hasło");
  13.        
  14.    $rows = mysql_num_rows($result);
  15.    
  16.    if ($rows == 1) {
  17.        
  18.        $r = mysql_fetch_assoc($result);
  19.        session_register("user_id");
  20.        session_register("user_name");
  21.        session_register("user_email");
  22.        session_register("user_rights");
  23.        session_register("user_date");
  24.        
  25.        $_SESSION['user_id']     = $r['user_id'];
  26.        $_SESSION['user_name']   = $r['user_name'];
  27.        $_SESSION['user_email']  = $r['user_email'];
  28.        $_SESSION['user_rights'] = $r['user_rights'];
  29.        $_SESSION['user_date']   = $r['user_date'];
  30.        
  31.        header("Location: index.php");
  32.    }
  33.    else {
  34.        echo "Podałeś błędny login lub hasło... <br> <a href=\"index.php\">Powrót</a>";
  35.    }
  36.  
  37. ?>


logout.php
  1. <?php
  2.  
  3.    session_start();
  4.    
  5.    header("Location: index.php");
  6.  
  7. ?>


No i oczywiście trzeba stworzyć odpowiednią tabelę w bazie:
  1. CREATE TABLE `user` (
  2. `user_id` int(30) NOT NULL AUTO_INCREMENT,
  3. `user_name` varchar(50) collate latin2_bin DEFAULT NULL,
  4. `user_pass` varchar(50) collate latin2_bin DEFAULT NULL,
  5. `user_email` varchar(50) collate latin2_bin DEFAULT NULL,
  6. `user_date` date DEFAULT NULL,
  7. PRIMARY KEY (`user_id`)
  8. );
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Tak też może być przejrzyście. Albo chociaż rób referencje. Wiem, że się czepiam pierdół, ale zapytałeś, co można zmienić, to odpowiadam. Ale skoro nie używasz obiektów, to nie rób sobie takich aliasów, bo potem się nie połapiesz. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Posty w temacie
- sleedz   [PHP/MySQL] Prosty panel logowania   3.12.2008, 21:48:03
- - erix   Cytatecho "<form method=\"GET...   3.12.2008, 22:02:12
|- - Norbit_24   Cytat(erix @ 3.12.2008, 23:02:12 ) [P...   18.06.2010, 11:26:12
|- - darko   Cytat(Norbit_24 @ 18.06.2010, 12:26:1...   18.06.2010, 11:40:37
- - sleedz   Oj sorki. Zapomniałem zmienić z GET na POST... A ...   3.12.2008, 22:05:22
- - erix   Tak też może być przejrzyście. Albo chociaż rób re...   3.12.2008, 22:13:33
- - pyro   takie dwie dygresje: 1. w polu login mozna podac n...   3.12.2008, 22:58:11
- - harleyzbro   witajcie, ten kod jest jak dla mnie czymś idealnym...   9.01.2009, 18:05:04
- - erix   Użyj np. phpMyAdmina i dodaj sobie odpowiedni reko...   9.01.2009, 21:23:19
- - harleyzbro   Powiem tak dodaje rekordy: user_name: Funkcja USER...   10.01.2009, 12:35:01
- - erix   Jaka funkcja? :| Jakiego zapytania używasz w celu...   10.01.2009, 12:39:54
- - harleyzbro   Ja chce żeby było tak że tylko ja jako admin moge ...   10.01.2009, 12:55:03
- - KomputeromaniaK   A rejestracja?   10.01.2009, 14:01:38
- - harleyzbro   hmm...racja.Jestem początkujący...macie może jakiś...   10.01.2009, 15:24:17
- - debian   Cytat(erix @ 3.12.2008, 22:02:12 ) Vi...   24.01.2009, 15:11:32
- - vaverix   Mam pytanie... Znam sie troche na jezyku HTML ale...   14.02.2009, 22:43:27
- - Otto   Temat trochę stary ale skoro ja go znalazłem szuka...   17.04.2010, 13:28:05
- - Potar   Dorobiłem sobie kilka tabeli podczas rejestracji t...   6.05.2010, 18:23:02
- - haahh   Wrzuć chociaż mysql_real_escape_string() do tych d...   8.06.2010, 17:48:52
- - krzysztof_kf   mysql_real_escape_string() między innymi dodajesz ...   18.06.2010, 11:33:44
- - erix   A najlepiej, to przeczytać przyklejony wątek na te...   18.06.2010, 16:01:23
- - jacekpom   u mnie wyskakuje błąd CytatWarning: session_star...   8.10.2012, 15:25:45


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.04.2026 - 16:18