Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]logowanie, [cookie][session]
Raffal
post
Post #1





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 19.06.2006

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


Witam
mam taki o to problem chcialbym zrobic skrypt logowania wykorzystujacy sesje i cookie(do autologowania)
tzn.
1.sprawdza czy istnieja cookie jezeli tak tworzy sesje i przenosi na 2 strone gdzie sprawdzane sa sesje
2.jezeli cookie nie istnieja prosi o zalogowanie
3.wpisujemy login i haslo
a)jezeli zaznaczymy autologowanie tworzy cookie i ustawia sesje
(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) jezeli nie zaznaczymy autologowania nie towrzy cookie i ustawia sesje
4.przenosi nas na 2 strone i sprawdza sesje

i o to ploki
logowanie1.php
  1. <?
  2. if(isset($_COOKIE['logowanie']))
  3.  
  4. {
  5.  
  6. $_session['logowanie']="zalogowany";
  7. header('location: logowanie2.php');
  8.  
  9. }
  10. else
  11. {
  12. if($login=login && $password=haslo)
  13. {
  14. $_session['logowanie']="zalogowany";
  15. if($autologowanie=loguj)
  16. {
  17. setcookie("logowanie", "zalogowany", time()+3600);
  18. echo 'cookie ustawione';
  19. }
  20. header('location: logowanie2.php');
  21. }
  22. }
  23. ?>
  24.  
  25. <form action="" method="POST"><br>
  26.  
  27. login<input type="text" name="login" value="" size=""><br>
  28.  
  29. haslo<input type="password" name="password" value="" size=""><br>
  30.  
  31. logowanie automatyczne<input type="checkbox" name="autologowanie" value="loguj"><br>
  32.  
  33.  
  34. <input type="submit" value="Wyslij">
  35.  
  36. <input type="reset" value="Wyczysc"><br>
  37.  
  38.  
  39. </form>

logowanie2.php
  1. <?
  2. $logowanie=$_SESSION['logowanie']
  3. if($logowanie=zaloguj)
  4. {
  5. echo 'dziala';
  6. }
  7. else
  8. {
  9. echo 'xxx';
  10. }
  11. ?>




czy moge prosic o pomoc
napotkalem taki blad

Parse error: syntax error, unexpected T_VARIABLE in /home/accounts_a/akademiks/public_html/logowanie2.php on line 4


Parse error: syntax error, unexpected T_IF in /home/accounts_a/akademiks/public_html/logowanie.php on line 4
zdaje sobie sprawe ze bledow bedzie wiecej dlatego prosilbym o przejzenie tego skryptu:)

Ten post edytował Raffal 18.11.2006, 23:07:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




  1. <?php
  2. if($logowanie == 'zaloguj')
  3. ?>
Go to the top of the page
+Quote Post
Raffal
post
Post #3





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 19.06.2006

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


niestety bledy sa przedewszystkim w 1.pliku logowanie.php i tam wlasnie wyskakuje pierwszy blad
Go to the top of the page
+Quote Post
batman
post
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




