مرجع دانلود اسکریپت

وان اسکریپت | اولین مرجع دانلود رایگان اسکریپت در ایران

خرید هاست
تبلیغات
تبلیغات

درخواست شما

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

آموزش php >> کارتهای الکترونیکی با php وmysql

آموزش مقدماتی تا حرفه ای زبان برنامه نویسی php

 

 آیا شما تا به حال خواسته اید که کارتهای الکترونیکی برای سایت تان بسازید ؟ این کار را اخیرا من انجام داده ام و همزمان با آن همه یک روش کار درست بدست آوردم . بنابراین اینجا یک خودآموز سریع است و از این جهت شما مجبور نیستید کارهایی را که من انجام داده ام را بپذیرید . همچنین در این خودآموز شما ممکن است برای نکات بیشتر ارجاعهایی به “ Floppydogs” داشته باشید . ولی آنچه بر روی آن است نیز از روی کد من در Floppydogs.com آمده است .

حال آیا اینکه شما فکر کنید که این کار یک قطعه session ساده و آسان می خواهد، درست است ؟ خیر ، اینکار را نکنید، خود من هم دقیقا علت آن را نمی دانم چرا که اگر من در session_destory( ) این کار را انجام می دادم session ID از پذیرفتن آن به این روش امتناع می ورزید .
اشکال این ایجاد کردن ها زمانی بود که کاربر یک e_card را ارسال می نمود و موقعی که سعی می کرد که برگردد و یک کارت جدید را ایجاد کند اینکار را نمی توانست انجام دهد زیرا که خطایی مبنی بر ID مشابه پیش می آمد ( چه زحمتی! ) . برای اینکار اول از همه من، باید عکسها را بسازم و آشکار است که همه آنها بر روی
صفحه index.php نمایش داده می شود ، کد اینجا :

به طور معمول هر تصویر یک imagename متفاوت دارد حالا من برای ساختن makecard.php در جائیکه کاربر می رسد و در his/her/its اطلاعات شخصی را وارد می کند از session ها استفاده نمودم که در صورت صرفنظر از این قسمت این خودآموز دیگر بلا استفاده می شود .


  session_start();
  session_register("image");
  ?>
  

  

رجیستر سازی تصویر به این معنی است که موقعی session خراب شده است، کاربر عکس را انتخاب و به نام متغیر آن به چسباند . همه اطلاعات session باید همزمان با شروع HTML شروع به رفتن کند . حال کد زیر :

  


  
  echo $image;?>">
  

  


Your Name:
  
  ($s_name);?>
  


  Your Email Address:
  ($s_email);?>
  


  Receiver's Name:
  ($r_name);?>
  


  Receiver's Email Address:
  ($r_email);?>
  


  Your Personal Message:

  
  ($message);?>
  



  
  


  

اگر شما بدانید که چگونه از فرم ها استفاده کنید در اغلب مواقع ضروری بیشتر باید
از آن استفاده کنید .
در اینجا یکی از خصیصه های امنیتی Escapeshellcmd( ) اینست که کاربران بدجنس نمی
توانند دستورات mysql را وارد فیلد ها بکنند و از آن طریق اطلاعات شما را بگیرند
.اگر شما همه جزئیات آن را بخواهید ، می توانید در راهنمای دستی آن نگاه کنید .
در ادامه من در یک جا به این مسأله برخورد کردم که اگر کاربر یک تصویر را انتخاب
کند و در آن موقع به ذهنش برسد که باید برگردد و his/her/its را تغییر داده باید
چکار کند زیرا که تصویر یک متغیر رجیستر شده است و در تصویر اول هیچ موضوعی نمانده
که انتخاب نشده باشد . با این وجود خوشبختانه این حالت نیز آسان می باشد و در بالای
صفحه index.php من به راحتی کد زیر را اضافه کردم :


  session_start();
  session_destroy();
  ?>

  

و سپس به یاد می آورد که قبل از هر کاری از HTML آن را وارد کند و حالا کارت را
می فرستد .
قدم اول این بود که یک جدول درون mysql ایجاد کنید ، شما می توانید خودآموز های
بیشتر را از روی devshed پیدا کنید .برای گرفتن یک ID منحصر به فرد برای هر کارت
من از یک تابع استفاده کردم ( که دوباره هر کدام قبل از HTML می روند ) و آن را
به صورت session_destory( ) ذکر کردم تا نتواند ظاهر شود و ID خودش را خراب کند
. به همین دلیل اطلاعات در داخل session هستند اگر شما کتاب Core php programming
را که منبع اصلی من نیز می باشد را داشته باشید این تابع را خواهید شناخت .


  session_start();
  function CreateID($length=16){
  $Pool = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  $Pool .= "1234567890floppydogs";
  for($index = 0; $index < $length; $index++){
  $sid .= substr($Pool,(rand()%(strlen($Pool))), 1);
  }
  return($sid);
  }
  $sid=CreateID();
  ?>

اساسا این تابع یک مجموعه طبقه بندی شده از ۱۶ کاراکتر را تولید می کند که از
کاراکتر های انتخابی من ساخته شده است مشروط بر اینکه درون $Pool باشد .حال هر
چیزی می خواهید وارد جدول mysql بکنید و ترتیب نگهداری متغیر هایتان را به یاد
داشته باشید . اگر در آنجا یک عنصر با همان ID وجود داشته باشد mysql بصورت اتوماتیک
در صورتی که اجرا شود یک خطا برمی گرداند که در مورد ( نتیجه !) است و یک ID جدید
می سازد .


$result = mysql_query("INSERT INTO ecards VALUES('$sid', '$s_name', '$s_email','$r_name',
  '$r_email','$message', '$image')");
  if(!$result){
  $sid=CreateID();
  $result = mysql_query("INSERT INTO ecards VALUES('$sid', '$s_name', '$s_email','$r_name',
  '$r_email','$message', '$image')");
  }
?>

حال با پست کردن موفقیت آمیز یک پیام با عنوان him/her/its گیرنده می فهمد که
he/she/it یک e_card دارد ! و در پایان نمی تواند session را خراب کند همچنین کاربر
می تواند در صورتی که he/she/it بخواهد برود و کارتی دیگر بسازد .


  $mailTo = "$r_email";
  $mailSubject = "You Have A FloppyDog!";
  $mailHeader = "From: $s_name";
  $message = "You lucky person, you! Someone has thought of you in a warm
  and fuzzy way and sent you a floppydog studios (TM) e-card! You can view this
  card at the following webpage: ";
  $message .= "http://www.floppydogs.com/ecards/viewcard.php?ID=";
  $message .= $sid;
  mail($mailTo, $mailSubject, $message, $mailHeader);
  session_destroy();
  ?>

این هم از این . لحظات خوشی با e_card سازی داشته باشید .اگر شما بخواهد همه این
کارها را ببینید می توانید مقداری از کارتهای الکترونیکی را موقعیکه همه آنها روی
هم گذاشته شد از طریق floppydogs.com برای دوستانتان بفرستید .

موفق باشید

نوشته شده در دسامبر 3, 2011 / 4,848 نمایش / کد مطلب : 482

یک دیدگاه در “آموزش php >> کارتهای الکترونیکی با php وmysql”

  1. خمس علمتان قبول باشه

دیدگاه خود را به اشتراک بگذارید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

54 − 44 =