• 1 رای - 1 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در فراخوانی تابع
#1
با سلام

من یه تابع نوشتم به این صورت

کد پی‌اچ‌پی:
function get_model_info($model)
            {
             
$query="select * from mobile where model_name='".$model."' limit 1";
             
                  return 
$query;
                  }
            
// $telegram = null;
            
$query=get_model_info($text);
            
$telegram->query=$query;
             
$telegram->runqury();
             
$result=$telegram->queryresult;
             
$text=urlencode($result->fetch_object()->info);
         
                    
        
// get_model_info($text);
         
         
$telegram->sendmessage($userid$text); 
موقع اجرا این خطا رو میده
[03-Jul-2017 12:11:03 Asia/Tehran] PHP Warning: file_get_contents(https://api.telegram.org/bot393679599:AA...&text=): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
in telegram.php on line 49

خط 49 هم این هست
کد پی‌اچ‌پی:
public function sendmessage($userid,$text)
  {
    
$url='https://api.telegram.org/bot'.$this->token.'/sendmessage?chat_id='.$userid.'&text='.$text;
       
file_get_contents($url);
     } 

میشه دوستان کمک کنن
  پاسخ
تشکر شده توسط :
#2
سلام

بهتره که یه بار به جای this$ -> token مقدار توکن رو مستقیما بذاری .
چون تجریه شخصی من برای کار کردن string ها تو php اینه که تا جایی که می تونی experssion مثله همین نذاری

و یک چیز دیگه اینکه $userid و $text رو وقت فراخوانی تابع مقدار دهی کردی ؟ چون تو چیزی که نوشتی مقدار دهی نشدن!

علاوه بر این من خودم رو چند تا بات کار کردم . اصولا file_get_contents نباید برای اجرای http request استفاده شه . اگر چه کار هم می کنه ولی به جاش می تونی از curl استفاده کنی که برای همین کار استفاده میشه . سرعتشم بیشتره و کاربردش هم دقیقا همین کاره
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان