PDA

View Full Version : سوال: ارسال داده های یک فرم به یک کلاس



Samira Reyhani
جمعه 09 آبان 1393, 17:00 عصر
یک فرم دارم که میخوام وقتی گزینه submit اش کلیک شد ،تابع insert از کلاس form رو فراخوانی کنه ...
راهش چیه؟...
میتونم ببرم یه صفحه دیگه و از اون صفحه وارد تابع بشم..ولی نمیخوام از صفحه واسطی استفاده کنم...مستقیما میخوام برم سمت کلاس

hamedarian2009
جمعه 09 آبان 1393, 17:29 عصر
فرض کن این فرمو داری


<form action="" method="post">
<input type="submit" name="submit" value="GO">
</form>


تو همون صفحه میتونی بعد سابمیت شدن به کلاس دسترسی پیدا کنی


if(isset($_POST['submit'])){
$obj = new ClassName();
$obj->insert();
}

arash691
جمعه 09 آبان 1393, 17:34 عصر
در همون صفحه یک شرط قرار بدین هر وقت submit انجام شد یک شئ از کلاس مورد نظرتون ایجاد بشه بعدشم از طریق شئ تابع موردنظرتون رو فراخونی کنید

به اینصورت :


<?php
if(count($_POST) && isset($_POST['form_submit'])){
$of = new Form();
$of->insert( .... );
// ...
}

Samira Reyhani
جمعه 09 آبان 1393, 20:24 عصر
با این کار فقط یک بار میشه از فرم استفاده کرد
چونتا زمانی که صفحه رفرش نشه isset($_POST[submit]) همیشه true
واسه اینکه بعد عملیات false بشه چی کار باید کرد؟

bagherok
جمعه 09 آبان 1393, 20:30 عصر
متوجه منظورتون نشدم
بیشتر توضیح بدید

دقیقا میخوایید چیکار کنید.

bagherok
جمعه 09 آبان 1393, 20:38 عصر
واسه اینکه بعد عملیات false بشه چی کار باید کرد؟

ازسشن استفاده کنید

به اینصورت که
زمان جاری رو درون یه سشن قرار بدید و موقع ساخت فرم هم همون
زمان جاری رو همراه فرم ارسال کنید.
بعد ازسابمیت تو صفحه چک کنید که اگه مقدار ورودی فرم با مقدار ذخیره شده در سشن برابر بود, مقادیر رو به کلاس بدید و سشنی که ست کرده بودید رو حذف کنید.

Samira Reyhani
جمعه 09 آبان 1393, 20:42 عصر
من یک کلاس دارم که دوتا تابع داره
یک تابع مخصوص نمایش دادن فرم و تابع بعدی واسه ذخیره کردن اطلاعات..
بعد از فراخوانی تابع اول،که فرم وارد کردن اطلاعات نمایش داده میشه وقتی گزینه submit زده بشه باید تابع دوم کلاس فراخوانی بشه...
این کار انجام میشه مشکلم اینجاست وقتی یکبار از فرم استفاده میکنم دیگه نمیتونم دوباره اطلاعات جدید وارد فرم کنم و ثبت بشه
چون گزینه submit جدولم رو تا زمانی که صفحه کامل رفرش نشه فعال نشون میده و همیشه در حالت isset($_POST[submit])

bagherok
جمعه 09 آبان 1393, 20:47 عصر
خوب
چه فرم سابمیت شده باشه و نشده باشه تابع اولی رو فراخونی کنید
وتابع دومی رو وقتی که سابمیت شده بود

مشکل چیه!

Samira Reyhani
جمعه 09 آبان 1393, 20:57 عصر
خوب
چه فرم سابمت شده باشه و نشده باشه تابع اولی رو فراخونی کنید
وتابع دومی رو وقتی که سابمیت شده بود

مشکل چیه!



هیچی ...مشکلی نیست..:لبخند:
من یه اشتباه دیگه کرده بودم...واسه همون جواب نمیداد
ممنون