Reik pagalbos su sms sistema

Forumas skirtas klausimams/pamokoms susijusioms su PHP, SQL (MySQL), web technologijomis, HTML, CSS, javascript, turinio valdymo sistemomis ir kita.
Post Reply
igreen
Naujokas apylinkėse
Posts: 4
Joined: 2014 Mar 25 21:11
Skype: povka110

Reik pagalbos su sms sistema

Post by igreen »

Sveiki, bandau perdaryt unban sistemą į zm sms ammo pildymo sistemą. Rez.lt seną unban sistemą. Ji veikia su mokėjimai.lt 1.5 specifikaciją, dėl to bandžiau perdaryt į zm bet nepavyko. Taip pat turiu zm sms sistemą, bet kiek žinau, ji pritaikyta 1.2 mokėjimai.lt specifikacijai. Net WebToPay.php failo nebuvo. Taigi papostinu 2 kodus originalius ir 1 savo kurtą. Tą kurtą jeigu žinot kaip pataisyt padėkit, ar bent patarkit kurią linkme eit. Problema tame, kad kai išsiunčiu sms, atsakymo tiesiog nebūna. Žinau kad reik kad grįžtu echo "OK "; kad galima būtų toliau kažką daryt, bet bandžiau bandžiau ir nepavyko. Visai naujas kodavime esu. Html pagrindus žinau. Visus $xxx patikrinau ir surašiau į config.php failą, bet vistiek nepavyko.
Senas zm kodas (originalus, 1.2 spec.):

Code: Select all

<?php include('config.php');include('WebToPay.php'); if ( TestTransaction( $_GET['transaction'], $mokejimai_pass, $_GET['id'] ) ){     $ex = explode(" ", $_GET[sms], 2);    $ex[1] = strtolower($ex[1]);    $amount = $_GET['amount'];    $ok = "OK ";     if(trim($ex[1])=='') {    die("Neirasete IP adreso!"); }     if($amount == '100')  { $credits  = "100";   } else { ""; }    if($amount == '300')  { $credits  = "500";   } else { ""; }    if($amount == '500')  { $credits  = "1200";  } else { ""; }    if($amount == '700')  { $credits  = "2000";  } else { ""; }    if($amount == '1000') { $credits  = "4000";  } else { ""; }    if($amount == '1500') { $credits  = "10000";  } else { ""; }    $ats = "Sveikiname uzsisakius ".$credits." kreditus.";       $result = mysql_query("SELECT IP,Credits FROM $bank_table WHERE IP = '".$ex[1]."' LIMIT 1");   $data = mysql_fetch_assoc($result);    if($data === false) {      echo "Toks IP nerastas duomenu bazeje.";   } else {      mysql_query("UPDATE $bank_table SET Credits=Credits + '$credits' WHERE `IP`='".$ex[1]."'");      echo $ok .= "Sveikiname uzsisakius ".$credits." kreditus.";   }} function TestTransaction( $transaction, $userPassword, $ordeID, $test = 0, $status = 1 ){  return ( $transaction == md5($userPassword.'|'.$_SERVER['REMOTE_ADDR'].'|'.$ordeID.'|'.$test.'|'.$status) );}///////////////////////////////////////////////?>
Rez.lt sena unban sistema (1.5 spec.)

Code: Select all

