PDA

View Full Version : سوال: حفظ مقادیر کنترل ها و برسی مقادیر سمت کلاینت



BlackPawn
سه شنبه 27 فروردین 1392, 16:53 عصر
سلام

من تو php تازه کارم، دوستان لطف کنید جواب بدید

سوالمو با یک مثال میگم :
فرض کنید یک فرم لاگین درست کردم که دو تا تکسک داره با یک سابمیت و زمانی که روی سابمیت کلیک میشه محتویات دوتا تکست در صفحه که دوباره باز میشه از بین میره ! من چطور می تونم محتویات تکست یوزر رو در صورت درست نبودن دوباره تو تکست قرار بدم یا حفظشون کنم که اصلا در صفحه جدید حذف نشن ؟؟

خلاصه : چطور باید مقادیر موجود در کنترل ها بعد از سابمیت و در صفحه ای که دوباره باز میشه حفظ بشه ؟



سوال دوم : چطور می تونم سمت کلاینت مثلا محتویات یک تکست رو بررسی کنم و در صورتی که درست باشه به سرور ارسال و در غیر این صورت همونجا یک پیغام به کاربر بده

mohsen6500
سه شنبه 27 فروردین 1392, 17:02 عصر
سلام دوست عزیز
برای این کار باید اونها رو توی یه متغییر ویا سیشن بذاری
البته درکل چون فرم رو یا با متد گت و یا پست ارسال می کنی در کل به صورت ['']GET_$ ویا ['']POST_$ قابل دسترسی هستش
مثلا میتونی در تکست فیلد یه شرط بذاری که اگر چیزی اراسل شده بود اونو نمایش دبه مثلا :

<input type="text" name="User" id="User" <?php if(isset($_POST['User']))echo 'value="'.$_POST['User']).'"'; ?> />

درمورد سوال دومت که یا باید از جاوا اسکریپت یا فک و فامیلاش مثل جی کوئری و آجاکس استفاده کنی

موفق باشید

BlackPawn
سه شنبه 27 فروردین 1392, 17:15 عصر
سلام دوست عزیز
برای این کار باید اونها رو توی یه متغییر ویا سیشن بذاری
البته درکل چون فرم رو یا با متد گت و یا پست ارسال می کنی در کل به صورت ['']GET_$ ویا ['']POST_$ قابل دسترسی هستش
مثلا میتونی در تکست فیلد یه شرط بذاری که اگر چیزی اراسل شده بود اونو نمایش دبه مثلا :

<input type="text" name="User" id="User" <?php if(isset($_POST['User']))echo 'value="'.$_POST['User']).'"'; ?>

درمورد سوال دومت که یا باید از جاوا اسکریپت یا فک و فامیلاش مثل جی کوئری و آجاکس استفاده کنی

موفق باشید

تشکر
این کارو خودم بهش فکر کردم ولی نتونستم پیادش کنم یعنی توی خود value اینو نوشتم echo که کار نکرد
این درسته ! ولی راه دیگه ای نیست ؟؟ یعنی این روش اصولیه چون واسه پروژه ای می خوام که ممکنه از هر چیزی ایراد بگیرند.


سوال دوم رو میشه یه مثال کوچیک بزنید :
مثلا یک تکست که اگه در اون عدد دو رقمی بود ارسال بشه

mohsen6500
سه شنبه 27 فروردین 1392, 17:58 عصر
در مورد سوال اولت که نمیدونم احتمالا راه های دیگه ای هم باشه باید فکر کنی
در مورد سوال دومت والا الان چیزی دم دست ندارم
ولی خوب سرچ کنی تو گوگل چیزیای زیادی گیرت میاد
مثلا اینجا آجاکسه
(http://www.w3schools.com/php/php_ajax_php.asp)
البته نه مثال خودت ولی خوب مشابه هستش
موفق باشی

Unique
چهارشنبه 28 فروردین 1392, 01:25 صبح
چطور باید مقادیر موجود در کنترل ها بعد از سابمیت و در صفحه ای که دوباره باز میشه حفظ بشه ؟
حرف کنترل که میاد نشون میده طرفمون asp net. کاره ! توی net. مقادیر کنترل ها در صورت valid نشدن فرم بر جای میمونند ! (به کمک خود framework) و ما کاری نباید انجام بدیم ! اما توی php شما باید مقادیر را از POST_$ یا GET_$ بگیری و توی input ها و دیگر عناصر فرم دوباره بازیابی کنی ! کار دیگه ای هم که میتونی بکنی استفاده از ajax هست که در این حالت مقادیر همیشه جای خودشون میمونند چون صفحه round trip نمیشه (دوباره بارگزاری نمیشه).


چطور می تونم سمت کلاینت مثلا محتویات یک تکست رو بررسی کنم و در صورتی که درست باشه به سرور ارسال و در غیر این صورت همونجا یک پیغام به کاربر بده
با استفاده از جاوا اسکریپت ُ البته یکسری کتابخونه راحت و قابل استفاده هم مثل این (http://bassistance.de/jquery-plugins/jquery-plugin-validation/) هستند. اما دوست عزیز توجه داشته باش که validation سمن کلاینت فقط برای راحتی کاربر و قشنگی کار خوبه ! اطلاعات حتما باز هم میگم حتما باید سمت سرور validate بشوند !

BlackPawn
چهارشنبه 28 فروردین 1392, 11:10 صبح
حرف کنترل که میاد نشون میده طرفمون asp net. کاره ! توی net. مقادیر کنترل ها در صورت valid نشدن فرم بر جای میمونند ! (به کمک خود framework) و ما کاری نباید انجام بدیم ! اما توی php شما باید مقادیر را از POST_$ یا GET_$ بگیری و توی input ها و دیگر عناصر فرم دوباره بازیابی کنی ! کار دیگه ای هم که میتونی بکنی استفاده از ajax هست که در این حالت مقادیر همیشه جای خودشون میمونند چون صفحه round trip نمیشه (دوباره بارگزاری نمیشه).


با استفاده از جاوا اسکریپت ُ البته یکسری کتابخونه راحت و قابل استفاده هم مثل این (http://bassistance.de/jquery-plugins/jquery-plugin-validation/) هستند. اما دوست عزیز توجه داشته باش که validation سمن کلاینت فقط برای راحتی کاربر و قشنگی کار خوبه ! اطلاعات حتما باز هم میگم حتما باید سمت سرور validate بشوند !

درسته php زیاد آشنایی ندارم ، همه پروژه هام قبلا asp.net بوده و این اولین پروژه php

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

در هر صورت باز هم تشکر

BlackPawn
شنبه 14 اردیبهشت 1392, 13:06 عصر
گفتم بقیه دوستان هم شاید لازم داشته باشن ...

درستش به این صورته :


<input name="text1" type="text" value="<?php if(isset($_POST['text1'])) echo $_POST['text1']; ?>"/>