فرم حرفه ای php

Masoud1365

مدیر انجمن
به نظر من شما یه سری به سایت hotscripts.com بزنید . اونجا کلی از این اسکریپتها هست . یکیشو دانلود کنید و ببینید چطوری ایمیل میفرسته . به همین راحتی .:wink:
 
درست متوجه نشدم مشکلت چیه ولی بگم که اول سعی کن طراحی رو از برنامه نویسی جدا کنی و برای جمع کردن اصلاعات از توابع زیر استفاده کن ..

PHP:
function get_input ($iname,$method='get') 
   {     
     switch ($method) 
      {
         case 'get' :
          return $_GET[$iname] ;
             
         case 'post' :
          return $_POST[$iname] ;
      }
   }
   
 
 function get_mu_input ($vars , $method='post')
  {
  
   $input = array () ;
   
   foreach ($vars as $key => $value) {
   $input[$value] = get_input ($value,$method) ;
   }
   
   return $input ;
  
   }

تابع اول میات یک مقدار رو از ورودی برمیگردونه و تابع دومی (get_mu_input) چند مقدار رو با هم از طریق آریه میگیره استفاده از این توابع نکته امنیتی هم داره که شما میاین تو تابع get_input مواردی عیر مجاز از کاراکتر ها رو میزارد و اگر اون موارد بودن مقدار خالی بر میگردونه ( این تابعش رو نوشته بودم و گذاشته بودم تو این تابع حالا نمیدونم چرا توش نیست حوصله هم ندارم الان بنویسمش ولی 3 - 2 خط بیشتر نیست .

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

PHP:
 function press_submit ($name) 
  {
      $name = 'submit_' . $name ;
    $input = get_input ($name,'post') ;
    
    $ret = empty($input) ? false : true ;
    return $ret ;
  }

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

PHP:
 function add_to_user () 
  {
    $inpuvar = array ('frist_name','last_lane','company_name','e_mail','contact_phone','cu_name',
    'un_name','city_name','user_name','user_pass','re_pass');
    
      $value = get_mu_input ($inpuvar,'post') ;
    $table = 'wpab_users' ;
    $fileds = $inpuvar ;
    
    add_data ($table,$fileds,$value) ;
  }

function get_add_user ()
 {
   if (press_submit('submit_signup') {
     add_to_user () ;
   }
 }


تابع get_add_user چک میکنه اکر بر روی دکمه کلیک شده بود تابع add_to_user که کارش اضافه کردن کاربر هست رو اجرا میکنه و کاربر جدید رو به دیتابیس اضافه میکنه و برای اضافه کردن کاربر من تابع add_data استفاده کردم ( این تابع کتابخانه PHP نیست و خودم نوشتم فکر نمیکنم دیگه لازم باشه این تابع و هم بنویسم )

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

mohsen_r

Member
درست متوجه نشدم مشکلت چیه ولی بگم که اول سعی کن طراحی رو از برنامه نویسی جدا کنی و برای جمع کردن اصلاعات از توابع زیر استفاده کن ..

PHP:
function get_input ($iname,$method='get') 
   {     
     switch ($method) 
      {
         case 'get' :
          return $_GET[$iname] ;
             
         case 'post' :
          return $_POST[$iname] ;
      }
   }
   
 
 function get_mu_input ($vars , $method='post')
  {
  
   $input = array () ;
   
   foreach ($vars as $key => $value) {
   $input[$value] = get_input ($value,$method) ;
   }
   
   return $input ;
  
   }

تابع اول میات یک مقدار رو از ورودی برمیگردونه و تابع دومی (get_mu_input) چند مقدار رو با هم از طریق آریه میگیره استفاده از این توابع نکته امنیتی هم داره که شما میاین تو تابع get_input مواردی عیر مجاز از کاراکتر ها رو میزارد و اگر اون موارد بودن مقدار خالی بر میگردونه ( این تابعش رو نوشته بودم و گذاشته بودم تو این تابع حالا نمیدونم چرا توش نیست حوصله هم ندارم الان بنویسمش ولی 3 - 2 خط بیشتر نیست .

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

PHP:
 function press_submit ($name) 
  {
      $name = 'submit_' . $name ;
    $input = get_input ($name,'post') ;
    
    $ret = empty($input) ? false : true ;
    return $ret ;
  }

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

PHP:
 function add_to_user () 
  {
    $inpuvar = array ('frist_name','last_lane','company_name','e_mail','contact_phone','cu_name',
    'un_name','city_name','user_name','user_pass','re_pass');
    
      $value = get_mu_input ($inpuvar,'post') ;
    $table = 'wpab_users' ;
    $fileds = $inpuvar ;
    
    add_data ($table,$fileds,$value) ;
  }

function get_add_user ()
 {
   if (press_submit('submit_signup') {
     add_to_user () ;
   }
 }


تابع get_add_user چک میکنه اکر بر روی دکمه کلیک شده بود تابع add_to_user که کارش اضافه کردن کاربر هست رو اجرا میکنه و کاربر جدید رو به دیتابیس اضافه میکنه و برای اضافه کردن کاربر من تابع add_data استفاده کردم ( این تابع کتابخانه PHP نیست و خودم نوشتم فکر نمیکنم دیگه لازم باشه این تابع و هم بنویسم )

امید ورام تونسته باشم کمک کنم
با تشکر
سلام دوست عزیزم.
با تشکر از این که وقتت رو کمی به من اختصاص دادی.:D
درست متوجه نشدم مشکلت چیه
من می خواستم گزینه های انتخابی نظیر : نام و نام خانوادگی ، آدرس وبلاگ ، جنسیت ، سن ،
ماه تولد ، شماه تلفن ، شناسه (ID) ، استان ، شهر ، نحوه تماس و ..
رو شامل بشه که با Checkbox , Radio buttons , Drop down list و طلاعات انتخابی که توسط کاربر
وارد میشه به ایمیل بفرسه .
یعنی من کلا می خوام که کارم با ایمیل باشه چون می دیتا بیس ندارم...!
 

mohsen_r

Member
با سلام و احترام

ببخشید که یکم دیر شد.:rose:

من بعد از مدت ها آخه تونستم خودم یه فرم PHP بنویسم.
به خدا پدرم درومد تا تمومش کردم.
نمی دونستم نوشتم یه کد ساده این همه زحمت داره...!:shock:
یه چیز هایی هم تو همین حین نوشتن یاد گرفتم...!:wink:

حالا نیم دونم چرا خطا میده ، نمی دونم خطاش از کجاست.:sad:
لطفا کمکم کنید تا این پروژه عظیم غول پیکر رو تمومش کنم.:lol:

من منتظر پاسختون هستم.:rose:

با سپاس فراوان
 

پیوست ها

  • My_Form.rar
    4.5 کیلوبایت · بازدیدها: 6

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

بالا