فرستادن آرایه با متد post

masima

Member
سلام
چطوری میتونم یک آرایه (اندیس و مقدار) رو با $_post بفرستم ؟

پیشاپیش از راهنماییتون سپاسگزارم
 

phpweb

Active Member
منظورتون از ارسال آریه چی هست؟ می خواید با استفاده از متد پست، فروم خودتون رو ارسال کنید؟

یه کد که می تونید با استفاده از اون، مقادیر و کلیدهای مورد نظر خودتون رو توی آرایه پست بوجود بیارید.
PHP:
$_POST[key1]='word1';
$_POST[key2]='word2';
$_POST[key3]='word3';
$_POST[key4]='word4';
$_POST[key5]='word5';
 

masima

Member
سپاسگزارم از شما.
من میخواستم اطلاعات فرم رو با استفاده از آرایه با مشخص کردن اندیس به وسیله متد پست بفرستم که به لطف خدا و تلاشم انجام شد!
روش من با این فرق میکنه!

شما توی کدتون به خود متد پست مقدار دادید؟! در حالی که من تا جایی که میدونم ما از مقدار موجود در متغیر پست استفاده میکنیم.
اگه اشتباه میکنم میشه بگین چه وقت ما به خود متغیر پست مستقیم مقدار میدیم؟
میشه توضیح بدین؟ مثلا فرم رو چجوری میفرستین ؟ یک فرم ساده مثل نام و نام خانوادگی؟ !

این جوری به نظر میرسه که یک صفحه بیشتر از یک بار باید به سرور بره درسته ؟
 

iran-TEC

Member
دوست عزیز phpweb در جواب سوال نامفهوم شما پاسخی درست ارائه کردند ولی در جواب شما باید بگم که تقریبا هیچ موقع پیش نمی یاد که مستقیما این آرایه مقدار گذاری بشه و اگه بخواهیم مقداری را به صفحات دیگر منتقل کنیم از session ها استفاده می کنیم .

برای ارسال یک فرم به روش post لازم هست که خصیصه method فرم را برابر با post بگذارید .
 

phpweb

Active Member
سپاسگزارم از شما.
من میخواستم اطلاعات فرم رو با استفاده از آرایه با مشخص کردن اندیس به وسیله متد پست بفرستم که به لطف خدا و تلاشم انجام شد!
روش من با این فرق میکنه!

شما توی کدتون به خود متد پست مقدار دادید؟! در حالی که من تا جایی که میدونم ما از مقدار موجود در متغیر پست استفاده میکنیم.
اگه اشتباه میکنم میشه بگین چه وقت ما به خود متغیر پست مستقیم مقدار میدیم؟
میشه توضیح بدین؟ مثلا فرم رو چجوری میفرستین ؟ یک فرم ساده مثل نام و نام خانوادگی؟ !

این جوری به نظر میرسه که یک صفحه بیشتر از یک بار باید به سرور بره درسته ؟
تیتر سوال شما "فرستادن آرایه با متد پست هست"

باید بگم که سوالتون نامفهوم هست. اگر می گفتید "فرستادن فرم با استفاده از متد پست" بهتر بود.

مقدار دادن به متد پست مشکلی نداره و مشکلی پیش نمی یاره.
 

masima

Member
در مورد تیتر معذرت منظورم این بود "فرستادن اطلاعات فرم به صورت آرایه با متد post "
مثلا
مثلا فرم رو چجوری میفرستین ؟ یک فرم ساده مثل نام و نام خانوادگی؟ !
که من در صفحه مقصد به صورت زیر به اون دسترسی دارم :
PHP:
$_POST['myForm']['name'];
$_POST['myForm']['family'];
که همونجور که گفتم، مسئله حل شده!

برای ارسال یک فرم به روش post لازم هست که خصیصه method فرم را برابر با post بگذارید .
مرسی ولی اینو که یه بچه دبستانی هم میدونه! :wink: :rose:
مقدار دادن به متد پست مشکلی نداره و مشکلی پیش نمی یاره.
ولی نگفتید کجا ازش استفاده میکنید ؟

خوب از توجه شما عزیزان سپاسگزارم :rose:
have a nice day!
 

phpweb

Active Member
در مورد تیتر معذرت منظورم این بود "فرستادن اطلاعات فرم به صورت آرایه با متد post "
مثلا

که من در صفحه مقصد به صورت زیر به اون دسترسی دارم :
PHP:
$_POST['myForm']['name'];
$_POST['myForm']['family'];
که همونجور که گفتم، مسئله حل شده!


مرسی ولی اینو که یه بچه دبستانی هم میدونه! :wink: :rose:

ولی نگفتید کجا ازش استفاده میکنید ؟

خوب از توجه شما عزیزان سپاسگزارم :rose:
have a nice day!

وقتی به کمک متد پست، فرم رو ارسال می کنید، مقادیری که ارسال کردید توی این آرایه قرار می گیره. برای دسترسی به مقادیر ارسالی، باید به شکل زیر عمل کنید. فقط کافیه که اسم فیلدی که توی فرم بکار بردید رو به عنوان ایندکس آرایه بکار ببرید تا به مقدار اون دسترسی داشته باشید.

PHP:
$_POST['name'];
$_POST['family'];

