Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Problem z rejestracja i sesjami
ArthaS_Delano
post 22.03.2008, 00:08:42
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 13.09.2007

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


Witam, robie na swojej stronce prosta rejestracje z uzyciem prostego tokena.. Niestety mam najprawdopodbniej zle skonstruowane warunki gdyz i tak nie chce mi dodac danych do bazy.. Blad pojawia sie dopiero przy sprawdzaniu poprawnosci tokena gdyz kiedy to usune to all dziala jak powinno.. Moze ktos ma pomysl na jakas lepsza modyfikacje mojego kodu ? Bylbym niesamowicie wdzieczny.. Najlepiej jak pokaze kod:

  1. <?php
  2.  require('libs/Smarty.class.php');
  3.  include('data/config.php');
  4.  $smarty = new Smarty;
  5.  
  6. $_SESSION['token'] = '';
  7. for($i=0;$i<5;$i++) {
  8.  $liczba = rand(0,9);
  9.  $_SESSION['token'] .= $liczba;
  10.  $img .= '<img src="images/token/'.$liczba.'.gif" />';
  11. }
  12.  
  13. $token = $_SESSION['token'];
  14.  
  15. if (($_POST['nick']) && ($_POST['haslo']) && ($_POST['haslo2']) && ($_POST['email']) && ($_POST['email2']) && ($_POST['token']))
  16. {
  17.  if ($_POST['haslo'] == $_POST['haslo2'])
  18.  {
  19. if ($_POST['email'] == $_POST['email2'])
  20. {
  21.  if ($token == $_POST['token']) // tu sie pojawia blad, po usunieciu tej linijki all zapisuje dobrze..
  22.  {
  23.  
  24.  $nick = $_POST['nick'];
  25.  $haslo = $_POST['haslo'];
  26.  $email = $_POST['email'];
  27.  
  28.  $db = "INSERT INTO `player` (`id`, `nick`, `haslo`, `email`) VALUES ('', '$nick', '$haslo', '$email')";
  29.  $start = mysql_query($db);
  30.  }
  31. }
  32.  }
  33. }
  34.  
  35.  $smarty -> assign('img', $img);
  36.  $smarty -> assign('error', $error);
  37.  $smarty -> display('register.tpl');
  38. ?>


Siedze nad tym caly wieczor ale pomyslalem ze poprosze o pomoc madrzejszych.. Z gory dziekuje..
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bmL
post 22.03.2008, 01:06:53
Post #2





Grupa: Zarejestrowani
Postów: 301
Pomógł: 25
Dołączył: 15.07.2007
Skąd: Olsztyn

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


Najlepiej zrób tak jak na początku i w formularzu dodaj pole
  1. <input type="hidden" name="token_spr" value="{token}">

I potem tylko porównaj $_POST[token] do $_POST[token_spr].
Oczywiście w kodzie php też dopisz:
  1. <?php
  2. $smarty -> assign('token', $liczba);
  3. ?>

a
  1. <?php
  2. $_SESSION['token'] .= $liczba;
  3. ?>

można wywalić smile.gif

Ten post edytował bmL 22.03.2008, 01:07:34


--------------------
Tutaj miał być jakiś mądry tekst. Miał być... No ale jest głupi tekst.
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:53