• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
تابع getprotobyname و مشکل با if
#1
یه توضیح در مورد این تابع بدم به ازای هر پروتکل مشخص شده در فایل /etc/protocols شماره پروتکل مرتبط با نام پروتکل را بر میگردونه .

حالا سوال اینجاست که شرط چرا برابر با -1 در نظر گرفته شده من برابر با 1 هم قرار دادم بازم کار کرد میخواستم ببینم چه فرقی داره و دوم اینکه یه پروتکل اینولید هم میذارم echo "protocol is invalid برقرار نمیشه .
کد:
<?php
$porotocol="tcp";
$get_report=getprotobyname($porotocol);

if ($get_report==-1) {
    //if nothing found return -1
    echo "protocol is invalid";
}else {
    echo "rotocol is $get_report";
}
?>
  پاسخ
تشکر شده توسط :
#2
آخه این تابع برخلاف چیزی که توی منوال نوشته بجای -1 مقدار false رو برمی گردونه !!!
از تابع var_dump استفاده کنید و نتیجه رو مقایسه کنید ...
  پاسخ
تشکر شده توسط : Padideh
#3
من یه خورده تغییرش دادم ببین درسته %100 نیست

کد:
<?php
$porotocol="tcp";
$get_report=getprotobyname($porotocol);
$var=var_dump($get_report);
if ($var==-1) {
    //if nothing found return -1
    echo "protocol is invalid";
}else {
    echo "protocol is $var";
}
?>
  پاسخ
تشکر شده توسط :
#4
خب اول از اینکه از یه تابع استفاده کنی برو و منوال و درباره اونتابع بخون
لینک : http://ir2.php.net/manual/en/function.var-dump.php

خب تابع var_dump معمولا برای پیدا کردن خطا مفیده.
و این استفاده شما اصلآ درست نیست. منظور من از استفاده از var_dump این بود که خطا رو متوجه بشید
بهتره کد رو به این شکا اصلاح کنید :
کد پی‌اچ‌پی:
<?php
$porotocol
="tcp";
$get_report=getprotobyname($porotocol);

if (
$get_report==false) {
    
//if nothing found return -1
    
echo "protocol is invalid";
}else {
    echo 
"rotocol is $get_report";
}
?>

خب می خوام عذر کنم به این علت که ...
چند وقت پیش به چند علت در iranphp غایب بودم ولی در عوض دیدم که فعالیت برخی از دوستان خیلی بالا رفت و خیلی فضایه خوبی درست شد ... ( در ممورد مسایل مقدماتی )
پس منم به غیبتم ادامه دادم و همچنان فضا بهتر شد
و من تصمیم گرفتم خودم رو باز نشسته کنم چون واقعا خوشحال بودم از وضعیتی که پیش اومده بود
خاستم یه کار ارایه بدم و تا حدود خیلی کمی دینم رو به iranphp ادا کنم و بعد ...
اما ناخودآگاه (چون دوست داشتم سریع جواب سوال کننده رو بدم تا سریع کارش راه بیفته) باز برگشتم سر کاره قبلیم. واسه همین از همه عذر می خوام بخصوص از حسین و علیرضا ( اسکندرپور ) Confused Confused
  پاسخ
تشکر شده توسط : Padideh paull parvane
#5
امین جان ادم هر چی هم کار داشته باشه بازم میتونه سری به این محیط دوستانه بزنه حیف اساتیدی مثل شما بخوان برن ایشالله هیچ وقت این اتفاق برای شما و هیچ یک از دوستان نیوفته HeartHeartHeartHeartHeart
  پاسخ
تشکر شده توسط :


پرش به انجمن:


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