Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Funkcja Case, a system logowania i rejestracji
plastus321
post 13.05.2011, 12:59:16
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 10.05.2011
Skąd: Częstochowa

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


Czy da się w jednym pliku np. index.php za pomocą funkcji switch zrobić system logowania bez oddzielnych plików typu rejestracja.php i logowanie.php?

Jeśli tak to nakierujcie mnie jakimś przykładowym kodem jeśli mogę prosić lub jakimś skryptem.

Ogólnie jestem w tym zielony, ale bardzo mi na tym zależy.

Oczywiście chodzi głównie o to by sesje użytkownika działały tongue.gif

Z góry za odpowiedzi dziękuje smile.gif



Ten post edytował plastus321 13.05.2011, 13:02:38
Go to the top of the page
+Quote Post
cycofiasz
post 13.05.2011, 14:22:36
Post #2





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Da się pewnie i cały serwis zrobić na jednym pliku.

Można na przykład przekazywać rodzaj strony w url czyli np. $_GET['page'] i zależnie od tej wartości wykonywać określone akcje
Go to the top of the page
+Quote Post
plastus321
post 13.05.2011, 17:48:35
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 10.05.2011
Skąd: Częstochowa

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


No fajnie wszystko, ale jedno mi nie śmiga...

Nie odpalają mi sesje że tak to powiem...

To znaczy, że jak się zaloguje to nic się nie dzieje kompletnie...

A powinno przynajmniej zamienić w menu strony "Logowanie" na "Profil", a "Rejestracja" na "Wyloguj"...

Poniżej umieszczam kod:

  1. <?php
  2. require('conn.php');
  3.  
  4. echo "<a href='index.php'>Strona główna</a> | ";
  5. echo "<a href='index.php?page=regulamin'>Regulamin</a> | ";
  6. if($_SESSION['login'])
  7. {
  8. echo "<a href='index.php?page=logowanie'>Logowanie</a> | ";
  9. echo "<a href='index.php?page=rejestracja'>Rejestracja</a> | ";
  10. } else {
  11. echo "<a href='index.php?page=profil'>Profil</a> | ";
  12. echo "<a href='index.php?page=wyloguj'>Wyloguj</a><br /><br /><br />";
  13. }
  14.  
  15.  
  16. $page=$_GET['page'];
  17.  
  18. switch($page)
  19. {
  20.  
  21.  
  22. case 'logowanie':
  23. echo "
  24. <form method='post'>
  25. <fieldset>
  26. <legend align='center'>Logowanie</legend>
  27. Login:<br><input name='login' type='text' value='' /><br />
  28. Hasło:<br><input type='password' name='haslo' value='' /><br />
  29. </fieldset>
  30. <center>
  31. <input type='submit' name='loguj' value='Loguj' />
  32. <input type='reset' value='Wyczyść dane' />
  33. </center>
  34. </form>";
  35.  
  36. if(isset($_POST['loguj'])) {
  37.  
  38.  
  39. FROM user WHERE login = '".$_POST['login']."'
  40. && haslo = '".$_POST['haslo']."' ")) > 0) {
  41.  
  42.  
  43. if(mysql_num_rows(mysql_query("SELECT * FROM user
  44. WHERE login = '".$_POST['login']."'
  45. && haslo = '".$_POST['haslo']."' ")) > 0 ) {
  46.  
  47.  
  48. $_SESSION['zalogowany'] = true;
  49. $_SESSION['login'] = $_POST['login'];
  50. $_SESSION['haslo'] = $_POST['haslo'];
  51. header('Location: index.php');
  52.  
  53.  
  54. } else {
  55.  
  56. echo "Złe hasło, proszę spróbować ponownie";
  57. }
  58. } else {
  59. echo "Nie ma takiego użytkownika";
  60. }}
  61. break;
  62.  
  63. case 'rejestracja':
  64.  
  65.  
  66. $ile=mysql_query("SELECT * FROM `user` WHERE login = '".$_POST['login']."'");
  67. $ile=mysql_num_rows($ile);
  68.  
  69. $zapytanie = "CREATE TABLE user (id int NOT NULL AUTO_INCREMENT,
  70. login varchar(50), email varchar(30), haslo varchar(30), miejscowosc varchar(30),
  71. imie varchar(30), nazwisko varchar(30), wiek varchar(30),
  72. PRIMARY KEY(id))
  73. ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_polish_ci;";
  74. $wykonaj=mysql_query($zapytanie);
  75.  
  76.  
  77. if(isset($login) and ($email) and ($haslo) and ($haslo2))
  78. {
  79.  
  80. if($haslo2 == $haslo)
  81. {
  82.  
  83. if($regulamin)
  84. {
  85.  
  86. if($ile==0)
  87. {
  88.  
  89. $dodaj_user= ("INSERT INTO user SET login='".$_POST['login']."', email='".$_POST['email']."', haslo='"$_POST['haslo']"'");
  90. $dodawanie_usera=mysql_query($dodaj_user);
  91.  
  92. echo "<center><b><font color='green'>Twoje konto ".$_POST['login']." zostało utworzne!</font></b></center>";
  93.  
  94. }else{echo "<center><b><font color='red'>Taki użytkownik już istnieje. Wybierz inny login.</b></center></font>";}
  95.  
  96. }else{echo "<center><b><font color='red'>Musisz akceptować regulamin.</b></center></font>";}
  97.  
  98. }else{echo "<center><b><font color='red'>Hasła się nie zgadzają.</b></center></font>";}
  99.  
  100. }else{echo "<center><b><font color='red'>Wypełnij wszystkie pola.</b></center></font>";}
  101.  
  102.  
  103. echo "
  104. <form method='post'>
  105. <fieldset>
  106. <legend align='center'>Rejestracja konta</legend>
  107. Login:<br><input name='login' type='text' value='' /><br />
  108. Email:<br><input name='email' type='text' value='' /><br />
  109. Hasło:<br><input type='password' name='haslo' value='' /> <br />
  110. Powtórz hasło:<br><input type='password' name='haslo2' value='' /><br />
  111. <br />
  112. <input type='checkbox' name='regulamin' /> - Akceptuję <a href='index.php?page=regulamin'>regulamin</a>.
  113. </fieldset>
  114. <br /><center>
  115. <input type='submit' value='Rejestruj' />
  116. <input type='reset' value='Wyczyść dane' />
  117. </center>
  118. </form>";
  119. break;
  120.  
  121. case 'profil':
  122. echo "tu profil i z nim zwiazane rzeczy";
  123. break;
  124.  
  125. case 'wyloguj':
  126. echo "a tu wylogowanie";
  127. break;
  128.  
  129. case 'regulamin':
  130. echo "a tu wylogowanie";
  131. break;
  132.  
  133. default:
  134. echo "Strona główna";
  135.  
  136.  
  137.  
  138. }
  139. ?>



