Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Logowanie i sesje...
Siepet
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 30.10.2009

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


Cześć wszystkim.

Tym razem dobija mnie jeden błąd. Mam stronę logowania, która wygląda tak:
  1. <?php
  2. $vlog = $_POST['vlog'];
  3. $vpass = $_POST['vpass'];
  4. // SPRAWDZANIE CZY OBA POLA FORMULARZA ZOSTAŁY WYSŁANE
  5. if(!isset($vlog) && !isset($vpass)) {
  6. echo "<form method='post' action=''>";
  7. echo "Imię i nazwisko:<br>";
  8. echo "<input type='text' name='vlog'/><br>";
  9. echo "Hasło:<br>";
  10. echo "<input type='password' name='vpass'/><br>";
  11. echo "<input type='submit' value='Zaloguj mnie'/>";
  12. echo "</form>";
  13. } else {
  14. // SPRAWDZA CZY ISTNIEJE PLIK Imie Nazwisko.ini pobrane z formularza
  15. if (file_exists($vlog.".ini")) {
  16. $file = @array_map('rtrim',@file($vlog.".ini"));
  17. $line = $file[0];
  18. $pas = explode("=", $line);
  19. $pass = $pas[1];
  20. // JEŚŁI HASŁO Z FORMULARZA JEST ZGODNE Z HASŁEM Z PLIKU TO PRZECHODZI DALEJ
  21. if($vpass == $pass) {
  22. $auth = "1";
  23. echo "<b><span style='color: #008000;'>Zalogowany pomyślnie jako ".$vlog."!</span></b>";
  24. } else {
  25. echo "Podano złe hasło! Spróbuj ponownie!";
  26. }
  27.  
  28.  
  29. } else {
  30. echo "Podany użytkownik nie istnieje.<br>";
  31. echo "Jesteś nowy? Zarejestruj się już dziś!<br>";
  32. }
  33. }
  34.  
  35.  
  36.  
  37. ?>
  38.  


Mam też menu. W jaki sposób mogę ustawić, aby po kliknięciu na odnośnik z menu "panel.php?page=info" nie wracało do strony logowania, tylko przechodziło na stronę? Chyba coś ciężko kumam, ale próbowałem już chyba wszystkiego co siedzi w mej głowie. Z góry dziękuję za nakierowanie.
Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
mls
post
Post #2





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

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


Zastanów się.
  1. $vlog = $_POST['vlog'];
  2. $vpass = $_POST['vpass'];

To jaki sens ma teraz linijka
  1. if(!isset($vlog) && !isset($vpass)) {

?


--------------------
Go to the top of the page
+Quote Post
Rysh
post
Post #3





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Czy ja czegoś nie rozumiem, niewidzę, czy jestem ...? Gdzie w tym kodzie są sessje?

Ten post edytował Rysh 23.02.2010, 22:50:22


--------------------
Go to the top of the page
+Quote Post
Siepet
post
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 30.10.2009

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


No, jeśli zmienna nie została odebrana z formularza, czyli nie został wypełniony, czyli ma go pokazać, aby ktoś mógł go wypełnić. smile.gif

@Rysh: ups, fakt. Nie zapisałem tamtego kodu i jest bez sesji. :S


Chodzi też że mając już sesje, nie wiem w jaki sposób mogę wrzucić zawartość odnośnika na środek strony, zamiast formularza i innych tekstów...

Ten post edytował Siepet 23.02.2010, 22:59:21
Go to the top of the page
+Quote Post
mls
post
Post #5





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

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


Cytat(Siepet @ 23.02.2010, 22:50:38 ) *
No, jeśli zmienna nie została odebrana z formularza, czyli nie został wypełniony, czyli ma go pokazać, aby ktoś mógł go wypełnić. smile.gif


No, to jaka część kodu za to odpowiada? Bo ja widzę, że żadna. Włącz sobie pełne raportowanie błędów i gwarantuję Ci, że na dzień dobry skrypt sypnie Ci komunikatami o braku indeksów w zmiennej $_POST...
I jeszcze podpowiem - naprawdę nie widzę sensu sprawdzania czy zadeklarowane linijkę wcześniej zmienne istnieją.


--------------------
Go to the top of the page
+Quote Post
Rysh
post
Post #6





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Cytat(mls @ 23.02.2010, 22:57:56 ) *
I jeszcze podpowiem - naprawdę nie widzę sensu sprawdzania czy zadeklarowane linijkę wcześniej zmienne istnieją.

Przeprowadziłem mały teścik, żeby przekonać się czy zadziała...

  1. <?php
  2. if (isset($_POST['zmienna'])) {
  3. echo "Zmienna _POST['zmienna'] istnieje.<br />";
  4. } else {
  5. echo "Zmienna _POST['zmienna'] nieistnieje.<br />";
  6. }
  7.  
  8. if (isset($nowa)) {
  9. echo "Zmienna nowa istnieje.<br />";
  10. } else {
  11. echo "Zmienna nowa nieistnieje.<br />";
  12. }
  13.  
  14. $nowa = $_POST['zmienna'];
  15.  
  16. if (isset($nowa)) {
  17. echo "Zmienna nowa istnieje.<br />";
  18. } else {
  19. echo "Zmienna nowa nieistnieje.<br />";
  20. }
  21. echo "<form method='post'><input type='submit' value='wartosc' name='zmienna' /></form>";
  22. ?>


--------------------
Go to the top of the page
+Quote Post
Siepet
post
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 30.10.2009

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


Hmm, po przemyśleniu wszystkiego nasuwa mi się pytanie. Gdzie wsadzić kod odpowiedzialny za wyświetlenie danego pliku po naciśnięciu na link zamiast forma/napisów w skrycie z postu 1?
Go to the top of the page
+Quote Post
Rysh
post
Post #8





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Nie jestem pewny czy dobrze Cie rozumiem:
  1. <?php
  2. if ($_GET['page'] == "info") {
  3. echo "strona info";
  4. } elseif ($_GET['page'] == "zaloguj") {
  5. echo "tu te Twoje logowanie";
  6. } else {
  7. echo "jesli bez zadnego get";
  8. }
  9. ?>


--------------------
Go to the top of the page
+Quote Post
Siepet
post
Post #9





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 30.10.2009

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


A jakbyś mógł to 'wprowadzić' w mój kod, tak aby działało? Byłbym wdzięczny i wysłałbym piwo pocztą. ;]
Go to the top of the page
+Quote Post
Rysh
post
Post #10





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Ok, podpowiem jeszcze bardziej.
  1. <?php
  2. if (isset($_POST['vlog']) && isset($_POST['vpass'])) {
  3. if (file_exists($_POST['vlog'].".ini")) {
  4. echo "Sprawdzasz hasło";
  5. //jeśli wszystko ok, mozesz przenieść użytkownika do index.php np...
  6. //header("Location: index.php");
  7. } else {
  8. echo "Brak użytkownika";
  9. }
  10. }
  11.  
  12. if ($_GET['page'] == "info") {
  13. echo "strona info";
  14. } elseif ($_GET['page'] == "zaloguj") {
  15. echo "tutaj dajesz formularz logowania";
  16. } else {
  17. echo "jesli bez zadnego get";
  18. }
  19. ?>


Ten post edytował Rysh 24.02.2010, 15:51:25


--------------------
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 Aktualny czas: 19.08.2025 - 21:25