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

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

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

درخواست شما

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

آموزش 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();
  ?>

اساسا اين تابع يك مجموعه طبقه بندي شده از 16 كاراكتر را توليد مي كند كه از
كاراكتر هاي انتخابي من ساخته شده است مشروط بر اينكه درون $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 / ۳,۴۹۳ نمایش / کد مطلب : 482

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

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

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

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

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

63 − 53 =