Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
PHP

Api Dedyki.net

php

  • Zamknięty Temat jest zamknięty
15 odpowiedzi w tym temacie

#1 Flk

    Czempion

  • Zbanowany

Reputacja: 307
Wszechpomocny

  • Postów:894
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Białystok
Offline

Napisano 17.04.2013 18:49

Witam, mam problem z umieszczeniem poprawnej weryfikacji JSON w kodzie PHP

 

Przykład poprawnej weryfikacji:

{"status":"OK","kwota":"16.00"}

<?php //24
    include("funkcje.php");
    include("configs/head_config.php");
    
    if($_SESSION['Zalogowany']!=1) alert("Musisz się zalogować!!!");
    else{
    $name='doladowanie';

    include("configs/ownserwer_config.php");

    if($_POST['go'] && !empty($_POST['check'])){
        $paid = 'dotpay_sms';                  // Rodzaj płatności
        $userid = '8294';                      // Twoje ID w panelu
        $comment = 'Opłata za slot';        // Komentarz do płatności
        $kod=$_POST['check'];                  //kod sms
    
        $b = file_get_contents("http://panel.dedyki.net/api.php?api_mode=payment&paid=".$paid."&userid=".$userid."&comment=".$comment."&code=".$kod);
            
        $b = json_decode($api);
        if($b == 'OK') {
        alert("Kod sms nie jest poprawny");
        }
        else{
            $saldo = $api->kwota;
            $pkt = mysql_query("SELECT kasa FROM konta WHERE login=".$_SESSION['Login']."");
            $points = $pkt + $saldo;
            mysql_query("UPDATE `konta` SET `kasa`=`kasa`+'".$saldo."' WHERE `login`='".$_SESSION['Login']."'");
            echo '<meta http-equiv="refresh" content="1; url=index.php?inc=modules/doladowanie/doladowanie">';    
            echo 'Poprawny kod. doładowuję: '.$api->kwota.' zł';
        }
        
    }

?>
<?php }?>

<form action="" method="post">
    <table>
    <tr><td>Kod SMS:</td>
    <td><input type="text" style="width:100px;" maxlength="8" name="check"></td>
    </tr>
    
    <tr><td></td><td colspan="2"><input style="width:100px;" type="submit" name="go" value="Zatwierdz"></td></tr>
    </table>
</form>
</div>


Najlepsza instalka Counter Strike 1.6 w sieci!!!

http://counter-strike.ct8.pl/


#2 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 17.04.2013 19:13

$b = json_decode($api,true);
print_r($ B);


JSON to najzwyklejsza tablica (a w Twoim przypadku obiekt), więc sprawdzenie $b=="OK" mija się z celem.
  • +
  • -
  • 1

serwer-1.png
IP: ts3.cserwerek.pl


#3 Flk

    Czempion

  • Autor tematu
  • Zbanowany

Reputacja: 307
Wszechpomocny

  • Postów:894
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Białystok
Offline

Napisano 17.04.2013 19:16

$b = json_decode($api,true);
print_r($ B);


JSON to najzwyklejsza tablica (a w Twoim przypadku obiekt), więc sprawdzenie $b=="OK" mija się z celem.

