حل شده

ساخت یک فایل PHP

بازدید66.9kپست ها3آخرین فعالیت9 سال پیش
0
0

سلام من کد HTML زیر رو دارم که مربوط به جستجو در یک سایت هست:

<html>
  <head>
    <title>Search</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  </head>
  <body>
  <form action="http://mySite.com/search.html" method="POST">
  <input onkeypress=FKeyPress(this); onkeydown=FKeyDown(this); size="25" type="text" name="query" value="" id="textBoxV"/>
  <input type="submit" value="Search" id="pressButton"/>
  </form>
</html>

توی ویندوزفون نتونستم کدی برای InvokeMember تا الان پیدا کنم، واسه همین یه فکری زد به سرم.
چطوری کد بالا رو توی PHP پیاده سازی کنم طوری که بشه توی HEADER متن رو با استفاده از متد POST ارسال کرد و نتایج رو بهم توی صفحه ی مورد نظر نشون داد؟(من از PHP هیچی بلد نیستم!!!! اگه میشه کدشو بدید)
قبلا سوالی شبیه به این سوال پرسیده بودم (تقریبا 6ماه پیش)
http://www.softafzar.net/thread-2404
اما جوابی پیدا نکردم.
اما الان راه حلش رو دارم اما PHP بلد نیستم. اصلا آیا چیزی که من میخوام به PHP امکان پذیر هست که بشه توی HEADER متن رو ارسال کرد و روی دکمه مورد نظر کلیک کرد یا نه؟

ممنون

آخرین ویرایش: 14-02-2015 ???? 16:56، توسط The Arrow

3 پاسخ

2

سلام
این نحوه فرستادن درخواست POST به یه آدرسه:

// Get cURL resource
$curl = curl_init();
// Set some options - we are passing in a useragent too here
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'http://testcURL.com',
    CURLOPT_USERAGENT => 'Codular Sample cURL Request',
    CURLOPT_POST => 1,
    CURLOPT_POSTFIELDS => array(
        item1 => 'value',
        item2 => 'value2'
    )
));
// Send the request & save response to $resp
$resp = curl_exec($curl);
// Close request to clear up some resources
curl_close($curl);

بعد نتیجه هم تو متغیر resp$ ریخته میشه.

روش جدیدتر بدون استفاده از cURL:

$url = 'http://server.com/path';
$data = array('key1' => 'value1', 'key2' => 'value2');

// use key 'http' even if you send the request to https://...
$options = array(
    'http' => array(
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
        'method'  => 'POST',
        'content' => http_build_query($data),
    ),
);
$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);

var_dump($result);

رو دکمه چرا میخوای کلیک کنی؟ اگر بیشتر توضیح بدی که میخوای چیکار کنی میتونیم بهتر کمک کنیم.

آخرین ویرایش: 14-02-2015 ???? 17:16، توسط REza mAX
0

ممنون اما من که نفهمیدم چی  شد!
نگاه وقتی روی دکمه کلیک بشه توی سایت مورد نظر، شروع به جستجو میکنه
این لینک رو نگاه کن:
http://windowstore.ir/1.html
وقتی روی Search کلیک میکنی توی سایت مورد نظر جستجو رو انجام میده.

2

خوب از همون روش باید استفاده کنی

<?php

$data = array('query' => 'mTOO');
// Get cURL resource
$curl = curl_init();
// Set some options - we are passing in a useragent too here
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'http://rap3da153.com/search.html',
    CURLOPT_USERAGENT => 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)',
    CURLOPT_POST => 1,
    CURLOPT_POSTFIELDS => array(
        query => 'mToo'
    )
));
// Send the request & save response to $resp
echo $resp = curl_exec($curl);
// Close request to clear up some resources
curl_close($curl);

نتیجه جست و جو تو کد اچ تی ام ال هست.
وقتی روی Search کلیک میکنی عبارت جست و جو به همون آدرس http://rap3da153.com/search.html فرستاده میشه و نتیجه تو صفحه میاد. حالا ما کاری با صفحه ای که شما ساختی و دکمه search نداریم ما هم با استفاده از cURL عبارتی رو برای جست و جو میفرستیم و نتیجه رو دریافت میکنیم که بصورت کد  html هست.

آخرین ویرایش: 14-02-2015 ???? 18:47، توسط REza mAX دلیل: توضیح بیشتر

سوال برنامه نویسی دارید؟

ندونستن عیب نیست، نپرسیدن چرا!

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.