Thông báo
Fibo
  1. Hướng dẫn chmod website vô hiệu hóa local attack (read file via symlink) hoàn toàn với host đặt tại Fibo
  2. Thông báo về qui định SPAM tin quảng bá và nội dung tin quảng bá
  3. Thông báo thay đổi đơn giá mới của Mobi và Vina
  4. Fibo thiết lập Server SMS dự phòng

    Thông báo thanh toán doanh thu SMS tháng 4/2010

    Fibo chính thức cung cấp lại Free Hosting

    Thông báo tuyển dụng nhân sự (16 / 8 -> 15 / 9 / 2010)

Trả lời
Old 10-07-2008, 02:56 PM   #1
FiboSMS
 
FiboSMS's Avatar
 
Status: Fibosms.com
Tham gia ngày: Jun 2008
Bài gởi: 839



Default Hướng Dẫn Viết 1 trang php đơn giản tương tác FiboSMS GateWay

Ứng dụng cộng 2 số và Trả về chuổi

Test thử :
Fibo Cong 4 6 gởi 8054 , hệ thống sms sẽ trả về 10 .
Fibo Chuoi gởi 8054, hệ thống sẽ trả về 1 chuỗi ngẫu nhiên.


Code mẫu:

PHP Code:
<?php

if ($_SERVER['REMOTE_ADDR'] <> "112.78.7.18"){ 
        echo 
$_SERVER['REMOTE_ADDR']."can not access";
        exit();
    }

function 
ReplaceSpecialCharsForXML($strString)
{
    
$strRet="";
    if (
$strString != NULL)
    {
        
$strRet str_replace("\"","&quot;",$strString);
        
$strRet str_replace("&","&amp;",$strRet);
         
$strRet str_replace("’","&apos;",$strRet);
         
$strRet str_replace("'","&apos;",$strRet);
        
$strRet str_replace("<","&lt;",$strRet);
        
$strRet str_replace(">""&gt;",$strRet);
    }
    return 
$strRet;
}

