Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Nagłówek z logowaniem
Forum PHP.pl > Forum > Przedszkole
wojtas19
Witam. Chciałem zrobić plik nagłówka i go potem używać ciągle i brakuje mi już w sumie tylko jednej rzeczy. Ma on działać tak że jest w nim menu a w dodatku w prawym górnym rogu jeśli użytkownik nie jest zalogowany jest system logowanie i to działa ale później jak się już zaloguje to w tamtym miejscu ma być "moje konto" i "wyloguj" i w tym tkwi problem bo po zalogowaniu mam informacje "Przykro nam, ale użytkownik o podanym identyfikatorze nie istnieje." Kod wygląda tak:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  5. <link rel="stylesheet" type="text/css" href="style.css" />
  6. </head>
  7.  
  8. <body>
  9.  
  10. <div id="glowna"><a href="http://www.html.net/">Strona główna</a></div>
  11. <div id="terminarz"><a href="http://www.html.net/">Terminarz</a></div>
  12. <div id="tabela"><a href="http://www.html.net/">Tabela</a></div>
  13. <div id="regulamin"><a href="http://www.html.net/">Regulamin</a></div>
  14. <div id="kontakt"><a href="http://www.html.net/">Kontakt</a></div>
  15.  
  16. <?php
  17.  
  18.  
  19. require 'config.php';
  20. require_once 'user.class.php';
  21.  
  22. $login = htmlspecialchars(mysql_real_escape_string($_POST['login']));
  23. $pass = mysql_real_escape_string($_POST['pass']);
  24. if ($_POST['send'] == 1) {
  25. if (!$login or empty($login)) {
  26. die ('<p class="error">Wypełnij pole z loginem!</p>');
  27. }
  28.  
  29. if (!$pass or empty($pass)) {
  30. die ('<p class="error">Wypełnij pole z hasłem!</p>');
  31. }
  32.  
  33.  
  34. $pass = user::passSalter($pass);
  35.  
  36. $userExists = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE login = '$login' AND pass = '$pass'"));
  37.  
  38. if ($userExists[0] == 0) {
  39. echo '<p class="error">Użytkownik o podanym loginie i haśle nie istnieje.</p>';
  40. }
  41.  
  42. else {
  43. $user = user::getData($login, $pass);
  44.  
  45. $_SESSION['login'] = $login;
  46. $_SESSION['pass'] = $pass;
  47.  
  48. echo '<p class="success">Zostałeś zalogowany. Możesz przejść na <a href="index.php">stronę główną</a></p>';
  49. }
  50. }
  51.  
  52. else {
  53.  
  54. if (!user::isLogged()) {
  55.  
  56. ?>
  57.  
  58. <form method="post" action="">
  59. <label for="login">Login:</label>
  60. <input type="text" name="login" maxlength="32" id="login" />
  61.  
  62. <label for="pass">Hasło:</label>
  63. <input type="password" name="pass" maxlength="32" id="pass" /><br />
  64.  
  65. <input type="hidden" name="send" value="1" />
  66. <input type="submit" value="Zaloguj" />
  67. </form>
  68.  
  69. <?php
  70. }
  71. else {
  72.  
  73. $id = $_GET['id'];
  74.  
  75. $userExist = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE id = '$id'"));
  76.  
  77. if ($userExist[0] == 0) {
  78. die ('<p>Przykro nam, ale użytkownik o podanym identyfikatorze nie istnieje.</p>');
  79. }
  80.  
  81. ?>
  82. <div id="Wyloguj"><a href="logout.php">Wyloguj</a></div>
  83. <?php
  84.  
  85. $profile = user::getDataById ($id);
  86.  
  87.  
  88. }
  89. }
  90. require 'footer.php';
  91. ?>
pawlo20
troche niebardzo opisałeś nie wiadomo o co chodzi
wojtas19
Hmm no to robię taki plik który zawiera w sobie całe menu. I to menu będzie w każdej stronie podstronie itp, że gdzie nie wejdę to ono będzie. No i chciałem zrobić coś takiego że jak jestem niezalogowany to wyświetla się formularz logowania a jak jestem już zalogowany to jest "Moje konto" i "Wyloguj". No i formularz logowania jest ale jak się zaloguje to zamiast "Moje konto i "Wyloguj" jest napis "Przykro nam, ale użytkownik o podanym identyfikatorze nie istnieje." I w tym tkwi cały problem co jest źle że nie wyświetla tego co chciałem. Teraz chyba lepiej smile.gif Proszę o pomoc.
nospor
Wywal ten kod:
  1. $id = $_GET['id'];
  2.  
  3.  
  4.  
  5. $userExist = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE id = '$id'"));
  6.  
  7.  
  8.  
  9. if ($userExist[0] == 0) {
  10.  
  11. die ('<p>Przykro nam, ale użytkownik o podanym identyfikatorze nie istnieje.</p>');
  12.  
  13. }

Jest totalnie zbędny a na dodatek zły.
wojtas19
Dzięęęęki działa biggrin.gif
wojtas19
A jeszcze mam problem następny bo teraz jest ok zaloguje się, wyświetla się napis "Moje konto" i "Wyloguj" i wylogowanie rzeczywiście działa ale jak naciskam "Moje konto" i przechodzę do "konto.php" to jestem już wylogowany :/. Ktoś wie w czym tkwi problem?
nospor
Może być łaskawie pokazał kod tego konto.php?
wojtas19
Już wiem gdzie tkwił błąd brakowało session_start();
nospor
Tak też myślałem, dlatego poprosiłem o kod. No ale sam na to wpadłeś.
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.