mohammadangizi
پنج شنبه 12 اسفند 1395, 13:26 عصر
با عرض سلام خدمت اساتید محترم بنده در حال برنامه نویسی یک برنامه با php هستم که بتوانیم از یک سرور دیگر اطلاعاتی مانند شماره سریال کارت ماشین یا شماره گواهینامه را به سایت راهور بفرستم و اطلاعات دریافتی را ارسال کنم و به کاربر نمایش دهم این کار رو برای ایجاد ربات راهور در تلگرام می خواهیم انجام دهیم که من زبان php را برای انجام این کار برگزیدم.
فقط در حین برنامه نویسی و اجرای کد به یک مشکلی بر خودم که نمی دانم آن را چگونه رفع کنم و از اساتیدی که در این کار حرفه ای می باشند درخواست راهنمایی میخواهم.
ابتداع این لینک را مشاهده نمایید.
http://estelam.rahvar120.ir/index.jsp?siteid=1&fkeyid=&siteid=1&pageid=2371666
در این صفحه اطلاعات زیر با متد POST به سرور ارسال می شه و در صورت بررسی و صحت اطلاعات به آدرس زیر منتقل می شه
http://estelam.rahvar120.ir/index.jsp?siteid=1&fkeyid=&siteid=1&pageid=2542
من یک برنامه با استفاده از curl نوشتم که اطلاعات رو ارسال میکنه اطلاعات رو که وارد میکنم فقط پیغام "لطفا منتظر بمانید ..." رو نمایش می ده و جلوتر نمیره تا اطلاعات بعدی رو نمایش بده.
نمونه کد نوشته شده + اسکرین شات رو براتون می زارم تا مشکل رو ببینید و بررسی کنید.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>استعلام تخلفات رانندگی و نمره منفی</title>
</head>
<body>
<?php
if(isset($_POST['send'])){
$aform = $_POST['aform'];
$rc = $_POST['rc'];
$duration = $_POST['duration'];
$hashtraghami = $_POST['hashtraghami'];
$capcha = $_POST['capcha'];
// آماده سازی داده ها
$data = array();
$data['aform'] = $aform;
$data['rc'] = $rc;
$data['duration'] = $duration;
$data['hashtraghami'] = $hashtraghami;
$data['capcha'] = $capcha;
// آماده سازی داده ها برای ارسال
$post_str = '';
foreach($data as $key=>$val) {
$post_str .= $key.'='.urlencode($val).'&';
}
$post_str = substr($post_str, 0, -1);
// تصال به URL مورد نظر
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://estelam.rahvar120.ir/index.jsp?siteid=1&fkeyid=&siteid=1&pageid=2371666');
/* ارسال(submit) داده ها */
## ابتدا بهcURL اعلام می کنیم که می خواهیم با متد POST داده ارسال کنیم
curl_setopt($ch, CURLOPT_POST, TRUE);
## سپس داده هایی(فیلدهایی) را که می خواهیم ارسال کنیم به cURL تحویل می دهیم
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_str);
## در نهایت با استفاده از curl_exec داده ها را ارسال کرده و پاسخ را دریافت می کنیم و نمایش می دهیم(البته ممکن است شما با regular expression داده ها را دستکاری و یا چک کنید سپس پسغام دلخواه را به کاربر نمایش دهید)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
}
?>
<form action="" method="post" autocomplete="off" enctype="application/x-www-form-urlencoded" dir="rtl">
<input name='aform' value='add' type='hidden'/>
<input name='rc' value='ELSHANCO0RAHVAR' type='hidden'/>
<input name='duration' id='duration' value="0" type='hidden'/>
<p><input type="text" name="hashtraghami" id="hashtraghami" dir="ltr" maxlength="8" size="8" onkeypress='return onlyNumbers(event);'></p>
<p><img src="http://estelam.rahvar120.ir/includes/captcha.jpg?rand=<?php echo rand(1,100); ?>"><br><input type="text" value="" name="capcha" id="capcha" dir="ltr" maxlength="6" size="6"></p>
<p><input type="submit" name="send" id="send" value="استعلام"></p>
</form>
<script language=javascript>
function onlyNumbers(evt){var charCode = (evt.which) ? evt.which : event.keyCode;if (charCode > 31 && (charCode < 48 || charCode > 57))return false;return true;}
</script>
</body>
</html>
اسکرین شات صفحه 1
144612
اسکرین شات صفحه 2
144613
فقط در حین برنامه نویسی و اجرای کد به یک مشکلی بر خودم که نمی دانم آن را چگونه رفع کنم و از اساتیدی که در این کار حرفه ای می باشند درخواست راهنمایی میخواهم.
ابتداع این لینک را مشاهده نمایید.
http://estelam.rahvar120.ir/index.jsp?siteid=1&fkeyid=&siteid=1&pageid=2371666
در این صفحه اطلاعات زیر با متد POST به سرور ارسال می شه و در صورت بررسی و صحت اطلاعات به آدرس زیر منتقل می شه
http://estelam.rahvar120.ir/index.jsp?siteid=1&fkeyid=&siteid=1&pageid=2542
من یک برنامه با استفاده از curl نوشتم که اطلاعات رو ارسال میکنه اطلاعات رو که وارد میکنم فقط پیغام "لطفا منتظر بمانید ..." رو نمایش می ده و جلوتر نمیره تا اطلاعات بعدی رو نمایش بده.
نمونه کد نوشته شده + اسکرین شات رو براتون می زارم تا مشکل رو ببینید و بررسی کنید.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>استعلام تخلفات رانندگی و نمره منفی</title>
</head>
<body>
<?php
if(isset($_POST['send'])){
$aform = $_POST['aform'];
$rc = $_POST['rc'];
$duration = $_POST['duration'];
$hashtraghami = $_POST['hashtraghami'];
$capcha = $_POST['capcha'];
// آماده سازی داده ها
$data = array();
$data['aform'] = $aform;
$data['rc'] = $rc;
$data['duration'] = $duration;
$data['hashtraghami'] = $hashtraghami;
$data['capcha'] = $capcha;
// آماده سازی داده ها برای ارسال
$post_str = '';
foreach($data as $key=>$val) {
$post_str .= $key.'='.urlencode($val).'&';
}
$post_str = substr($post_str, 0, -1);
// تصال به URL مورد نظر
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://estelam.rahvar120.ir/index.jsp?siteid=1&fkeyid=&siteid=1&pageid=2371666');
/* ارسال(submit) داده ها */
## ابتدا بهcURL اعلام می کنیم که می خواهیم با متد POST داده ارسال کنیم
curl_setopt($ch, CURLOPT_POST, TRUE);
## سپس داده هایی(فیلدهایی) را که می خواهیم ارسال کنیم به cURL تحویل می دهیم
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_str);
## در نهایت با استفاده از curl_exec داده ها را ارسال کرده و پاسخ را دریافت می کنیم و نمایش می دهیم(البته ممکن است شما با regular expression داده ها را دستکاری و یا چک کنید سپس پسغام دلخواه را به کاربر نمایش دهید)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
}
?>
<form action="" method="post" autocomplete="off" enctype="application/x-www-form-urlencoded" dir="rtl">
<input name='aform' value='add' type='hidden'/>
<input name='rc' value='ELSHANCO0RAHVAR' type='hidden'/>
<input name='duration' id='duration' value="0" type='hidden'/>
<p><input type="text" name="hashtraghami" id="hashtraghami" dir="ltr" maxlength="8" size="8" onkeypress='return onlyNumbers(event);'></p>
<p><img src="http://estelam.rahvar120.ir/includes/captcha.jpg?rand=<?php echo rand(1,100); ?>"><br><input type="text" value="" name="capcha" id="capcha" dir="ltr" maxlength="6" size="6"></p>
<p><input type="submit" name="send" id="send" value="استعلام"></p>
</form>
<script language=javascript>
function onlyNumbers(evt){var charCode = (evt.which) ? evt.which : event.keyCode;if (charCode > 31 && (charCode < 48 || charCode > 57))return false;return true;}
</script>
</body>
</html>
اسکرین شات صفحه 1
144612
اسکرین شات صفحه 2
144613