Możesz mi to wstawić w php proszę :(  dopiero zaczynam przygodę z php

 

Edit: Firma Dedyki.net udostępniła wzór php który też nie działa

 

 

<?php
$paid 
'dotpay';                // Rodzaj płatności
$userid 8294;                     // Twoje ID w panelu
$comment 'Opłata za slot';    // Komentarz do płatności
$code '7bf27aec2f';            // Kod doładowujący

$api = @file_get_contents("http://panel.dedyki.net/api.php?api_mode=payment&paid=$paid&userid=$userid&comment=$comment&code=$code");
 
if(isset(
$api)) {
    
$api json_decode($api);
 
    if(
is_object($api)) {
        if(
$api->error) {
            echo 
$get->error;
        } else {    
            if(
$api->status=='OK') {
                            
                echo 
'Poprawny kod. doładowuję: '.$api->kwota.' zł';
                
            } else {
            
                echo 
'Błędny kod
';               
            
}
        }
    } else {
        echo 
'Nieoczekiwany błąd API
    }
} else {
    echo 
'Brak połączania z API';
}

?>


Najlepsza instalka Counter Strike 1.6 w sieci!!!

http://counter-strike.ct8.pl/


#4 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 17.04.2013 19:56

A nie działa bo?

$b = file_get_contents("http://panel.dedyki.net/api.php?api_mode=payment&paid=".$paid."&userid=".$userid."&comment=".$comment."&code=".$kod);



$api = json_decode($ B);

if($api->status == 'OK') {

  • +
  • -
  • 1

serwer-1.png
IP: ts3.cserwerek.pl


#5 Flk

    Czempion

  • Autor tematu
  • Zbanowany

Reputacja: 307
Wszechpomocny

  • Postów:894
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Białystok
Offline

Napisano 17.04.2013 20:09

Cały czas wywalało  komunikat o niepoprawnym kodzie sms

 

Edit: Teraz cały czas pokazuje Poprawny kod. doładowuję: zł

 

Spoiler

Najlepsza instalka Counter Strike 1.6 w sieci!!!

http://counter-strike.ct8.pl/


#6 Cypis'

    Master

  • Przyjaciel

Reputacja: 1 162
Super Hero

  • Postów:965
  • GG:
  • Steam:steam
  • Lokalizacja:polska
Offline

Napisano 17.04.2013 20:24

$paid = 'dotpay'; // Rodzaj płatności

to raczej nie jest sms :)
daj na:

$paid = 'dotpay_sms'; // Rodzaj płatności

bo to co ci dali jest na dotpay przelewy a nie na smsy


  • +
  • -
  • 1

#7 Flk

    Czempion

  • Autor tematu
  • Zbanowany

Reputacja: 307
Wszechpomocny

  • Postów:894
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Białystok
Offline

Napisano 17.04.2013 20:28

Próbowałem tak i tak i nic.

W moim kodzie właśnie tak jest

$paid = 'dotpay_sms'; // Rodzaj płatności

 

Już sam nie wiem jak to zrobić


Najlepsza instalka Counter Strike 1.6 w sieci!!!

http://counter-strike.ct8.pl/


#8 Cypis'

    Master

  • Przyjaciel

Reputacja: 1 162
Super Hero

  • Postów:965
  • GG:
  • Steam:steam
  • Lokalizacja:polska
Offline

Napisano 17.04.2013 20:31

Sam korzystam z podobnego skryptu i mi działą.
Możliwe że dodało ci kase do konta, a wtedy przez api już nie sprawdzisz kodu bo będzie wygaśniety.
  • +
  • -
  • 1

#9 Flk

    Czempion

  • Autor tematu
  • Zbanowany

Reputacja: 307
Wszechpomocny

  • Postów:894
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Białystok
Offline

Napisano 17.04.2013 20:37

Nie na 1000% cały czas sprawdzam czy portfel został doładowany.

Na zabijace i ownserwer dziala mi podobny skrypt a u nich nie, możliwe że mają źle zrobione api.


Najlepsza instalka Counter Strike 1.6 w sieci!!!

http://counter-strike.ct8.pl/


#10 Cypis'

    Master

  • Przyjaciel

Reputacja: 1 162
Super Hero

  • Postów:965
  • GG:
  • Steam:steam
  • Lokalizacja:polska
Offline

Napisano 17.04.2013 20:45

Skrypt jest dobry jedynie co może być złe to kod lub api, ale wątpie że api jest popsute bo korzystam z tego samego api na innym hostingu (ten sam panel) i działa.

Ew. możesz testować przez przeglądarke:
http://panel.dedyki....code=7bf27aec2f

Użytkownik Cypis' edytował ten post 17.04.2013 20:46

  • +
  • -
  • 1

#11 Flk

    Czempion

  • Autor tematu
  • Zbanowany

Reputacja: 307
Wszechpomocny

  • Postów:894
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Białystok
Offline

Napisano 17.04.2013 20:53

Dziwne tak dział zwróciło mi taki komunikat

 

{"status":"OK","kwota":0.23}


Najlepsza instalka Counter Strike 1.6 w sieci!!!

http://counter-strike.ct8.pl/


#12 Cypis'

    Master

  • Przyjaciel

Reputacja: 1 162
Super Hero

  • Postów:965
  • GG:
  • Steam:steam
  • Lokalizacja:polska
Offline

Napisano 17.04.2013 20:58

Dobra już wiem masz bład w swoim skrypcie :P
Powinno smiagać:
<?php //24

    include("funkcje.php");

    include("configs/head_config.php");

    

    if($_SESSION['Zalogowany']!=1) alert("Musisz się zalogować!!!");

    else{

    $name='doladowanie';


    include("configs/ownserwer_config.php");


    if($_POST['go'] && !empty($_POST['check'])){

        $paid = 'dotpay_sms';                  // Rodzaj płatności

        $userid = '8294';                      // Twoje ID w panelu

        $comment = 'Opłata za slot';        // Komentarz do płatności

        $kod=$_POST['check'];                  //kod sms

    

        $api = file_get_contents("http://panel.dedyki.net/api.php?api_mode=payment&paid=".$paid."&userid=".$userid."&comment=".$comment."&code=".$kod);

            

        $api = json_decode($api);

        if($api->status == 'FAIL' || isset($api->error)) {
			alert("Kod sms nie jest poprawny");
        }
        else{
            $saldo = $api->kwota;

            $pkt = mysql_query("SELECT kasa FROM konta WHERE login=".$_SESSION['Login']."");

            $points = $pkt + $saldo;

            mysql_query("UPDATE `konta` SET `kasa`=`kasa`+'".$saldo."' WHERE `login`='".$_SESSION['Login']."'");

            echo '<meta http-equiv="refresh" content="1; url=index.php?inc=modules/doladowanie/doladowanie">';    

            echo 'Poprawny kod. doładowuję: '.$api->kwota.' zł';

        }

        

    }


?>

<?php }?>


<form action="" method="post">

    <table>

    <tr><td>Kod SMS:</td>

    <td><input type="text" style="width:100px;" maxlength="8" name="check"></td>

    </tr>

    

    <tr><td></td><td colspan="2"><input style="width:100px;" type="submit" name="go" value="Zatwierdz"></td></tr>

    </table>

</form>

</div>


  • +
  • -
  • 1

#13 Flk

    Czempion

  • Autor tematu
  • Zbanowany

Reputacja: 307
Wszechpomocny

  • Postów:894
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Białystok
Offline

Napisano 17.04.2013 21:04

Dalej to samo wpisuje poprawny kod "Kod sms nie jest poprawny "

 

Edit: No nic mówi się trudno :( dzięki za pomoc


Najlepsza instalka Counter Strike 1.6 w sieci!!!

http://counter-strike.ct8.pl/


#14 Cypis'

    Master

  • Przyjaciel

Reputacja: 1 162
Super Hero

  • Postów:965
  • GG:
  • Steam:steam
  • Lokalizacja:polska
Offline

Napisano 17.04.2013 21:29

A na pewno ten kod co teraz wpisujesz działa, bo jeżeli wpisujesz ten co poprzednio to na pewno już wygasł bo go zurzyłeś.
  • +
  • -
  • 0

#15 Flk

    Czempion

  • Autor tematu
  • Zbanowany

Reputacja: 307
Wszechpomocny

  • Postów:894
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Białystok
Offline

Napisano 17.04.2013 21:35

Nie nowy wysłałem w panelu cały czas sprawdzam czy został użyty


Najlepsza instalka Counter Strike 1.6 w sieci!!!

http://counter-strike.ct8.pl/


#16 gameslot

    Życzliwy

  • Zbanowany

Reputacja: 4
Nowy

  • Postów:38
  • GG:
  • Lokalizacja:Sadki
Offline

Napisano 23.04.2013 05:32

$r = $array[0]['status'];

I wyciągasz odpowiedź :)

czyli przykładowo

$json = kod_od_dedyki.net
$data = json_decode($json);
$r = $array[0]['status'];
if($r == "OK"){
// część odpowiadająca za dobry kod
} else {
// czesc kodu (zły kod sms) }

Profesjonalne serwery gier w atrakcyjnych cenach
Lokalizacja: Warszawa
www.GameSlot.pl






Również z jednym lub większą ilością słów kluczowych: php

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych