Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Panel logowania, jak to przerobić?
Forum PHP.pl > Forum > Przedszkole
howcio
Witam wszyskich. Mam na stronce zrobiony panel logowania i rejestracją. W tej chwili działa to tak, że jak wpiszę złe passy lub nie wpiszę nic i kliknę zaloguj, otwiera się nowa strona i pokazuje mi dane echo. Chciałbym, żeby było to tak, żeby echo na temat złeych passów, czy nawet info że zostałeś zalogowany pokazywało się nad inputami do wpisania passów. Mam nadzieje, że rozumiecie o co mi chodzi.

index
  1. <?php session_start(); ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  4. <meta http-equiv="Content-Language" content="pl" />
  5. <meta name="Keywords" content="słoowa, kluczowe, oddzielone, przecinkami" />
  6. <meta name="Description" content="krótki opis zawartości strony" />
  7. <meta name="Robots" content="ALL" />
  8. <meta name="Author" content="flankerds.com" />
  9. <link rel="stylesheet" href="style.css" type="text/css" />
  10. <title>Tibian-SHOP.eu</title>
  11. </head>
  12.  
  13. <div id="container">
  14.  
  15. <div id="naglowek"></div>
  16.  
  17. <div id="menu">
  18. <ul>
  19. <li><a href="#">Strona Główna</a></li>
  20. <li><a href="#">Inna Podstrona</a></li>
  21. <li><a href="#">Inna Podstrona</a></li>
  22. <li><a href="#">Inna Podstrona</a></li>
  23. <li><a href="#">Inna Podstrona</a></li>
  24. </ul>
  25. </div>
  26.  
  27. <div id="lewy">
  28. <dl>
  29. <dt>Menu 1</dt>
  30. <dd><img src="images/ptk.jpg" alt="menu" />      <a href="#">Lewe Menu 1</a></dd>
  31. <dd><img src="images/ptk.jpg" alt="menu" />      <a href="#">Lewe Menu 2</a></dd>
  32. <dd><img src="images/ptk.jpg" alt="menu" />      <a href="#">Lewe Menu 3</a></dd>
  33. <dd><img src="images/ptk.jpg" alt="menu" />      <a href="#">Lewe Menu 4</a></dd>
  34. <dd><img src="images/ptk.jpg" alt="menu" />      <a href="#">Lewe Menu 5</a></dd>
  35. </dl>
  36.  
  37. <dl>
  38. <dt>Panel Administracyjny</dt>
  39. <?
  40. if($_SESSION['ID']<>712){
  41. echo '
  42. <form method="POST" action="login.php">
  43. <table cellpadding="0" cellspacing="0" width="180">
  44.  
  45. <tr><td><br></td></tr>
  46. <tr><td width="50"><b>Login:</b></td></tr>
  47. <tr><td><input type="text" name="login" maxlength="32" size="20"></td></tr>
  48. <tr><td width="50"><b>Hasło:</b></td></tr>
  49. <tr><td><input type="password" name="haslo" maxlength="32" size="20"></td></tr>
  50. <tr></tr><tr><td align="center" colspan="2"><br><input type="submit" value="Zaloguj"><br></td></tr>
  51.  
  52. </form>
  53. ';
  54. }else{
  55. $nick = $_SESSION['nick'];
  56. echo 'Witaj, <b>'.$nick.'</b> . Miłego Dnia :)';}
  57. ?>
  58.  
  59. </dl>
  60.  
  61. <div id="bottom"></div>
  62. </div>
  63.  
  64. <?php include("includes/news.php") ?>
  65.  
  66. <div id="stopka">
  67. <div id="copyright">Copyright by Ty </div>
  68. <div id="design">Dzisiaj mamy : <? date_default_timezone_set('Europe/Warsaw'); echo(date("<b>d-m-Y, H:i:s</b>")) ?></div>
  69. </div>
  70.  
  71. </div>
  72. </body>
  73. </html>


Chciałbym, żeby dany alert pokazywał się np pod
Kod
    <dt>Panel Administracyjny</dt>


Login.php
  1. <?php include("config.php"); ?>
  2. <?php
  3. $login = $_POST['login'];
  4. $haslo = $_POST['haslo'];
  5. $haslo = addslashes($haslo);
  6. $login = addslashes($login);
  7. $login = htmlspecialchars($login);
  8.  
  9. if ($_GET['login'] != '') { //jezeli ktos przez adres probuje kombinowac
  10. }
  11. if ($_GET['haslo'] != '') { //jezeli ktos przez adres probuje kombinowac
  12. }
  13.  
  14. $haslo = md5($haslo); //szyfrowanie hasla
  15. if (!$login OR empty($login)) {
  16. echo '<p class="alert">Wypełnij pole z loginem!</p>';
  17. }
  18. if (!$haslo OR empty($haslo)) {
  19. echo '<p class="alert">Wypełnij pole z hasłem!</p>';
  20. }
  21. $istnick = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM `uzytkownicy` WHERE `nick` = '$login' AND `haslo` = '$haslo'")); // sprawdzenie czy istnieje uzytkownik o takim nicku i hasle
  22. if ($istnick[0] == 0) {
  23. echo 'Logowanie nieudane. Sprawdź pisownię nicku oraz hasła.';
  24. } else {
  25.  
  26. $_SESSION['nick'] = $login;
  27. $_SESSION['haslo'] = $haslo;
  28. $_SESSION['ID'] = 712;
  29.  
  30. header("Location: index.html");
  31. }
  32. ?>
Turson
W takim wypadku działasz tylko w jednym pliku - formularz+skrypt. To chyba logiczne. Co więcej sprawdzanie passów dajesz nad formularzem.
com
Lub wysyłasz sobie ajaxem info że ma wyświetlić informacje, co jest bardziej sensowne w dzisiejszych czasach... tongue.gif
  1. if (!$login OR empty($login))

magia biggrin.gif

  1. if ($_GET['login'] != '') {
  2. //whatever
  3. }

Poco, skoro przesyłasz POST to w GET może być trelemorelne i nie ma to wpływu na twój skrypt... Przecież Register Globals to już dawno nie ta bajka i po 5.4 wgl znikną biggrin.gif

  1. $_SESSION['haslo'] = $haslo;

Nie exclamation.gif Nie exclamation.gif Nie exclamation.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.