Jeśli możecie to przeszukajcie mi ten kod i sprawdźcie czy niema żadnych błędów w loginie czy coś...

A jeśli są to prosiłbym was o poprawienie ich i wstawienie kodu na nowo w tym temacie...

Z góry dziękuje i pozdrawiam wink.gif
Go to the top of the page
+Quote Post
kadlub
post 13.05.2011, 17:59:18
Post #4





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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



a ty u siebie masz

session_start;

Ten post edytował kadlub 13.05.2011, 18:03:42
Go to the top of the page
+Quote Post
plastus321
post 13.05.2011, 18:06:47
Post #5





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 10.05.2011
Skąd: Częstochowa

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


JESTEŚ GENIALNY!!

ALE PRZESRANIE MAŁY BŁĄD!!

DZIĘKI STARY MASZ U MNIE OGROMNEGO PLUSA biggrin.gif

exclamation.gif!!!!!!!!
Go to the top of the page
+Quote Post
impro
post 13.05.2011, 23:57:28
Post #6





Grupa: Zarejestrowani
Postów: 39
Pomógł: 3
Dołączył: 21.11.2010

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


Zastanawia mnie podobna sprawa.
Jak zrobić przy pomocy jednego pliku index.php kilka stron z ładnymi url na przykład kontakt.htm forum.htm pomoc.htm, tak by nie towrzyć kolejnych plików kontakt.php forum.php pomoc.php
Jakie są metody na to i jakich funkcji się używa.

Chodzi mi o mniej więcej to samo tylko z ładnymi adresami.
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:19