..:: ارسال متد post به بیش از یک صفحه ::..

freelearn

Banned
سلام،
من فرمی دارم که در آن بوسیله متد POST فیلد هایی به صفحه ADD.php ارسال میشود.
می خواهم این فیلدها را به چند صفحه ارسال کنم. هم به صفحه ADD.php و هم به صفحه SAVE.php و ....

لطفا مرا راهنمایی کنید.
[email protected]
 

sunrise

Member
به طور همزمان که نمي تونيد اين کار رو انجام بديد، اما مي تونيد طوري صفحات رو طراحي کنيد که بعد از اينکه مثلا به فايل ADD.php اون اطلاعات پست شد، دوباره صفحه ADD.php اون اطلاعات رو بصورت خودکار (با استفاده از javascript) پست کنه، حالا نحوه انجام رو براتون توضيح ميدم.

فرض کنيد فرم اول داراي اين فيلدها هست:
کد:
field1, field2, field3
حال ما اطلاعات اين فرم رو به فايل ADD.php ارسال مي کنيم، فايل ADD.php کارهاي لازم رو روي اطلاعات انجام ميده، بعنوان مثال در بانک اطلاعاتي ذخيره مي کنه و بعد حالا ما ميخوايم که همين اطلاعات به فايل SAVE.php ارسال شده و يک سري پردازش هايي روي اون صورت بگيره، در اين صورت لازم هست که اطلاعات اولا در يک فرم وجود داشته باشند، ثانيا توسط کاربر قابل تغيير نباشند و اين پروسه بصورت اتوماتيک انجام بشه، بنابراين مي تونيم چيزي شبيه اين داشته باشيم.
ADD.php
PHP:
<?php
$field1 = $_POST['field1'];
$field2 = $_POST['field2'];
$field3 = $_POST['field3'];
{processing}...
.
.
. 
?>
<html>
<body onload="autoform.submit();">
	<form name="autoform" action="SAVE.php" method="POST">
		<input type="hidden" name="field1" value="<?php echo $_POST['field1']; ?>" />
		<input type="hidden" name="field2" value="<?php echo $_POST['field2']; ?>" />
		<input type="hidden" name="field3" value="<?php echo $_POST['field3']; ?>" />
	</form> 
</body>
</html>
اگه قرار هست اين روال ادامه پيدا کنه، براي فايل SAVE.php و ... هم همين کار رو مي تونيد انجام بديد.
 

sunrise

Member
از سشن هم می تونی استفاده کنی :rose:
درسته، طبق فرمايش دوست خوبمون، اين کار توسط سشن و يا کوکي ها هم قابل انجام هست، با اين تفاوت که شما اطلاعات رو داخل يک سشن يا کوکي ذخيره مي کنيد، و بعد توسط تابع زير به صفحه بعدي منتقل ميشيد.
PHP:
header("Location: SAVE.php");
و بعد در فايل SAVE.php اين بار به جاي استفاده از $_POST براي بدست آوردن اطلاعات از $_SESSION استفاده مي کنيد و اگه با Cookieها هم کار کرده باشيد باز در اون حالت از $_COOKIE استفاده مي کنيد.
 

love4php

Active Member
یه پیشنهاد دیگه هم من دارم که نظرغات دوستان را کامل می کنه ... بیا یک فریم مخفی قرار بده و با جاوا اسکریپت به صفحات مختلف فرمت را ارسال کن ... form.submit()
 

freelearn

Banned
مسئه

یه پیشنهاد دیگه هم من دارم که نظرغات دوستان را کامل می کنه ... بیا یک فریم مخفی قرار بده و با جاوا اسکریپت به صفحات مختلف فرمت را ارسال کن ... form.submit()



اگه صفحات بیشر باشند دیگه این روش کار ساز نیست. (مثلا 20 صفحه باشه که باید پارامترها به اونها ارسال بشن)

به نظرم اگه بشه کدی را نوشتن که با اجرای آن یک سری پارامتر ثابت به متد POST ارسال بشن ("بدون کلیک کردن روی سابمیت") شاید بشه این کار را انجام داد.

مثلا:
یک کدی باشه که با اجرای کد بصورت اتوماتیک مقادیر به post ارسال بشن.
نمی دونم می شه یا نه. ولی فکر کنم بشه.
 

ziXet

مدیر انجمن PHP/MYSQL
اگه صفحات بیشر باشند دیگه این روش کار ساز نیست. (مثلا 20 صفحه باشه که باید پارامترها به اونها ارسال بشن)

به نظرم اگه بشه کدی را نوشتن که با اجرای آن یک سری پارامتر ثابت به متد post ارسال بشن ("بدون کلیک کردن روی سابمیت") شاید بشه این کار را انجام داد.

مثلا:
یک کدی باشه که با اجرای کد بصورت اتوماتیک مقادیر به post ارسال بشن.
نمی دونم می شه یا نه. ولی فکر کنم بشه.
شما بگو واسه چه کاری میخوای تا بشه راه های بهتری ارائه داد!
 

freelearn

Banned
فکر کنم با روشی که sunrise گفتن بشه انجام داد .

فقط باید این قسمت رو توی یک حلقه قرار بدیم درست بشه
<body onload="autoform.submit();">
<form name="autoform" action="SAVE.php" method="POST">
<input type="hidden" name="field1" value="<?php echo $_POST['field1']; ?>" />
<input type="hidden" name="field2" value="<?php echo $_POST['field2']; ?>" />
<input type="hidden" name="field3" value="<?php echo $_POST['field3']; ?>" />
</form>


فقط در قسمت action="SAVE.php" باید یک متغیر را به جای صفحه save.php گذاشت.

دیگه فکر کنم درسته!

نظر شما چیه؟
 
آخرین ویرایش:

BehrouzPc

پــــادشــاه فــلــــش
با آژاکس هم میشه این کار رو کرد
هدرهای پست رو خودت مینویسی و میتونی به هر فایلی ارسال کنی
اگه یه مقدار با آژاکس آشنایی داشته باشی کاری نداره
اگه اطلاعاتت کمتره می تونی از فریم ورک ها برای راحتی کارت استفاده کنی
مثل Jquery
 

Allahparast

Member
راستی یادتون نره اگه از روش سشن یا کوکی استفاده می کنید سشن های فرمتون که در مرورگر فرد ایجاد میشه رو پاک کنید مگر نه بعدا دچار مشکل میشی :rose:
PHP:
<?php
unset();
stcookie();

?>
 

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

بالا