Skocz do zawartości

skrypt dostępu do strony


durda88

Rekomendowane odpowiedzi

Witam.

Posiadam stronę do której aby otrzymać dostęp należy wpisać kod. Skrypt skonfigurowany z dotpay (sms) działa lecz nie mogę sobie poradzić z płatnościami online. Już wyjaśniam, skrypt sms wygląda tak:

<?php

$id = 123; // Identyfikator Dotpay
$code = "abc1,abc2,abc3"; // Identyfikatory usługi
$type = "c1,sms"; // Sprawdzanie SMSĂłw oraz przelewĂłw
$page = "gratulujemy"; // Przejście do podstrony po wpisaniu poprawnego kodu

// Przy sprawdzaniu kont SMSowych jak i kont przy płatności kartą należy użyć zapisu: $type = "c1,sms";
// Przy sprawdzaniu kilku kont o różnych identyfikatorach należy uzyć zapisu: $code = "ABC,DEF,GHI,JKL";

$del=0; // Jeżeli kod ma zostać usunięty z bazy zaraz po wpisaniu należy użyć zapisu: $del=1;

$check = $_POST['check']; // Kod podany na stronie gdzie dostęp jest płatny
if($check == NULL)
{
header("Location: brak_kodu"); exit;
}

$handle = fopen("LINK/check_code.php?&check=".$check."&id=".$id."&code=".$code."&type=".$type."&del=".$del, 'r');
$status = fgets($handle, 8);
$czas_zycia = fgets($handle, 24);
fclose($handle);
$czas_zycia = rtrim($czas_zycia);

if ($status == 0) {header("Location: blad"); exit;} // Przejście na podstrone kiedy wpisany kod jest niepoprawny
else
{
if (!isset($_COOKIE['ActiveCode']))
{
setcookie('ActiveCode',1, time()+$czas_zycia);
}
else
{
setcookie('ActiveCode',0, time()+2, "/");
setcookie('ActiveCode',1, time()+$czas_zycia, "/");
}
header("Location: gratulujemy");
}
?>

Skrypt sprawdza wpisany KOD sms i daje nam dostęp do strony.

Drugi skrypt który jest skonfigurowany z Homepay sprawdza poprawność wpisanych kodów ale nie odblokowuje strony, wygląda on tak:

<?php
$config_homepay=array();

// KONFIGURACJA
$config_homepay_usr_id=2;
// ACCID oznacza numer konta PRZELEW KOD w homepay
// KWOTA to wartosc przelewu , NAZWA to nazwa uslugi
// kolejne uslugi nalezy dopisywac wg schematu:
// $config_homepay[ACCID]=array("acc_id"=>ACCID,"kwota"=>KWOTA)
// czyli np.:
// $config_homepay[123]=array("acc_id"=>123,"nazwa"=>NAZWA,"kwota"=>KWOTA);
$config_homepay[]=array("acc_id"=>11729,"nazwa"=>"TEST","15"=>1);
$config_homepay[]=array("acc_id"=>11729,"nazwa"=>"TEST2","kwota"=>15);
// KONIEC KONFIGURACJI

if($_POST&&$_POST['check_code'])
{
$code=$_POST['code'];
if(!preg_match("/^[A-Za-z0-9]{8}$/",$code)) echo "Zly format kodu - 8 znakow.";
elseif(empty($config_homepay[$_POST['usluga']])) echo "Brak takiej uslugi.";
else
    {
    $handle=fopen("LINK/API/check_tcode.php?usr_id=".$config_homepay_usr_id."&acc_id=".
$config_homepay[$_POST['usluga']]['acc_id']."&code=".$code,'r');
    $check=fgets($handle,8);
    fclose($handle);
    if($check=="1")
     {
     echo "Gratulacje, kod poprawny. Kupiles cos w usludze ".$config_homepay[$_POST['usluga']]['nazwa'];
     }
    elseif($check=="0")
     {
     echo "Nieprawidlowy kod.";
     }
    else
     {
     echo "Blad w polaczeniu z operatorem.";
     }

    }
}

?>
<html><body>
<br/><br/>
<?php
foreach($config_homepay as $v)
echo "Wykonaj przelew na kwote ".$v['kwota']. ".pod adresem <a href=\"LINK/wplata/".$v['acc_id']."-
".$v['nazwa']."/\" target=\"_blank\">LINK/wplata/".$v['acc_id']."-".$v['nazwa']."/</a><br/>\n";

?>
<br/><br/>
<form method="post" action="">
<input type="hidden" name="check_code" value="1">
Podaj kod: <input type="text" size="8" name="code"> do uslugi: <select name="usluga">
<?php
foreach($config_homepay as $k=>$v)
echo "<option name=\"usluga\" value=\"$k\">".$v['nazwa']."</option>\n";
?>
</select>
<br/>
<input type="submit" value="Sprawdz">
</form>
</body>
</html>

Macie jakieś pomysły aby skrypt nr2 działał na podobnej zasadzie jak nr1? Tzn. po wpisaniu poprawnego kodu użytkownik dostaje dostęp do serwisu.

Pomożecie?

Odnośnik do komentarza
Udostępnij na innych stronach


Pomożecie?
Zainteresuj się takimi funkcjonalnościami jak:

- Sesje > https://php.net/manual/pl/ref.session.php

- Cookie > https://php.net/manual/en/features.cookies.php

- Sterowanie przepływem > https://php.net/manual/en/language.control-structures.php

Zamieszczanie jakiegoś kodu co waśnie robisz mija się z celem, bo nie zadajesz konkretnego pytania tylko jako kolejny user tego działu oczekujesz gotowego rozwiązania .... :kwasny:

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Oczekuje pomocy gdyz jestem w tym zielony. Nie oczekje gotowego rozwiazania jak mowisz bo zamiescilem gotowy kod z ktorym nie moge sobie poradzic. Nie potrafisz pomoc to sie nie udzielaj bo wydaje mi sie ze to forum jak i ten dzial ma sluzyc pomocom w takich wlasnie problemach jak moj.

Odnośnik do komentarza
Udostępnij na innych stronach

Taki kod i wiele innych przykładów z dotpay możesz wkleić i 10 :)

Tak jak napisał Mion dodaj sesje albo cookies lecz sesja będzie łatwiejsza do implementacji :)

"przecież to prosty skrypt który można napisać w 10 minut" tak mi klienci mowa zawsze :)

bilbord_opublikuj_mini.png

Odnośnik do komentarza
Udostępnij na innych stronach

O jak miło :) Typowy nowy user i przetarty schemat.

Etap I Poszukiwania.

Szukam frajera, który mnie nauczy, zaprogramuje (etc.) ----> ulubione sformuowania do etapu I "friko" i "hehe"

Etap II Żądania.

Hallooo ją żądam !!! pomocy ---> ulubione sformuowania do etapu II "przecież od tego jest forum" albo jeszcze lepiej j.w.

"ten dzial ma sluzyc pomocom" Ps. tu pomocny byłby akurat słownik języka polskiego

Etap III Foch.

Nie chcesz dla mnie za darmo pracować ? ---> ulubione sformuowania do etapu III --> "Nie potrafisz pomoc to sie nie udzielaj"

Witamy na pokładzie, możesz być pewny, nie jesteś sam :D

Sygnaturkę z linkiem przyznam sobie po napisaniu 15 wartościowych postów. Prawdopodobnie nigdy.

Odnośnik do komentarza
Udostępnij na innych stronach

Myślę, że za około 100 pln bez problemu znajdziesz kogoś, kto poprawi ten skrypt tak żeby działał.

"Ja nie bywam w kuluarach, nie wiem gdzie to jest. Bywam w innych miejscach w innym towarzystwie..." SEO Norris - cytat roku 2014
"Dlatego dużo firm i freelancerów zajęło się pp, nie poradzili sobie z klientami i aktualizacjami algo." Cytat wszech czasów!

Odnośnik do komentarza
Udostępnij na innych stronach

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności