Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Kažkas su SMS gavimu

Parašė adulis· 2008 Lap. 16 17:11:32
#1

Sveiki,
turiu dabar du kodus
sms.php:
<?php
//Irasykite Jusu specifine informacija
$mysql_host="mysql2.bendras.com"; //Irašykite MySQL serverio adresa
$mysql_user="cia vartotojas tas"; //Irasykite savo MySQL vartotojo prisijungimo varda
$mysql_pass="cia slaptazodis"; //Irasykite savo MySQL vartotojo prisijungimo slaptazodi
$mysql_db="cia duombazes pav"; //Irasykite savo duombazes pavadinima
 
$sms_pass="cia slaptazodis kuri ivedziau kurdamas raktazodi"; //Irasykite slaptazodi kuri irasete sukurdami raktini zodi
 
//Apmokejimo dorojimo grazinamas SMS atsakymas (jei Jums suteikia tokia galimybe)
$ret_txt="Jusu zinute gauta";
 
// Tikrinam ar atitinka URL uzklausos slaptazodis (tik jei nurodytas $sms_pass)
if(!empty($sms_pass))
   if(md5($sms_pass."|".$_SERVER["REMOTE_ADDR"]."|".$_GET['uid']) != $_GET["pass"])
      die();
 
//Prisijungiam prie MySQL
$conn=mysql_connect($mysql_host,$mysql_user,$mysql_pass) or die($ret_txt);
 
//Pasirenkam duombaze
mysql_select_db($mysql_db,$conn) or die($ret_txt);
 
$sql=sprintf("INSERT INTO parama (`dt`,`tonr`,`txt`,`phone`,`operator`,`amount`,`word`,`uid`) VALUES('%s','%s','%s','%s','%s',%01.2f,'%s',%u)",date("Y-m-d H:i:s",time()),safeinput($_GET["tonr"],45),safeinput($_GET["txt"],255),safeinput($_GET["phone"],45),safeinput($_GET["operator"],45),round(intval($_GET["amount"])/100,2),safeinput($_GET["word"],45),intval($_GET["uid"]));
 
mysql_query($sql,$conn);
 
die($ret_txt);
 
/////////////////////////////////////////////////////////////////////////////////////////
function safeinput($var, $len)
{
if (get_magic_quotes_gpc())
   {
    $var = stripslashes($var);
   }
return mysql_real_escape_string(substr($var,0,$len));
}
?>




ir parama.php:
<?php
//Paramos nuskaitymo funkcija
// Panaudojimas:
// 1. Ikelkite si faila į viesa Jusu svetaines direktorija
// 2. Jusu svetaines PHP faile, kuri visada naudojate (pvz.: index.php) iterpkite tokia eilute:
// require_once("parama.php");
//
// Noredami nuskaityti SMS zinutes reiksmes is duombazes, iskvieskite funkcija get_parama() su sekanciais parametrais:
// $conn - Jusu aktyvus prisijungimas prie MySQL serverio
// $cnt - kiek SMS zinuciu nuskaityti  1-100vnt.
// $word - jei nurodytas, filtruoti pagal raktini zodi
// $amount - jei nurodyta suma (dauiau nei 0), filtruoti pagal paramos zinutes pinigu suma
// $phone - jei nurodytas, filtruoti pagal siuntejo telefono numeri
// $uid - jei nurodytas (daugiau nei 0), filtruoti pagal unikalu paramos zinutes id
// Grazinamas masyvas su zinutem, atrinktom pagal duotus kriterijus, kaip masyvas masyve
// Reiksmes galima gauti taip:  print $array[<zinutes eiles numeris 0-...>][<laukelio numeris>];
// Jei gaunama paskutine 1 zinute, tai pvz.:
// print $array[0]["txt"]; //Atspausdins tik paskutines zinutes teksta
 
function get_parama($conn, $cnt=1, $word="", $amount=0, $phone="", $operator="", $uid=0)
{
$sql="";
 
if(!empty($word))
   $sql="word='".$word."'";
 
if($amount>0)
   $sql=$sql.(!empty($sql) ? " AND " : "")."amount=".sprintf("%01.2f",$amount);
 
if(!empty($phone))
   $sql=$sql.(!empty($sql) ? " AND " : "")."phone='".$phone."'";
 
if(!empty($operator))
   $sql=$sql.(!empty($sql) ? " AND " : "")."operator='".$operator."'";
 
if($uid>0)
   $sql=$sql.(!empty($sql) ? " AND " : "")."uid=".$uid;
 
if($cnt<1)
   $cnt=0; //Jei nenurodyta ar nurodyta 0, tai gauti 1 paskutine zinute
else
   if($cnt>100)
      $cnt=100;//Jei daugiau nei 100, tai rodyti tik 100 zinuciu
 
$sql="SELECT * FROM parama ".(!empty($sql) ? "WHERE ".$sql : "")." ORDER BY dt DESC LIMIT ".$cnt;
$result=mysql_query($sql,$conn) or die(mysql_error());
if(!mysql_num_rows($result))
   return array(); //Neradus rezultatu, grazinti tuscia masyva
 
// Sukeliam rezultatus i masyva
$arr=array();
$kount=0;
while($arr[$kount] = mysql_fetch_assoc($result))
   $kount++;
 
return $arr;

}
?>




Išsiunčiu sms viskas ok gaunu atsakyma jusu zinute gauta sekute tolimesniais svetaines nurodymais.
Pasižiųrau MYSQL jinai yra toj lenetelėj kurią sukųriau, bet man tos žinutės neatvaizduoja nei vienam faile nei sms.php nei parama.php kažkas tuose koduose negerai. Jaigu galit mestelkit akį kas ten ne taip :/

Plačiau apie viską:
http://wiki.tinklalapis.net/doku...sms_parama

Redagavo adulis· 2008 Lap. 16 17:11:27

Parašė adulis· 2008 Lap. 17 14:11:34
#2

Sorry už duoble post bet pats nesusitvarkau...

Parašė MAnjack· 2008 Lap. 17 14:11:57
#3

Klaida tai išeoina va čia:
$sql="SELECT * FROM parama ".(!empty($sql) ? "WHERE ".$sql : "")." ORDER BY dt DESC LIMIT ".$cnt;
$result=mysql_query($sql,$conn) or die(mysql_error());
if(!mysql_num_rows($result))
   return array(); //Neradus rezultatu, grazinti tuscia masyva
 
// Sukeliam rezultatus i masyva
$arr=array();
$kount=0;
while($arr[$kount] = mysql_fetch_assoc($result))
   $kount++;
 
return $arr;



Parašė adulis· 2008 Lap. 18 15:11:24
#4

Bet tai kur čia klaida :/
Nesuprantu :/

O gal kas turi kokį nors paprasta tinklalapis.net SMS sistema? Įmeskit būsiu dėkingas :) (ne php-fusion)

Parašė mckenzie· 2008 Lap. 18 15:11:28
#5

http://wiki.tinklalapis.net/doku...sms_parama pasiskaitynek :)

Parašė adulis· 2008 Lap. 18 18:11:29
#6

Viska jau išanalizavęs... neveikia ir nesupratau dviejų paskutiniu punktų...
Bet ten jie neprieko man atrodo... ne dėl to man nerodo... Mysql rodo o atvaizduot neatvaizduoja :/