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
Otto
post
Post #2





Grupa: Zarejestrowani
Postów: 144
Pomógł: 7
Dołączył: 22.03.2010

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


Temat trochę stary ale skoro ja go znalazłem szukając panelu logowania to i inni mogą znaleść

Zrobiłem rejestracje do tego panelu logowania

Kilka plików jest do edycji:

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


register.php
  1. <?php
  2. if(isset($error)) {
  3. $ul =<<<EOD
  4. <ul>
  5. $error
  6. </ul>
  7. EOD;
  8. echo $ul;
  9. }
  10. ?>
  11. <form method="post" action="trans.php">
  12. <table>
  13. <tr>
  14. <td width="100px">Nick</td>
  15. <td>
  16. <input type="text" name="name">
  17. </td>
  18. </tr>
  19. <tr>
  20. <td>Hasło</td>
  21. <td>
  22. <input type="password" name="pass1">
  23. </td>
  24. </tr>
  25. <tr>
  26. <td>Powtórz hasło</td>
  27. <td>
  28. <input type="password" name="pass2">
  29. </td>
  30. </tr>
  31. <tr>
  32. <td>Adres email</td>
  33. <td>
  34. <input type="text" name="mail">
  35. </td>
  36. </tr>
  37. <tr>
  38. <td colspan="2" align="center">
  39. <input type="submit" name="submit" value="Rejestruj">
  40. </td>
  41. </tr>
  42. </table>
  43. </form>


trans.php
  1. <?php
  2. require("config.php");
  3.  
  4.  
  5.  
  6. $name = strtolower($_POST['name']);
  7. $pass1 = $_POST['pass1'];
  8. $pass2 = $_POST['pass2'];
  9. $mail = strtolower($_POST['mail']);
  10. $date = date('Y-m-d');
  11. $error = "";
  12.  
  13.  
  14. if (empty($name)) {
  15. $error .= "<li>Podaj nick</li>";
  16. }
  17. if (empty($pass1)) {
  18. $error .= "<li>Podaj hasło</li>";
  19. }
  20. if (empty($pass2)) {
  21. $error .= "<li>Powtórz hasło</li>";
  22. }
  23. if (empty($mail)) {
  24. $error .= "<li>Podaj adres e-mail</li>";
  25. }
  26.  
  27. $sql = "SELECT user_id FROM user WHERE user_name = '" . $name . "'";
  28. $result = mysql_query($sql) or die(mysql_error());
  29. $msr = mysql_num_rows($result);
  30.  
  31. if($msr > 0) {
  32. $error .= "<li>Taki użytkownik już istnieje</li>";
  33. }
  34.  
  35. $sql = "SELECT user_id FROM user WHERE user_email = '" . $mail . "'";
  36. $result = mysql_query($sql) or die(mysql_error());
  37. $msr = mysql_num_rows($result);
  38.  
  39. if($msr > 0) {
  40. $error .= "<li>Jakiś użytkownik już wykorzystał ten adres e-mail</li>";
  41. }
  42.  
  43. if(!empty($error)){
  44. header("location:register.php?error=$error");
  45. }
  46.  
  47.  
  48. if ($pass2 != $pass1) {
  49. $error .= "<li>Podane hasła różnią się!</li>";
  50. header("location:register.php?error=$error");
  51. }
  52.  
  53. if (empty($error)) {
  54. $pass = md5($pass1);
  55. $sql = "INSERT INTO user (user_name, user_pass, user_email, user_date)
  56. VALUES ('$name', '$pass', '$mail', '$date')";
  57. $result = mysql_query($sql) or die(mysql_error());
  58. header("location:index.php?wykonano=yes");
  59. }
  60.  
  61.  
  62. ?>


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


Ten post edytował Otto 17.04.2010, 14:14:08
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:17