واضح آرشیو وب فارسی:سایت ریسک: آموزش ذخيره اطلاعات با Flash و Php nimazebel2007 29 شهريور 1388, 05:35فلش (فعلا) اين قابليت رو نداره كه اطلاعات شما (معمولا متغير ها) رو به طور مستقيم داخل يه فايل ذخيره كنه و يا اينكه با بانكهاي اطلاعاتي ارتباط داشته باشه ... البته قابليتي كه در فلش MX 2004 گنجونده شده اينه كه شما ميتونيد با استفاده از اون مكاني رو براي ذخيره اطلاعات قرار بديد ... ٌٌكه البته دو تا عيب داره ... يكي اينكه دوراز دسترس كاربر نهاييه و ديگري اين كه شما فقط در Windows ميتونيد از اون استفاده كنيد و امكان استفاده در Server رو نداريد ... حالا ما اينجا روشي رو ميگيم كه شما ميتونيد با استفاده از اون در سرور هايي كه Php رو پشتيباني ميكنن ، اطلاعات تون رو ذخيره كنيد ... در آخر هم با استفاده از همين روش ، چگونگي ارتباط بين فلش و Php رو براي دسترسي به MySql DataBase مي گيم ... براي اينكه شما بتونيد اطلاعاتتون رو ذخيره كنيد به اين احتياج داريد كه متغير هاتون رو به يك فايل Php بفرستيد تا براتون ذخيره كنه ... فرستادن متغير ها به دو صورت ( متد Method ) امكان پذيره ... يكي به صورت GET و ديگري به صورت POST . درخواست هاي Get معمولا از ايمني كمتري برخوردارن ... چون محتويات متغير هاتون رو هنگام ارسال ، بصورت واضح نشون ميده .... (البته نه در فلش ... اگر در فلش از اين متد استفاده كنيد ... فقط توي Temporary Internet Files در خواست ها ديده ميشن) در خواست هاي GET معمولا به صورت زيره : Bean Town Host - Web Hosting, Domains, Colocation, Dedicated Servers, Managed Services ()file.php?variable=Contentهمونط� �ر كه ميبينيد به وضوح ، توي فايل "File.php" متغيري به نام "variable" ايجاد شده كه محتوياتش "Content" هست ... اما درخواست هاي POST بدون اينكه ديده بشن ، ارسال ميشن ... توي فلش هم شما آزاد هستيد كه از هر كدوم از اينها بخوايد استفاده كنيد ... حالا شروع ميكنيم به ساخت فايلهامون ... فرض كنيد ميخوايم يه فرم بسازيم كه كابر بتونه توسط اون ثبت نام كنه ... و شما هم ميخوايد كه نام كابري ، كلمه عبور و ايميل اون رو با فرمت خاصي وارد فايلي به نام "Users.txt" بكنيد ... ميخوايم هر كاربري كه ثبت نام ميكنه با فرمت Username: String/Password: Hash Md 5/E-mail: String توي فايل بنويسيد ... مثلا اين يه فايل نمونه است : Amir/ca 0dbad 92a 874b 2f69b 549293387925e/[email protected] Majid/ff8104697613ed 3ef1ad 05867fccbe3c/[email protected] Kami_mz/e46fa 9f744f9c59384eaa 308ae9012e8/[email protected] البته بايد رو اين نكته دقت داشته باشيد كه نام كاربري و ايميل نبايد حاوي كاراكتر "/" باشند ... خوب ... حالا فرم رو درست ميكنيم : همونطور كه ميبينيد كلا 5 تا فيلد هست كه 4 تا شون بايد توسط كاربر پر بشه ... 4 فيلد اول به ترتيب به متغير هاي email ، userpassword 2 ، userpassword ، username پيوند داده شدن، فيلد پنجمن هم براي نشون دادن اينه كه برنامه در حال انجام چه كاري هست ، كه اون هم به متغير state پيوند داده شده دقت كنيد كه Instance name فيلد نام كاربري username_f و براي ايميل email_f هست ... براي اينكه كاربر نتونه كاراكتر "/" رو توي نام كاربري وارد كنه و ما هم محدوديت بيشتري رو براي وارد كردن ايميل بذاريم ، بايد اين كاراكتر هايي كه اجازه ورود به فيلدها رو دارن محدود كنيم ، اين اسكريپت رو به تنها فريم فايل ميديم : username_f.restrict = "0-9"+"a-z"+"A-Z"+"-_."; email_f.restrict = "0-9"+"a-z"+"A-Z"+"-_"+"@.";براي اينكه كاربر ايميل خودشو درست وارد كنه ، اين تابع رو هم تعريف ميكنيم ... (چون اصل كار ما در اينجا ارتباط با سرور هست ، در باره اين كد توضيحي نميدم) ، اين كد رو در فريم اول بذاريد : function checkMail(mail:String) { var out:Boolean; if (mail.length<6) { out = false; state = "Email address too short"; } else if (mail.indexOf("@") == -1) { out = false; state = "Missing @"; } else if (mail.indexOf(".") == -1) { out = false; state = "Missing the dot"; } else { state = ""; out = true; } return out; } خوب حالا اين اسكريپت رو هم به دكمه ميديم : on (release) { if ((userpassword == userpassword 2) and (username != undefined) and (checkMail(email))) { this.loadVariables("","POST"); state = "Crating your Profile"; listen = true; } } نكته : ما در اينجا از متد POST استفاده ميكنيم و اطلاعات رو به آدرس ميفرستيم ، شما بايد آدرس فايل خودتون رو اينجا وارد كنيد ... چيز ديگه اي كه اينجا اضافه شده قسمتي هست كه متغير listen رو روي true تنظيم ميكنه ... ما با اين كار ميخوايم قسمتي از برنامه رو وادار به اين كار بكنيم كه ببينه ثبت نام كي تموم ميشه و بعد به كاربر اطلاع بديم ... پس اين كد رو هم در ادامه توي فريم اول ميذاريم : onEnterFrame = function () { if (listen) { if (created == "ok") { listen = false; state = "Your profile created !"; }else if (created == "problem") { listen = false; state = "ERROR !!!"; } } } (اين ابتدايي ترين كار ممكنه !) خوب ... كار ما با فلش تموم شد ... ميريم سراغ Php : يه فايل به اسم reg.php درست بكنيد ... توي Php براي اينكه به متغير هاي ارسالي دسترسي داشته باشيد ، بايد از آرايه هايي به نام " آرايه هاي انجمني " و يا " فراگير " استفاده كنيد ... اين آرايه ها به طور كلي به اين شكل هستن : $*_VARS["variable"]; شما ميتونيد به جاي * از كلمات POST ويا GET استفاده كنيد و انديس (Index) آرايه تون رو اسم متغير بديد ، براي مثال : $["username"]; البته ميتونيد به جاي نوشتن اسم بلند اين آرايه ، از آرايه هاي كوتاه تر استفاده كنيد : $_POST["username"]; $_GET["username"]; (توجه كنيد كه در Php تمام متغير ها با علامت "$" شروع ميشوند) .... فايل reg.php رو باز ميكنيم و اينها رو توش مينويسيم : <?php $username = $_POST["username"]; $password = md 5($_POST["userpassword"]); $email = $_POST["email"]; if ($file = fopen("Users.txt","a+")) { if (fwrite($file,"$username/$password/$email ")) { echo("created=ok"); }else { echo("created=problem"); exit; } }else { echo("created=problem"); fclose($file); exit; } fclose($file); ?> شما به همين صورت ميتونيد متغير هاي جديدي اضافه كنيد و استفاده كنيد ... براي برقرار كردن ارتباط بين فلش و MySQL هم ميتونيد از همين روش استفاده كنيد ... اطلاعات رو از فلش بگيريد و query هاي مورد نياز خودتون رو با استفاده از اونها درست بكنيد ... براي اين كار بايد در زمينه ديتابيس ها خبره باشيد ... براي مثال : <?php $username = $_POST["username"]; $password = md 5($_POST["password"]); $email = $_POST["email"]; //------------------------------------- $dbhost = "localhost"; $dbname = "onlineReg"; $dbusername = "root"; $dbpassword = "secret"; $conn = mysql_connect($dbhost,$dbusername,$dbpassword) or die("state=Internal Error !"); $sql = mysql_select_db($dbname,$conn) or die ("state=Internal Error !"); $query = "INSERT INTO users VALUES ($username,$password)"; mysql_query($query,$conn); mysql_close($conn); ?> شما به همين ترتيب ميتونيد انواع query هاي خودتون رو بسازيد و حتي اطلاعات به دست اومده از اون ها رو در قالب خاصي كه فلش پشتيباني ميكنه ، توسط دستور echo چاپ كنيد ... موفق باشيد ... Mr. LonelY 29 شهريور 1388, 08:28مرسی مرد. namin72 29 شهريور 1388, 09:41خیلی خوب بود. مرسی. nimazebel2007 30 شهريور 1388, 18:50خواهش میکنم Mr. LonelY 04 مهر 1388, 14:35نیما جان میشه این پستتو دوباره ویرایش کنی و کدها روتو قالب php بزاری اینطوری هم بهتر، هم قشنگ تره، هم قابل فهم تره.
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1289]