Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP] Podwójny panel logowania, Problemem jest podwójne występowanie panelu logowania
Fiox
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 19.03.2011

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


Problem przedstawia się następująca.

Mam taki panel logowania, i problem polega na tym, że po kliknięciu "zaloguj" przenosi mnie do osobnej, pustej strony, na której znajduje się jedynie ten właśnie panel logowania. Czyli generalnie aby się zalogować potrzeba wpisać i potwierdzić dwa razy login i hasło - najpierw stronie głównej, a potem przenosi cię jeszcze do osobnej podstrony z tym panelem i tam trzeba wpisać po raz drugi. (Teraz to wygląda troche inaczej niż na screenie, ale problem nadal pozostaje ten sam)

Plik index.php który jest zaimportowany do strony głównej funkcją include

  1. <?php
  2.  
  3.  
  4. if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
  5.  
  6. {
  7.  
  8. echo nl2br('Jestes zalogowany.<br /> Twój login to: ');
  9.  
  10. echo $_SESSION['login'];
  11.  
  12. echo nl2br(' <br/> <a href="logout.php">Wyloguj</a>');
  13.  
  14. }
  15.  
  16. else
  17.  
  18. {
  19.  
  20. ?>
  21. <form method="post" action="login.php">
  22. Login: <input type="text" name="login" maxlength="16"><br />
  23. Hasło: <input type="password" name="pass" maxlength="16"><br />
  24. <input type="submit" value="Zaloguj">
  25. <a href="register.php"> Zarejestruj się</a>
  26. </form>
  27. <?php
  28. }
  29. ?>


A tutaj ogólny plik "login.php"


  1. <?php
  2.  
  3.  
  4. if (isset($_POST['konto']) and isset($_POST['password']) )
  5.  
  6. {
  7.  
  8. require('conn.php');
  9.  
  10. $konto=mysql_real_escape_string(trim($_POST['konto']));
  11.  
  12. $password=mysql_real_escape_string(trim($_POST['password']));
  13.  
  14. if ($konto!="" and $password!="")
  15.  
  16. {
  17.  
  18. $password = sha1($password);
  19.  
  20. $zapytanie="SELECT id FROM user WHERE login='$konto' and password ='$password'";
  21.  
  22. $temp=mysql_query($zapytanie) or die("Wystąpił błąd");
  23.  
  24. $ile=mysql_num_rows($temp);
  25.  
  26. $temp=mysql_fetch_array($temp);
  27.  
  28. $id=$temp['id'];
  29.  
  30.  
  31.  
  32. if ($ile==1)
  33.  
  34. {
  35.  
  36. $_SESSION['user_id']=$id;
  37.  
  38. $_SESSION['login']=$konto;
  39.  
  40. echo nl2br('Zostales zalogowany.<br/> <a href="main.php">Kliknij aby powrócić do strony głównej.</a> ');
  41.  
  42. }
  43.  
  44. else echo ('Podales zle dane. Kliknij wstecz aby sprobowac ponownie.');
  45.  
  46. }
  47.  
  48. }
  49.  
  50. else{
  51.  
  52. ?>
  53.  
  54. <html>
  55.  
  56. <body>
  57.  
  58. <form action="login.php" method="post">
  59.  
  60. <strong>Nazwa konta:</strong><input name="konto" type="text" value="" /><br>
  61.  
  62. <strong>Haslo:</strong><input name="password" type="password" value="" /><br>
  63.  
  64. <input type="submit" value="Zaloguj" />
  65.  
  66. </form>
  67.  
  68. </body>
  69.  
  70. </html>
  71.  
  72. <?php
  73.  
  74. }?>


Zrobiłem to w ten sposób, żeby na stronie głównej, gdy jesteśmy zalogowani, pojawiała się jedynie informacja o tym, a gdy nie, to wyświetla nam się formularz do zalogowania. I wszystko działa oprócz tego jednego mankamentu...

Pozdrawiam


Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 19.08.2025 - 20:23