برگزیده های پرشین تولز

سؤال: ارسال متغير Post بدون Form

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
به نقل از Parsa_361 :
نمی دونم چرا نمی تونی عکس رو ببینی، من دارم اونو می بینم. آدرسش اینه :
http://www.shop2shop.net/download/error1.gif

من با تمام dll ها هم همین کار رو کردم ولی باز هم وقتی Apache رو دوباره ران می کنم تو یه پیغام این ارور رو می ده :
Unknown: Unable to load dynamic library './php_curl.dll' - The specifiend module could not be found
(عکس بالا)

لطفاً راهنمایی کنید
البته با اجازه آقا artin، این ارورر همونطور که گفتند برای اینکه دوتا dll برای curl لازمه.

1. ssleay32.dll
2. libeay32.dll

این دوتارو از فولدر dlls ه PHP تو خود فولدره PHP یا ویندوز یا جایی که سیستم میشناسه باید کپی کنید. رو سرور هم باید تو bin بریزید.

در مورد روش دیگه ، باید هدر رو در PHP تغییر بدید که خیلی سخته باید به HTTP1.1 آشنا باشید.

تا بعد... ;)
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
گفتم که با هر چی dll بود این کارا رو کردم، با اونای تو شاخه اصلی هم همین طور ولی بازم این ارور رو می ده.

راستی من اون دوتا dll رو که آقای balabala گفتند ندارم :(
اگه مشکل اون دو تا dll هست لطفاً بگین که از کجا می تونم تهیه کنم.

هنوز error می ده :( :( :( :( :( :( :( :( :( :(
 

artin

کاربر تازه وارد
تاریخ عضویت
19 می 2004
نوشته‌ها
2,114
لایک‌ها
2
اینارو باید داشته باشی
با search خود ویندوز بگرد ببین پیدا می کنه یا نه

ورژن php رو بگو من اون فایل هارو برات آپلود کنم
البته نمی دونم ورژن خود PHP توش تاثیر داره یا نه ولی به احتمال قوی بی تاثیر نیستند

خوب من برات برای دو ورژنش رو آپلود می کنم

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

DLL's For PHP 4.3.10

DLL's For PHP 5.0.3
 

miladmovie

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
1,939
لایک‌ها
3
سن
39
تا آلان بحث گرمه !
من می خوام یک کاری دیگه بکنم !
وقتی یک صفحه رو به وصورت post می فرستم بعد از اینکه یک سری کارها انجام شد می دونید که اگر دوباره refresh رو بزنه دوباره اون تیکه از کد ممکنه اجرا بشه !
توی فکرم که بعد از انجام کارها با تغیر هدر به get از این کار جلوگیری کنم !
ولی تا آلان همه چیز نشون می ده که چنین کاری غیر ممکن است !
 

artin

کاربر تازه وارد
تاریخ عضویت
19 می 2004
نوشته‌ها
2,114
لایک‌ها
2
میلاد
منظورت با FORM معمولیه یه با این curl ?
با این curl که دستت بازه و چون تو سرور اجرا میشه دیگه دستت بازه
حالا با session یا cookies یا حتی دیتابیس می تونی جلوی این کار رو بگیری
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
کار کرد :D :rolleyes: :D

دستتون درد نکنه نمی دونید چه لطف بزرگی به من کردید.
راستی اون دو تا dll هم داشتم.
یکی از بدی ها یا خوبی های این cURL اینه که وقتی متغیر های Post ارسال میشن مرور گر به صفحه ای که متغیر ها ارسال می شوند هدایت نمی شه در حقیقت مثل این می مونه که صفحه ای که قرار است به آن متغیر ها ارسال شوند به صفحه ی فعلی include می شه.
این خودش ضرر ها و سود هایی داره.
راستی ورژن PHP من 4.3.11 است.

و اما مشکل من :
اصلاً من همه ی این کار ها رو کردم که این کارو بکنم، اما مثل این که PHP نمی خواد با من راه بیاد :
من 3 تا صفحه دارم :
صفحه ی اول به نام curl.php توش اینا رو نوشتم :
PHP:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/111.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "ab=bc");
$data = curl_exec($ch);
curl_close ($ch);
?>

صفحه دوم به نام 111. php اینا رو توش نوشتم :
PHP:
<?PHP
if (isset($_POST['ab'])) {
	print $_POST['ab'];
	header("Location: 1.php");
}
?>

صفحه سوم به نام 1.php که فرقی نداره توش چی بنویسیم.

من اول صفحه curl.php رو اجرا می کنم الآن حالا باید مرور گر منتقل بشه به صفحه 1.php ولی این طور نمی شه فقط می نویسه bc یعنی تایع ()header در صفحه 111.php کار نمی کنه :(

لطفاً کمک کنید
 

artin

کاربر تازه وارد
تاریخ عضویت
19 می 2004
نوشته‌ها
2,114
لایک‌ها
2
اینجوریش کن

PHP:
<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://localhost/111.php"); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, "ab=bc"); 


curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);


$data = curl_exec($ch); 
curl_close ($ch); 

echo $data ;
?>
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
آقا متشکرم، درست شد. :D
فقط می شه درباره اون دوتا خطی که اضافه کردین توضیح بدین و بگین چیکار می کنن آخه چون یکم عجیبن. :eek:

mer30

:D :D :D :D :D
 

amin007110

کاربر فعال نرم افزار
کاربر فعال
تاریخ عضویت
8 مارس 2004
نوشته‌ها
3,790
لایک‌ها
37
سن
43
محل سکونت
No.20, Esfahan, Iran
منم همون خطا رو برای نصب Curl دارم ولی با IIS کار می کنم نه Apache .اون فايل های dll رو هم دارم. چيکار می شه کرد ؟ است. راستی تو فايل install.txt توضيح داده بود که تو فايل php.ini آدرس فلدر extension ها رو بدين و فايل های dll مورد نياز extension ها رو اونجا بريزين. من کردم and no فايده. what is the problem ?
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
46
با این بابا curl میشه snapshot گرفت از صفحه؟
 

amin007110

کاربر فعال نرم افزار
کاربر فعال
تاریخ عضویت
8 مارس 2004
نوشته‌ها
3,790
لایک‌ها
37
سن
43
محل سکونت
No.20, Esfahan, Iran
من dll ها رو از تو فولدر XAMPP کپی کردم مشکل حل شد. حالا اينکه ايراد کار قبلاً چی بوده نمی دونم.
 

Phoenix666

Registered User
تاریخ عضویت
15 دسامبر 2007
نوشته‌ها
62
لایک‌ها
1
دوستان یه سوال داشتم :
من یک فرم دارم مثلا form.htm این فرم action اش send.php هست , می خواستم ببینم میشه یه جوری با این curl ارسال کرد که در فایل htm بشه دیتا داد ؟ یعنی اصلا send.php رو بهش ندیم. (حالا فرض کنید بنا به دلایلی فقط از طریق form.htm میشه به send.php متغیر پاس داد)
نمی دونم منظور منو فهمیدید یا نه اگر کمک کنید ممنون میشم.
 
بالا