Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: autoryzacja kod jednorazowy
Forum PHP.pl > Forum > Przedszkole
timmy
Wszystko luz ladnie wyglada, ale nie wiem jak do tego zrobic formularz.
i co zrobic na stronkach do ktorych daje to dostep, zeby dostep do nich byl blokowany zanim ktos wpisze kod.
zero pomyslu sad.gif

moze ktos jakis ma?

  1. <?
  2. function Polacz() {
  3. $baza = array(
  4. 'db_host' => 'host',
  5. 'db_user' => 'luser',
  6. 'db_pass' => 'db_pass',
  7. 'db_name' => 'db_name',
  8. );
  9. if($pol) {
  10. return $pol;
  11. } else {
  12. $pol = mysql_connect("$baza[db_host]","$baza[db_user]","$baza[db_pass]");
  13. if (!$pol || !mysql_select_db("$baza[db_name]",$pol)) {
  14.  die ('Problem z baza danych'); return 0;
  15. } else { return $pol;  }
  16. }
  17. }
  18. Polacz();
  19.  
  20. ############################# SKRYPT DO SPRAWDZANIA KODU #######################
    ######
  21.  
  22. $now = time();
  23. $czas_zycia = 3600; // czas dostepu po wprowadzeniukodu w sekundach
  24.  
  25. $res = "SELECT * FROM `codes` WHERE `code`='".$_POST['check']."' AND `status`='aktywny' LIMIT 1";
  26. $odp = mysql_query("$res");
  27. $r = mysql_fetch_array($odp);
  28. $new_time = $now+$ile_wazny;
  29. if (mysql_num_rows($odp) == 0) {
  30. // instrukcja ze kod nieprawidlowy np przekierowanie spowrotem do platnosci wraz z
    komunikatem "ZŁY KOD"
  31.  }
  32. else {
  33. if ($r['expired'] == 0) {
  34. // jesli kod jeszcze nie byl uzywany sprawdza to sobie i zmienia mu czas, ze bedzi
    e aktywny jeszcze przez godzine
  35. mysql_query("UPDATE `codes` SET `expired`='".$new_time."' WHERE `code`='".$_POST['check']."'");
  36. // i wtym miejscu przekierowanie do platnej czesci serwisu
  37.  
  38. } elseif ($r['expired'] >= $now) {
  39. // tutaj sprawdza czy kod przekroczyl juz swoj czas aktywnosci i jesli nie to znow
    u przekierowanie do platnej czesci serwisu
  40.  
  41.  
  42. } else {
  43.  // tutaj juz kod stracil swoja aktywnosc i update bazy na kod nieaktywny
  44. mysql_query("UPDATE `codes` SET `status`='inactive' WHERE `code`='".$_POST['code']."'");
  45. // i komuunikat ze koniec czasu
  46. echo "Koniec czasu<BR><BR>";
  47. }
  48. }
  49. ?>

Tabelka w bazie wyglada tak:

Kod
CREATE TABLE `codes` (
   `id` int(11) NOT NULL auto_increment,
   `code` varchar(8) NOT NULL default '',
   `status` varchar(25) NOT NULL default 'active',
   `expired` varchar(255) NOT NULL default '0',
   PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1;
tomek_p
Nie wiem czy dobrze pisze, ale wystarczy formularz z textfield i przyciskiem wyslij akcje ustawiasz na plik w ktorym jest ten kod ktory tam wrzuciles

A w plikach do ktorych chcesz miec dostep po zalogowaniu wrzucasz na poczatku.

  1. <? session_start; ?>


i chyba tyle.

Ale dopiero sie ucze php wiec moze byc zle.
timmy
Fajnie zabrzmialo to co kolega napisale, ale nadal nie wiem jak to zrobic, formularz jakis jeszcze zrobie, luz, pole textarea tez, wyslij takze, action na to ustawie i tak czy tak nei chce mnie to chodzic.

Moze ktos to wyjasnic

Help me :roll2:
ennics
zobacz TU
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.