<?phprequire_once('mokejimai_webtopay(1_5_version).php');include "../config/db_connect.php"; try{    $response = WebToPay::checkResponse($_GET, array(           'sign_password' => '',             // Kelias iki failo, kuriame bus registruojami visi iљkvietimai            // Jei naudosite љia funkcija, isitikinkite, kad sukurto log failo            // niekas nepasieks iљ iљores.            //'log'           => 'webtopay.log',        ));     $kns = ($_GET['wp_amount']);    $ex1 = ($_GET['wp_sms']);    $ex = explode(' ', $ex1);        if($kns == $mokejimai_price)    {        switch($amxbans_version)        {            case 0:            {                $result = mysql_query("SELECT * FROM `amx_bans` WHERE `player_ip` = '".$ex[1]."' LIMIT 1") or die( mysql_error());                break;            }            case 1:            {                $result = mysql_query("SELECT * FROM `amx_bans` WHERE `player_ip` = '".$ex[1]."' AND `expired` = '0' LIMIT 1") or die( mysql_error());                break;            }        }                $row = mysql_num_rows($result);         if(empty($ex[1]))        {            echo $ok."Jus neivedete IP!";            exit();        }        else if (!ereg("^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$",$ex[1]))        {            echo $ok."Blogai nurodet IP!";            exit();        }         else if($row)        {            switch($amxbans_version)            {                case 0:                {                    $result3 = mysql_query("DELETE FROM `amx_bans` WHERE `player_ip` = '".$ex[1]."'");                    echo $ok."$unbanned";                    break;                }                case 1:                {                    $result3 = mysql_query("UPDATE `amx_bans` SET `expired` = '1' WHERE `player_ip` = '".$ex[1]."'");                    echo $ok."$unbanned";                    break;                }            }        }         else         {            array($result);            echo $ok."$no_ban_exist"."$ex[1]";        }    }}catch (Exception $e) {    echo get_class($e).': '.$e->getMessage();}?>

Mano kurtas kodas (1.5 spec., paimta nuo unban sistemos):

Code: Select all

<?phprequire_once('WebToPay.php');include "config.php"; try{    $response = WebToPay::checkResponse($_GET, array(           'sign_password' => '',             // Kelias iki failo, kuriame bus registruojami visi iљkvietimai            // Jei naudosite љia funkcija, isitikinkite, kad sukurto log failo            // niekas nepasieks iљ iљores.            //'log'           => 'webtopay.log',        ));     $kns = ($_GET['wp_amount']);    $ex1 = ($_GET['wp_sms']);    $ex = explode(' ', $ex1);        if($kns == '100')  { $credits  = "100";   } else { ""; }    if($kns == '300')  { $credits  = "500";   } else { ""; }    if($kns == '500')  { $credits  = "1200";  } else { ""; }    if($kns == '700')  { $credits  = "2000";  } else { ""; }    if($kns == '1000') { $credits  = "4000";  } else { ""; }    if($kns == '1500') { $credits  = "10000";  } else { ""; }        $ats = "Sveikiname uzsisakius ".$credits." kreditus.";     if($kns == $mokejimai_price1)    {                $result = mysql_query("SELECT * FROM `zp_bank` WHERE `IP` = '".$ex[1]."' LIMIT 1") or die( mysql_error());                break;        }        $row = mysql_num_rows($result);         if(empty($ex[1]))        {            echo $ok."Jus neivedete IP!";            exit();        }        else if (!ereg("^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$",$ex[1]))        {            echo $ok."Blogai nurodet IP!";            exit();        }         else if($row)        {                    $result3 = mysql_query("UPDATE `zp_bank` SET IP= '".$ex[1]."', Credits = Credits + '$credits');                    echo $ok."$ats";                    break;        }         else         {            array($result);            echo $ok."Kazkas netaip";        }    }}catch (Exception $e) {    echo get_class($e).': '.$e->getMessage();}?> 
Labai dėkoju kas bando padėt!

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: Reik pagalbos su sms sistema

Post by psychical »

Jei niekur nesuklydau

Code: Select all

<?phprequire_once('WebToPay.php');include "config.php"; $get = removeQuotes($_POST); try{    $response = WebToPay::validateAndParseData($get, $projectid, $sign_pass);    $kns = ($response['amount']);        $sms = strlen($response['key']);    $sms_ip = substr($response['sms'], $sms+1);        switch($kns)    {        case 100: { $credits = "100"; break; }        case 300: { $credits = "500"; break; }        case 500: { $credits = "1200"; break; }        case 700: { $credits = "2000"; break; }        case 1000: { $credits = "4000"; break; }        case 1500: { $credits = "10000"; break; }        default: { $credits = "0"; break; }    }     if(empty($sms_ip))    {        echo "OK Jus neivedete IP!";        exit();    }    else if (!ereg("^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$", $sms_ip))    {        echo "OK Blogai nurodytas IP!";        exit();    }    else    {        $result = mysql_query("SELECT * FROM `zp_bank` WHERE `IP` = '".$sms_ip."' LIMIT 1") or die( mysql_error());                if(mysql_num_rows($result))        {            mysql_query("UPDATE `zp_bank` SET `IP` = '".$sms_ip."', `Credits` = Credits+$credits");                        echo "OK Sveikiname uzsisakius ".$credits." kreditus.";        }        else {            echo "OK Toks IP adresas musu sistemoje nerastas!";        }    }} catch (Exception $e) {    echo get_class($e).': '.$e->getMessage();} function removeQuotes($post) {    if (get_magic_quotes_gpc()) {        foreach ($post as &$var) {            if (is_array($var)) {                $var = removeQuotes($var);            }            else {                $var = stripslashes($var);            }        }    }    return $post;}?>

User avatar
V1LKAS
Flooderis arba specialistas
Posts: 612
Joined: 2012 Nov 08 12:55
Skype: darius489

Re: Reik pagalbos su sms sistema

Post by V1LKAS »

Ble jau aš rašiau :D

igreen
Naujokas apylinkėse
Posts: 4
Joined: 2014 Mar 25 21:11
Skype: povka110

Re: Reik pagalbos su sms sistema

Post by igreen »

Labai dėkui psychical, tai čia gaunas tas sms.php failas kuris atsako už sms siuntimą taip? O tai config faile ką daryt? Viską palikt ar kaip? Postinu originalų confing.php. Jeigu nesunku pasakyk ką kur čia pakeist. Beje dar turiu klausimelį. Ką daro ši eilutė? $result = mysql_query("SELECT * FROM `zp_bank` WHERE `IP` = '".$sms_ip."' LIMIT 1") or die( mysql_error()); Ta prasme ką daro tas LIMIT 1 ir kam jis naudojamas? Ir dar kaip supratau, tai $sms_ip ištrauki iš sms kažkaip? Ką tas strlen ir substr daro? Norėčiau bent jau kodo esmę suprast. Dėkui dar kartą.

Config.php:

Code: Select all

<?php $hostname = "localhost";$username = "useris";$password = "pass";$database = "db"; $bank_table = "zp_bank";$ip = $_SERVER['REMOTE_ADDR'];  $mokejimai_pass = "pass_mokejimai_lt"; $db = mysql_connect($hostname,$username,$password) or die("Could not connect to database.");mysql_select_db($database,$db); $raktazodis1 = "credit1";$raktazodis2 = "credit3";$raktazodis3 = "credit5";$raktazodis4 = "credit7";$raktazodis5 = "credit10";$raktazodis6 = "credit15"; $msg1 = "<font color='red'>$raktazodis1</font> - 1lt/Gausite 100kreditu<br>";$msg2 = "<font color='red'>$raktazodis2</font> - 3lt/Gausite 500kreditu<br>";$msg3 = "<font color='red'>$raktazodis3</font> - 5lt/Gausite 1200kreditu<br>";$msg4 = "<font color='red'>$raktazodis4</font> - 7lt/Gausite 2000kreditu<br>";$msg5 = "<font color='red'>$raktazodis5</font> - 10lt/Gausite 4000kreditu<br>";$msg6 = "<font color='red'>$raktazodis6</font> - 15lt/Gausite 10000kreditu<br>"; $version = "ZP Ammo buy system"; $header = "<title>$version</title><html><head><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"><meta name=\"author\" content=\"Skype = asas\"><meta name=\"vr\" content=\"159437\"> <link rel=\"stylesheet\" type=\"text/css\" href=\"css.css\"><link rel=\"icon\" href=\"images/favicon.ico\" type=\"image/x-icon\" /><link rel=\"shortcut icon\" href=\"images/favicon.ico\" type=\"image/xicon\"/> <body>"; $footer = "</td></tr><tr>    <td colspan=\"2\" align=\"center\"></td></tr></table><center><br>$version &copy; Copyright 2009 - 2010 , for-free.lt system<br></center>"; ?>

User avatar
V1LKAS
Flooderis arba specialistas
Posts: 612
Joined: 2012 Nov 08 12:55
Skype: darius489

Re: Reik pagalbos su sms sistema

Post by V1LKAS »

1. Tavo config faile keisti nieko nereikia, nes jis tik prisijungia prie duomenų bazės.
2. Taip tas sms.php vykdo atitinkamą veiksmą (prisideda ammo tavo atvėju) nusiuntus į jį teisingus duomenis (t.y to failo kelią reikia nurodyti mokėjimai.lt kelias/sms.php)
3. LIMIT 1 reiškia, kad query paims tik vieną įrašą
4. Taip sms_ip yra vartotojo įrašytas ip adresas.
5. strlen reikalauja eilutės, ir gražina eilutės ilgį
6. substr gražiną reikšmę nuo nurodyto stringo, šiuo atvėju tas stringas yra keywordas (paprastai tariant šiuo atvėju jis atmeta raktažodį ir tarpą po jo ir pasima tik kitą dalį teksto, šiuo atvėju ip.)

Post Reply

Who is online

Users browsing this forum: No registered users and 44 guests