ساخت یک فایل PHP

حل شده 

PHP

توسط thearrow در 3 سال پیش
0 1.9k 3 3 سال پیش
thearrow rezamax
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

پاسخ ها

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 دلیل: توضیح بیشتر

خوش آمدید

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

لطفا ابتدا لاگین کنید