Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Sprawdzenie czy przesłano form + uwierzytelnienie
Khan
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 23.02.2006

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


Witam

Problem jest ze nie potrafie pokombinowac z tymi kodami, chodzi o zeby formularz po sprawdzeniu normalnie wysyla gdyz kod z obrazka jest prawidlowy. Podaje ponizej kody:

  1. <?php
  2. // Sprawdzenie czy przesłano formularz
  3. if (isset($_POST['submitted']))
  4.  {
  5.  
  6. // Podstawowa weryfikacja danych we formularzu.
  7. $nazwa = $_POST['nazwa'];
  8. $druga_nazwa = $_POST['druga_nazwa'];
  9.  
  10.  
  11. if ( $nazwa == "" || $druga_nazwa == "" )
  12.  {
  13.  
  14. // echo => nie zostal wyslany
  15.  
  16. } else {
  17.  
  18. // caly skrypt mail, echo => zostal wyslany
  19.  
  20.  }
  21. }
  22. ?>

wszystko pieknie i dziala, formularz wysyla lub nie.


a teraz gdy chce dolaczyc kod uwierzytelnienia (image verification) do kodu (wyzej)
  1. <?php
  2. // Uwierzytelnienie
  3. $obrazek_z_kodem = $_POST['obrazek_z_kodem'];
  4. if (md5($obrazek_z_kodem) == $_SESSION['image_random_value'])
  5.  {
  6.  
  7. // echo => prawidlowy kod
  8.  
  9. } else {
  10.  
  11. // echo => nieprawidlowy kod
  12.  
  13. }
  14. ?>
to robi niezly chaos na stronie, niby nie ma bledow... ale zle wysyla

nie zmiescilo mi sie w glowie ktory z tych if else odpowiada dobrze formularz sprawdz. + uwierzyteln. (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)


Jak złączyć dwa w jedno całe ?


Pozdrawiam Khan

Ten post edytował Khan 29.11.2007, 19:55:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pabgol
post
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 29.11.2007

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


To pewnie masz problem w tej linijce
  1. <?php
  2. if (md5($obrazek_z_kodem) == $_SESSION['image_random_value'])
  3. ?>


Daj sobie na samym początku skryptu taki kod:
  1. <?php
  2. echo '<pre>';
  3. print_r($_POST); //wyswietlanie zmiennych $_POST
  4. print_r($_ SESSION); //wyswietlanie zmiennych $_ SESSION
  5. echo '</pre>';
  6.  
  7. echo md5($_POST['obrazek_z_kodem']); //wyswietla md5 dla kodu obrazka
  8. ?>


Porównaj odpowiednie wartośći, pewnie faktycznie coś się nie zgadza, albo np nie masz zmiennej sesji.
Go to the top of the page
+Quote Post
Khan
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 23.02.2006

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


Cytat(pabgol @ 30.11.2007, 11:34:29 ) *
To pewnie masz problem w tej linijce
  1. <?php
  2. if (md5($obrazek_z_kodem) == $_SESSION['image_random_value'])
  3. ?>


Daj sobie na samym początku skryptu taki kod:
  1. <?php
  2. echo '<pre>';
  3. print_r($_POST); //wyswietlanie zmiennych $_POST
  4. print_r($_ SESSION); //wyswietlanie zmiennych $_ SESSION
  5. echo '</pre>';
  6.  
  7. echo md5($_POST['obrazek_z_kodem']); //wyswietla md5 dla kodu obrazka
  8. ?>


Porównaj odpowiednie wartośći, pewnie faktycznie coś się nie zgadza, albo np nie masz zmiennej sesji.

wyswietla blad, czyli to sesja.
  1. Parse error: syntax error, unexpected T_STRING in
w linii 4

sprobowalem zamienic z $SESSION na $_COOKIE, bez skutku.

domyslam sie, ze ta sesja jest tylko dla logowania, a mam formularz do wysylania.
Go to the top of the page
+Quote Post
pabgol
post
Post #4





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 29.11.2007

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


Cytat(Khan @ 30.11.2007, 12:26:24 ) *
wyswietla blad, czyli to sesja.
  1. Parse error: syntax error, unexpected T_STRING in
w linii 4

sprobowalem zamienic z $SESSION na $_COOKIE, bez skutku.

domyslam sie, ze ta sesja jest tylko dla logowania, a mam formularz do wysylania.


Ten komunikat jest z innego powodu, bo pomyliłem się w kodzie, który Ci napisałem. W 4 linii powinno być "$_SESSION" zamiast "$_ SESSION" (bez spacji pomiędzy "$_" a "SESSION". Popraw to swoim skrypcie, to zobacz czy będzie działać.
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.10.2025 - 07:02