$cuphap=strtoupper($_REQUEST['message']);
$phone$_REQUEST['phone'];
$service=$_REQUEST['service'];
$outb md5(uniqid(rand(), true));
$tmp=explode(" ",$cuphap);
if(
$tmp[0]=='FIBO')
{
    
//set cu phap
    
if(@$tmp[1]=='CONG'
    {
            
$sothu1$tmp[2];
            
$sothu2$tmp[3];
            
$ketqua$sothu1 $sothu2;
            
            echo 
'<ClientResponse>
                    <Message>
                        <PhoneNumber>'
.$phone.'</PhoneNumber>
                        <Message>Ket qua la '
.$ketqua.'</Message>
                        <SMSID> -1</SMSID>
                        <ServiceNo>'
.$service.'</ServiceNo>
                    </Message>
                </ClientResponse>'
;        
    }
    if(@
$tmp[1]=='CHUOI'
    {
            
$chuoi= array("I don't","I am","Ca Heo","Phuong XP","Buc boi qua ah");
            
$ngaunhien rand (0,4);
            echo 
'<ClientResponse>
                    <Message>
                        <PhoneNumber>'
.$phone.'</PhoneNumber>
                        <Message>Chuoi tra ve : '
.ReplaceSpecialCharsForXML($chuoi[$ngaunhien]).'</Message>
                        <SMSID> -1</SMSID>
                        <ServiceNo>'
.$service.'</ServiceNo>
                    </Message>
                </ClientResponse>'
;    
            
    }
    
}

?>

Giải thích code



PHP Code:
if ($_SERVER['REMOTE_ADDR'] <> "203.171.30.222"){ 
        echo 
$_SERVER['REMOTE_ADDR']."can not access";
        exit();
    } 
Ở tất cả các file code xử lý tin nào thì bắt buộc đều phải có dòng này ở đầu tiên, mục đích là chỉ cho phép thực thi mọi dòng lệnh thông qua sever của Fibo tránh tình trạng gọi trực tiếp từ phía người dùng.

PHP Code:
function ReplaceSpecialCharsForXML($strString)
{
    
$strRet="";
    if (
$strString != NULL)
    {
        
$strRet str_replace("\"","&quot;",$strString);
        
$strRet str_replace("&","&amp;",$strRet);
         
$strRet str_replace("’","&apos;",$strRet);
         
$strRet str_replace("'","&apos;",$strRet);
        
$strRet str_replace("<","&lt;",$strRet);
        
$strRet str_replace(">""&gt;",$strRet);
    }
    return 
$strRet;

Đây là hàm dùng để chuyển những ký tự lạ trong tin nhắn phản hồi thành những ký tự mà XML có thể hiểu và hoạt động.
Ví dụ : I'm Cá heo khi gởi phản hồi thành tin SMS thì sẽ báo lỗi ( vì có ký tự lạ ' )

PHP Code:
I&apos;m Cá heo 
Thì ok

PHP Code:
$cuphap=strtoupper($_REQUEST['message']);
$phone$_REQUEST['phone'];
$service=$_REQUEST['service'];
$outb md5(uniqid(rand(), true));
$tmp=explode(" ",$cuphap); 
Những biến lưu trữ những thông tin cơ bản chuyển đến hệ thống Fibo SMS Gateway, hầu hết mọi file xử lý tin đều có cấu trúc như vậy nên bạn cũng không cần thay đổi gì.

Riêng biến tmp sẽ là biến lưu trữ cú pháp nhắn tin , trong cú pháp đó các keyword được phân biệt bằng khoảng cách.

Ví cú pháp Fibo Fibo1 Fibo2 Fibo3 nhắn tin đến đầu số thì tmp[0] chính là Fibo,tmp[1] chính là Fibo1 ..........

Tùy theo code mà các bạn viết thì sẽ có những phản hồi khác nhau, nhưng kết quả hiện thị cuối cùng là phải có cấu trúc như sau :

PHP Code:
<ClientResponse>
                    <
Message>
                        <
PhoneNumber>'.$phone.'</PhoneNumber>
                        <
Message>Chuoi tra ve '.ReplaceSpecialCharsForXML($chuoi[$ngaunhien]).'</Message>
                        <
SMSID> -1</SMSID>
                        <
ServiceNo>'.$service.'</ServiceNo>
                    </
Message>
                </
ClientResponse

PHP Code:
<Message>Chuoi tra ve '.ReplaceSpecialCharsForXML($chuoi[$ngaunhien]).'</Message
chứa những thông tin gì thì số điện thoại của bạn sẽ chứa những phản hồi y chang vậy.

Hướng dẫn này chỉ dành cho các bạn không biết code, và Fibo không giải thích nhiều. Nếu các bạn muốn tìm hiểu thêm thì cứ vào các diễn đàn khác để học tập thêm về ngôn ngữ lập trình ( PHP, .net ) .....
__________________
FiboSMS Team
Simple - Effective

FiboSMS is offline   Trả Lời Với Trích Dẫn
Old 17-07-2008, 02:37 PM   #2
BachPhong
 
Status: Junior Member
Tham gia ngày: Jul 2008
Bài gởi: 4



Default Thanks bác nhiều !

Sao pác không làm thêm 1 cái cho ASP nhỉ !
BachPhong is offline   Trả Lời Với Trích Dẫn
Old 29-07-2008, 01:36 PM   #3
tct
 
tct's Avatar
 
Status: TỔNG THANH TRA
Tham gia ngày: May 2008
Bài gởi: 1,189



Default

Trích:
Nguyên văn bởi Fibosms-support View Post
$strRet = str_replace("\"",""",$strString);
dòng đó em nghĩ không dc đúng cho lém!!! Chỗ in đỏ!
Theo em nên sử lại vầy!
PHP Code:
$strRet str_replace("\"",'"',$strString); 
code lại đầy đủ
PHP Code:
<?php

if ($_SERVER['REMOTE_ADDR'] <> "203.171.30.222"){ 
        echo 
$_SERVER['REMOTE_ADDR']."can not access";
        exit();
    }

function 
ReplaceSpecialCharsForXML($strString)
{
    
$strRet="";
    if (
$strString != NULL)
    {
        
$strRet str_replace("\"",'"',$strString);
        
$strRet str_replace("&","&",$strRet);
         
$strRet str_replace("’","&apos;",$strRet);
         
$strRet str_replace("'","&apos;",$strRet);
        
$strRet str_replace("<","<",$strRet);
        
$strRet str_replace(">"">",$strRet);
    }
    return 
$strRet;
}

$cuphap=strtoupper($_REQUEST['message']);
$phone$_REQUEST['phone'];
$service=$_REQUEST['service'];
$outb md5(uniqid(rand(), true));
$tmp=explode(" ",$cuphap);
if(
$tmp[0]=='FIBO')
{
    
//set cu phap
    
if(@$tmp[1]=='CONG'
    {
            
$sothu1$tmp[2];
            
$sothu2$tmp[3];
            
$ketqua$sothu1 $sothu2;
            
            echo 
'<ClientResponse>
                    <Message>
                        <PhoneNumber>'
.$phone.'</PhoneNumber>
                        <Message>Ket qua la '
.$ketqua.'</Message>
                        <SMSID> -1</SMSID>
                        <ServiceNo>'
.$service.'</ServiceNo>
                    </Message>
                </ClientResponse>'
;        
    }
    if(@
$tmp[1]=='CHUOI'
    {
            
$chuoi= array("I don't","I am","Ca Heo","Phuong XP","Buc boi qua ah");
            
$ngaunhien rand (0,4);
            echo 
'<ClientResponse>
                    <Message>
                        <PhoneNumber>'
.$phone.'</PhoneNumber>
                        <Message>Chuoi tra ve : '
.ReplaceSpecialCharsForXML($chuoi[$ngaunhien]).'</Message>
                        <SMSID> -1</SMSID>
                        <ServiceNo>'
.$service.'</ServiceNo>
                    </Message>
                </ClientResponse>'
;    
            
    }
    
}

?>
thân!
tct is offline   Trả Lời Với Trích Dẫn
Old 01-11-2008, 05:19 PM   #4
HoangTraVinh
 
Status: Thành viên
Tham gia ngày: Nov 2008
Bài gởi: 7



Cool Cần Hướng Dẫn Về Code

Ai có Thể Cho em chỉ em ko
TênMiềnEm.com nên để ở đoạn nào

Chao Gữi 8xxx nền ghi chỗ nào

Tin Từ hệ Thống Nhắn Đến Các Điện Thoại Đã gữi cho Minh
VD: CacAnh nên ghi cho nào

Sao Khi Viết Code Xong làm thế Nào Nữa

Nhầm Khi Trùng Cú Pháp Của Người Khác Thì Sao

Rất Mong anh Chị đi trước Hướng Dẫn lại cho em út với
HoangTraVinh is offline   Trả Lời Với Trích Dẫn
Old 02-11-2008, 02:28 AM   #5
tct
 
tct's Avatar
 
Status: TỔNG THANH TRA
Tham gia ngày: May 2008
Bài gởi: 1,189



Default

Trích:
Nguyên văn bởi HoangTraVinh View Post
Ai có Thể Cho em chỉ em ko
TênMiềnEm.com nên để ở đoạn nào

Chao Gữi 8xxx nền ghi chỗ nào

Tin Từ hệ Thống Nhắn Đến Các Điện Thoại Đã gữi cho Minh
VD: CacAnh nên ghi cho nào

Sao Khi Viết Code Xong làm thế Nào Nữa

Nhầm Khi Trùng Cú Pháp Của Người Khác Thì Sao

Rất Mong anh Chị đi trước Hướng Dẫn lại cho em út với
chào bạn!

Câu hỏi của bạn không rõ lém, có lẽ bạn không hiểu lắm về SMS Gateway

bạn cần tìm hiểu kĩ ứng dụng cho SMS Gateway qua các bài viết rồi hãy đặt câu hỏi!

khi viết ứng dụng cho SMS Gateway bạn cần bit cơ bản một ngôn ngữ web động (ở đây dùng php). mới có thể phát tiển típ dc!

thân!
tct is offline   Trả Lời Với Trích Dẫn
Old 02-11-2008, 07:00 AM   #6
HoangTraVinh
 
Status: Thành viên
Tham gia ngày: Nov 2008
Bài gởi: 7



Wink Cho em hỏi chút nha

Tại sau em viết đoạn code rồi dạng .php (em đã up lên host)

<?php
$phone= $_REQUEST['phone'];
$service=$_REQUEST['service'];
$outb = md5(uniqid(rand(), true));
echo '<ClientResponse>
<Message>
<PhoneNumber>'.$phone.'</PhoneNumber>
<Message>Cam on ban da ung ho</Message>
<SMSID> -1</SMSID>
<ServiceNo>'.$service.'</ServiceNo>
</Message>
</ClientResponse>';
?>

cấu hình Tin Nhắn Thì em để vậy:
Tiếp đầu ngữ: ungho
Trạng thái : Active
URL : http://nhacsovn.com/thu.php

em thử gữi tin nhắn thì nó báo lỗi

em gữi vậy nè: fibo ungho gữi 8177

chĩ em với
HoangTraVinh is offline   Trả Lời Với Trích Dẫn
Old 08-11-2008, 11:31 PM   #7
zosolo
 
Status: Quản lý Box
Tham gia ngày: Nov 2008
Bài gởi: 164



Default

Fibo cho em hỏi đoạn đầu
Code:
if ($_SERVER['REMOTE_ADDR'] <> "203.171.30.222"){  
        echo $_SERVER['REMOTE_ADDR']."can not access"; 
        exit(); 
    }
thì cái ip là của host hay là giữ nguyên
zosolo is offline   Trả Lời Với Trích Dẫn
Old 09-11-2008, 12:16 AM   #8
FiboSMS
 
FiboSMS's Avatar
 
Status: Fibosms.com
Tham gia ngày: Jun 2008
Bài gởi: 839



Default

Đã thay đổi IP mới :202.158.244.73

Em đọc bài viết này để hiểu rõ hơn : http://forum.fibo.vn/showthread.php?t=2233
__________________
FiboSMS Team
Simple - Effective

FiboSMS is offline   Trả Lời Với Trích Dẫn
Old 08-12-2008, 12:33 PM   #9
cohoidipmay
 
Status: Thành viên
Tham gia ngày: Nov 2008
Bài gởi: 19



Smile Giúp làm site đấu giá ngược

anh fibo ơi em muốn làm trang đấu giá ngược. Em viết code gần chết mà vẫn báo lỗi. không hiểu tại sao, anh giúp em làm trang này nha. Chức năng như sau:
khi khách hàng nhắn tới tin nhắn có dạng: sms ps [giá] goi 8122
- thi sẽ có thông báo phản hôi là giá của bạn đang duy nhất nếu chưa ai chọn giá đó
- ngược lại nó sẽ thông báo giá của bạn bị trùng.
Code của em như sau fibo xem thử giúp em nha
PHP Code:
<?php

if ($_SERVER['REMOTE_ADDR'] <> "203.171.30.222"){ 
        echo 
$_SERVER['REMOTE_ADDR']."can not access";
        exit();
    }

function 
ReplaceSpecialCharsForXML($strString)
{
    
$strRet="";
    if (
$strString != NULL)
    {
        
$strRet str_replace("\"",""",$strString);
        $strRet = str_replace("
&","&",$strRet);
         $strRet = str_replace("
","&apos;",$strRet);
         $strRet = str_replace("'","&apos;",$strRet);
        $strRet = str_replace("<","<",$strRet);
        $strRet = str_replace(">", ">",$strRet);
    }
    return $strRet;
}

$cuphap=strtoupper($_REQUEST['
message']);
$phone= $_REQUEST['
phone'];
$service=$_REQUEST['
service'];
$outb = md5(uniqid(rand(), true));
$tmp=explode(" ",$cuphap);
if($tmp[0]=='
sms'&&$tmp[1]=='ps')
{
//tao ket noi va luu tru vao bien $db
$db=mysql_connect("localhost",fibo1456","28452");

//kiem tra ket noi
if((!$db)
    {
        echo "khong the ket noi csdl"
        exit;
    }

// chon CSDL
$db_selected = mysql_select_db("fibo1456_csdl",$db);

// kiem tra CSDL
if(!db_selected)
    {
    die (" khong the ket noi csdl :"" .mysql_error());
    }

// truy van bang CSDL va them du lieu
$query ="select tin_nhan FROM table WHERE tin_nhan=$tmp[2];
$result= @mysql_query($query);
if(mysql_num_rows($result)==0) {
    $query="insert into tin_nhan values ($tmp[2]))";
    echo '
<ClientResponse>
                    <
Message>
                        <
PhoneNumber>'.$phone.'</PhoneNumber>
                        <
Message>Gia '.$tmp[2].' dang duy nhatco hoi chien thang dang trong tam tay ban.</Message>
                        <
SMSID> -1</SMSID>
                        <
ServiceNo>'.$service.'</ServiceNo>
                    </
Message>
                </
ClientResponse>';
}
else{
    echo '
<ClientResponse>
                    <
Message>
                        <
PhoneNumber>'.$phone.'</PhoneNumber>
                        <
Message>Gia '.$tmp[2].' da bi trungChuc ban may man lan sau.</Message>
                        <
SMSID> -1</SMSID>
                        <
ServiceNo>'.$service.'</ServiceNo>
                    </
Message>
                </
ClientResponse>;
}
}
// dong ket noi
mysql_close($db);
?>
Với lại em dùng host fibo nên anh kiểm tra dùm e dòng này có đúng hay không nha
$db=mysql_connect("localhost",fibo1456","28452");
sever cua fibo em cho là localhost ko biet co dung hay ko nua
fibo1456 la usnames dang nhap vao he thong fibo
con 28452 la pass vao he thong fibo

thay đổi nội dung bởi: cohoidipmay, 08-12-2008 lúc 12:37 PM
cohoidipmay is offline   Trả Lời Với Trích Dẫn
Old 02-04-2009, 07:50 PM   #10
tuan9632
 
Status: Thành viên nhiệt tình
Tham gia ngày: Aug 2008
Đến từ: Thành phố Hồ Chí Minh
Bài gởi: 103



Default

mysql_num_rows($result)==0
bạn đã tạo data đúng như khai báo trong code chưa
__________________
Y!M: only_oneheart.tuan
Mail: tuan9632@gmail.com
Hỗ trợ thiết lập Forum VBB, host, domain của Fibo, vv.vv Free
Fibo Web | Fibo Pay | Fibo SMS | Chợ domain | Server Free | Hosting Free | Hỗ trợ Free
[Sự kiện] Ta giúp Fibo, Fibo giúp ta
tuan9632 is offline   Trả Lời Với Trích Dẫn

Trả lời

Ðiều Chỉnh
Xếp Bài

Quuyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code đang Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt
Chuyển đến