W instrukcji warunkowej if, jeśli chcesz porównać coś z czymś piszesz podwójny znak równości ==. Ponadto wszystkie stringi zamykaj w apostrofy( ' ) lub cudzysłowia ( " ).

  1. <?php
  2. if($login == 'login' && $password == 'haslo')
  3. ?>


W innych miejscach tak samo.
Go to the top of the page
+Quote Post
Raffal
post
Post #5





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 19.06.2006

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


no racja masz racje ale z tego powodu nie wyskakiwal by bład a blad dotyczy 4 liniki

Parse error: syntax error, unexpected T_IF in /home/accounts_a/akademiks/public_html/logowanie.php on line 4 cos w 1 if'ie mam zle ale nie wiem co??
Go to the top of the page
+Quote Post
REN
post
Post #6





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 28.10.2005
Skąd: Warszawa

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


W drugiej linijce po session_start() brakuje srednika i potem wszystko sie juz sypie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Jak parser wywala blad to warto jest przeanalizowac wczesniejsze linijki kodu.

BTW: czy ten temat nie nadaje sie na przedszkole?
Go to the top of the page
+Quote Post
Raffal
post
Post #7





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 19.06.2006

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


poprawilem wszystkie bledy skladniowe i doszedlem do takiego momentu
logowanie.php
  1. <?
  2. if(isset($_COOKIE['logowanie']))
  3.  
  4. {
  5.  
  6. $_session['logowanie']="zalogowany";
  7. header('location: logowanie2.php');
  8.  
  9. }
  10. else
  11. {
  12. if($login=='login' && $password=='haslo')
  13. {
  14. $_session['logowanie']="zalogowany";
  15. if($autologowanie=='loguj')
  16. {
  17. setcookie("logowanie", "zalogowany", time()+3600);
  18. echo 'cookie ustawione';
  19. }
  20. header('location: logowanie2.php');
  21. }
  22.  
  23. else
  24. {
  25. echo 'błedne haslo lub login';
  26. }
  27. }
  28. ?>
  29.  
  30. <form action="" method="POST"><br>
  31.  
  32. login<input type="text" name="login" value="" size=""><br>
  33.  
  34. haslo<input type="password" name="password" value="" size=""><br>
  35.  
  36. logowanie automatyczne<input type="checkbox" name="autologowanie" value="loguj"><br>
  37.  
  38.  
  39. <input type="submit" value="Wyslij">
  40.  
  41. <input type="reset" value="Wyczysc"><br>
  42.  
  43.  
  44. </form>

logowanie2.php
  1. <?
  2. $logowanie==$_SESSION['logowanie'];
  3. if($logowanie =='zalogowany')
  4. {
  5. echo 'dziala';
  6. }
  7. else
  8. {
  9. echo 'xxx';
  10. }
  11. ?>

no i nie wyswietlane sa zadne bledy lecz sa bledy logiczne tzn dziala podwarunkiem ze zaznacze autologowanie bez tego nie
przedstawiam efekt
logowanie -przyklad
Go to the top of the page
+Quote Post
REN
post
Post #8





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 28.10.2005
Skąd: Warszawa

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


$logowanie==$_SESSION['logowanie'];

= zamiast ==

= to operator przypisania
== to operator porownania

Nie powinienes przeczytac jakiegos kursu dla poczatkujacych w php?

Ten post edytował REN 19.11.2006, 13:29:35
Go to the top of the page
+Quote Post
Raffal
post
Post #9





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 19.06.2006

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


nie wiem jak sobie z tym poradzic ciagle wyswietla ze nie mam aktualnej sesji
Go to the top of the page
+Quote Post
batman
post
Post #10





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Zanim zaczniesz dalej kombinować z tym skryptem poszukaj na forum kursów dla początkujących i kup jakąś książkę. Opisane wcześniej problemy wynikały ze słabej znajomości php. Dobrze, że chcesz się uczyć, ale jakieś podstawy powinieneś mieć. Nie da się wytłumaczyć jak to działa osobie, która nie odróżnia = od ==.

  1. <?php
  2. // zamiast
  3. $_session
  4. // napisz
  5. $_SESSION
  6. ?>


Ten post edytował batman 19.11.2006, 16:28:38
Go to the top of the page
+Quote Post
Raffal
post
Post #11





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 19.06.2006

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


ok dziala (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) wielkie dzieki
mam jeszcze jedno pytanie czy wstawienie tego sprawi ze mnie wyloguje
  1. <?
  2. setcookie("logowanie","",time()-3600);
  3. header('location: logowanie.php');
  4.  
  5. ?>


tzn oczywiscie przypisac to buttonowi w action?

czy jest moze jakis lepszy sposob

Ten post edytował Raffal 19.11.2006, 16:53:48
Go to the top of the page
+Quote Post
mateuszkurek
post
Post #12





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 27.06.2007

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


WITAM - poprawiłem błedy i u mnie wszystko działa jak należy - korzystam z WebSerw php5, mysql5, apache 2

oto kod logowanie2.php

  1. [/php] 
  2. <?php
  3. $logowanie==$_SESSION['logowanie'];
  4. if($logowanie =='zalogowany')
  5. {
  6. echo 'dziala';
  7. }
  8. else
  9. {
  10. echo 'xxx';
  11. }
  12. ?>
  13. /php] 
  14. oto kod logowanie 1.php
  15.  
  16. [php]
  17. <?php
  18. if(isset($_COOKIE['logowanie']))
  19.  
  20. {
  21.  
  22. $_SESSION['logowanie']="zalogowany";
  23. header('location: logowanie2.php');
  24.  
  25. }
  26. else
  27. {
  28. if($login=='login' && $password=='haslo')
  29. {
  30. $_SESSION['logowanie']="zalogowany";
  31. if($autologowanie=='loguj')
  32. {
  33. setcookie("logowanie", "zalogowany", time()+3600);
  34. echo 'cookie ustawione';
  35. }
  36. header('location: logowanie2.php');
  37. }
  38.  
  39. else
  40. {
  41. echo 'błedne haslo lub login';
  42. }
  43. }
  44. ?>
  45.  
  46. <form action="" method="POST"><br>
  47.  
  48. login<input type="text" name="login" value="" size=""><br>
  49.  
  50. haslo<input type="password" name="password" value="" size=""><br>
  51.  
  52. logowanie automatyczne<input type="checkbox" name="autologowanie" value="loguj"><br>
  53.  
  54.  
  55. <input type="submit" value="Wyslij">
  56.  
  57. <input type="reset" value="Wyczysc"><br>
  58.  
  59.  
  60. </form>
Go to the top of the page
+Quote Post

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: 23.08.2025 - 06:34