پیشنهاد می کنم که اول کتابهای آموزشی رو بخونید، چون نکات بسیار زیاد دیگه ای هست که باید توی برنامه نویسی بکار ببرید.
 

Masoud1365

مدیر انجمن
دوستان من فکر میکنم که منظورشون استفاده از عناصر فرم به صورتی هست که مقدار ارسال شده رو به صورت آرایه دوبعدی یا بیشتر برگردونه !
که میتونید اینطوری از فرم استفاده کنید :
کد:
<input name="data[index1][index2]" type="text" />
موفق
 

masima

Member
پیشنهاد می کنم که اول کتابهای آموزشی رو بخونید، چون نکات بسیار زیاد دیگه ای هست که باید توی برنامه نویسی بکار ببرید.
فقط کافیه که اسم فیلدی که توی فرم بکار بردید رو به عنوان ایندکس آرایه بکار ببرید تا به مقدار اون دسترسی داشته باشید.

چشم! این سفارشی که برای همه ما صدق میکنه، وگرنه که نمی اومدیم این فروم. ولی انگاری زیاد به حرفم دقت نکردین؛ من هم میدونم این جوری فرم رو میفرسن و بهش دسترسی دارن؛ ولی من میخواستم از روش پیشرفته تری استفاده کنم که اون رو هم راهش رو پیدا کردم؛

خوب بریم سر آموزش :

توی صفحه پر کردن فرم :
من فرم رو با php بر اساس تعداد کلیدهای آرایه ایجاد کردم :
PHP:
$myForm = array ('name', 'family');
echo "<form action=\"send.php\" method=\"post\" >";
foreach ($myForm as $key)    {
    echo "$key ";
    echo "<input type=\"text\" name=\"myForm[$key]\" /></br>";
    }
echo "<input type=\"submit\" value=\"send data\" />";
echo "</form>";
ولی میشه همونجور فرم معمولی رو با html هم ایجاد کرد ؛

خوب در صفحه send.php داریم :
PHP:
echo $_POST['myForm']['name'];
echo $_POST['myForm']['family'];
البته میشه توی این صفحه یک آرایه دیگه ایجاد کرد و به صورت زیر به اون دسترسی داشت :
PHP:
$arr_form = $_POST['myForm'];
echo $arr_form ['name'];
echo $arr_form ['family'];

 

phpweb

Active Member
چشم! این سفارشی که برای همه ما صدق میکنه، وگرنه که نمی اومدیم این فروم. ولی انگاری زیاد به حرفم دقت نکردین؛ من هم میدونم این جوری فرم رو میفرسن و بهش دسترسی دارن؛ ولی من میخواستم از روش پیشرفته تری استفاده کنم که اون رو هم راهش رو پیدا کردم؛

خوب بریم سر آموزش :

توی صفحه پر کردن فرم :
من فرم رو با php بر اساس تعداد کلیدهای آرایه ایجاد کردم :
PHP:
$myform = array ('name', 'family');
echo "<form action=\"send.php\" method=\"post\" >";
foreach ($myform as $key)    {
    echo "$key ";
    echo "<input type=\"text\" name=\"myform[$key]\" /></br>";
    }
echo "<input type=\"submit\" value=\"send data\" />";
echo "</form>";
ولی میشه همونجور فرم معمولی رو با html هم ایجاد کرد ؛

خوب در صفحه send.php داریم :
PHP:
echo $_post['myform']['name'];
echo $_post['myform']['family'];
البته میشه توی این صفحه یک آرایه دیگه ایجاد کرد و به صورت زیر به اون دسترسی داشت :
PHP:
$arr_form = $_post['myform'];
echo $arr_form ['name'];
echo $arr_form ['family'];

خب اینکار چه نتیچه و فایده ای داره؟
 

farik

Well-Known Member
باسلام..
فایدش اینه که شما اطلاعات رو نمیخواد تو 10 تا متغیر بریزین..تو یک ارایه میریزین....
موفق باشید
 

masima

Member
فایده که زیاد داره ؛ مثلا اگه شما بخواید فرمتون رو از نظر sql injection بررسی کنید؛ دیگه لازم نیست تک تک متغیر های $_POST رو داخل تابع بررسی تون ببرید ؛ کافیه یکبار آرایه رو داخل تابع بررسی ببرید ..
 

Masoud1365

مدیر انجمن
دیگه لازم نیست تک تک متغیر های $_post رو داخل تابع بررسی تون ببرید ؛ کافیه یکبار آرایه رو داخل تابع بررسی ببرید ..
آلبته چون $_post ذاتا آرایه هست در مواردی هم که معمولی استفاده کنید بازهم نیازی نیست که تک تک چک کنید !
 

phpweb

Active Member
آلبته چون $_post ذاتا آرایه هست در مواردی هم که معمولی استفاده کنید بازهم نیازی نیست که تک تک چک کنید !
منم همین رو می خواستم بگم. وقتیکه post خودش یه آرایه هست، چه فایده ای داره که این آرایه تک بعدی رو به دو بعدی تبدیل کنیم، بعد دوباره توی یه متغیر دیگه قرار بدیم و بعد اون متغیر رو چک کنیم !

توی هر صفحه تنها یک فرم می تونید ارسال کنید، و لزومی به استفاده از این روش (تبدیل post به یه آرایه دو بعدی و...) نیست.
 

جدیدترین ارسال ها

بالا