PDA

View Full Version : POST کردن با PHP



arenaw
چهارشنبه 07 فروردین 1392, 21:29 عصر
سلام
چطوری میتونم با کدهای پی اچ پی، یک سری اطلاعات رو به یه فایل پی اچ پیه دیگه پست کنم؟ البته میتونم یه لینک درست کنم و با متد گت بفرستم، ولی مثلا چون یکی ازین اطلاعات پسورد هستش، حتما میخوام پست بشه.

من تازه اومدم تو این بخش و تازه حدود 1 ماهه پی اچ پی رو شروع کردم، ببخشید که زیاد سوال میپرسم

siavashsay
چهارشنبه 07 فروردین 1392, 21:33 عصر
دوست عزیز !
این از مقدماتی ترین کارهاست ! کافیه یک فرم درست کنید ! Method اون رو POST بذارید ! بعد فیلدهای مورد نظر رو با دستور

$password=$_POST['password'];
بگیرید ! راه زیادی دارید پس
موفق باشید

arenaw
چهارشنبه 07 فروردین 1392, 21:59 عصر
فکر کنم منظورمو بد متوجه شدید یا بد گفتم، من میخوام از داخل فایل پی اچ پی این کارو کنم، نه از داخل HTML ! بدون دخالت کاربر
نگاه کنید، الان با گت خیلی راحت میتونم این کارو کنم (آرایه فیلدس، اطلاعاتیه که میخوام بفرستم) :


$fields = array(
'eml'=>$eml,
'fnm'=>$fnm,
'lnm'=>$lnm,
//'psw'=>$psw,
//'psw2'=>$psw2,
'bthd'=>$bthd,
'bthm'=>$bthm,
'bthy'=>$bthy,
'diad'=>$diad,
'diam'=>$diam,
'diay'=>$diay,
'cty'=>$cty,
'gnd'=>$gnd,
'abt'=>$abt
);
$postvars='';
$sep='';
foreach($fields as $key=>$value)
{
if($value){
$postvars.= $sep.$key.'='.str2hex($value);
$sep='&';
}
}
$postvars.= $sep."err=".str2hex($bck);
$url="http://localhost/9mom/signup.php";
header("Location: $url?$postvars");


ولی میخوام به جای ساختن لینک و ریدایرکت کردن، پست کنم این اطلاعاتو

mamali-mohammad
پنج شنبه 08 فروردین 1392, 00:16 صبح
از فرم مگه استفاده نمی کنی ؟

<form action="up.php" method="POST">

$ M 3 H R D A D $
پنج شنبه 08 فروردین 1392, 00:27 صبح
با سوکت
با کرل
با جاوا اسکریپت یا جی کوئری

$ M 3 H R D A D $
پنج شنبه 08 فروردین 1392, 00:28 صبح
http://barnamenevis.org/showthread.php?274822-%DA%A9%D9%84%D8%A7%D8%B3%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A8%D8%A7%D8%B2-%DA%A9%D8%B1%D8%AF%D9%86-%D8%B5%D9%81%D8%AD%D8%A7%D8%AA-%D9%88%D8%A8-%D8%A8%D8%A7-PHP-%D8%AF%D8%B1%D9%88%D9%86-%D8%B3%D8%B1%D9%88%D8%B1

arenaw
پنج شنبه 08 فروردین 1392, 01:38 صبح
از جاوا نمیخوام استفاده کنم اصلا.
راجع به سوکت : من نمیخوام اطلاعتو بفرستم و با جوابی که ازون صفحه میاد کاری کنم! من میخوام دقیقا کاری که دکمه سابمیت اچ تی ام ال میکنه رو با کد های پی اچ پی امجام بدم. یه آدرس دارم و یه سری دیتا، فقط میخوام اون صفحه با این اطلاعاتی که بهش فرستادم لود شه، مثله همین کاری که توی پست #3 کردم، منتها میخوام از متد پست استفاده کنم.

(البته من اطلاعاتی نداشتم راجع به سوکت، چیزی که الان از لینکی که دادین متوجه شدم این بود)

siavashsay
پنج شنبه 08 فروردین 1392, 08:16 صبح
دوست عزیز ! راههای مختلف رو بچه ها گفتن ! تنها راه ایجاد و تغییر Header هست که اونم باز باید با جاوا ادغام شه !
اگر اطلاعاتتون سری هست مثل پسود بهتره از SESSION برای ارسال اونها استفاده کنید نه از GET یا POST ( چون پست که نمیشه ) ! و بعد از استفاده از Session های مربوط اونها رو unset کنید تا دیگه در دسترس نباشن !
موفق باشید

rezaonline.net
پنج شنبه 08 فروردین 1392, 09:41 صبح
میخوای همزمان ارسال کنی بعد بری به اون صفحه ؟

$Curl_Session = curl_init("http://example.php/post.php");
curl_setopt ($Curl_Session, CURLOPT_POST, 1);
curl_setopt ($Curl_Session, CURLOPT_POSTFIELDS, 'name=reza&email=123');
curl_setopt ($Curl_Session, CURLOPT_FOLLOWLOCATION, 1);
curl_exec ($Curl_Session);
curl_close ($Curl_Session);

توی صفحه post.php هم بنویس

print_r($_POST);

redhat2
پنج شنبه 08 فروردین 1392, 10:01 صبح
میخوای همزمان ارسال کنی بعد بری به اون صفحه ؟

$Curl_Session = curl_init("http://example.php/post.php");
curl_setopt ($Curl_Session, CURLOPT_POST, 1);
curl_setopt ($Curl_Session, CURLOPT_POSTFIELDS, 'name=reza&email=123');
curl_setopt ($Curl_Session, CURLOPT_FOLLOWLOCATION, 1);
curl_exec ($Curl_Session);
curl_close ($Curl_Session);

توی صفحه post.php هم بنویس

print_r($_POST);
میشه یه آموزش از ابندا از Curl بذارین .

rezaonline.net
پنج شنبه 08 فروردین 1392, 13:21 عصر
چیز خاصی نداره.
یه init داره
بعدش آپشن ها رو اضافه میکنید که توی مستندات پی اچ پی تموم آپشن ها توضیح داده شده .
بعد اجرا میکنید exec بعد هم میبندید close .
همین .

cooper47
پنج شنبه 08 فروردین 1392, 16:23 عصر
اکثرا این روش رو نمیدونند
نیاز به پست اطلاعات با سوکت یا کرل یا چیز های دیگه نیست !

ساده ترین راه رو بیان میکنم



$postdata = http_build_query(
array(
'var1' => 'some content',
'var2' => 'doh'
)
);


$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);

$context = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);


ارایه $postdata اطلاعات شما هست ، به صورت

motaghayer => meghdar

Unique
پنج شنبه 08 فروردین 1392, 19:37 عصر
فقط یک موضوعی این وسط هست که file_get_contents خیلی کندتر از curl هست و بعضی درخواست های file_get_contents که ۲ یا ۳ ثانیه طول میکشه برای curl زیر 1 ثانیه هست ، این موضوع توی بعضی از موارد خیلی تاثیر گذاره.