دسته بندی
دسترسی سریع
کار با تگ فرم (form) در HTML
تگ form در html
خاصیت action در form
خاصیت method در form
تگ های زیرمجموعه form
تگ input در form
نوع button
نوع checkbox
نوع file
نوع hidden
نوع image
نوع password
نوع radio
نوع reset
نوع submit
نوع text
تگ select در form
تگ textarea در form
خاصیت readonly
خاصیت های disabled
استفاده از label در form
تگ form در html
خاصیت action در form
خاصیت method در form
تگ های زیرمجموعه form
تگ input در form
نوع button
نوع checkbox
نوع file
نوع hidden
نوع image
نوع password
نوع radio
نوع reset
نوع submit
نوع text
تگ select در form
تگ textarea در form
خاصیت readonly
خاصیت های disabled
استفاده از label در form
کار با تگ فرم (form) در HTML

تقریبا در هر سایت یا وبلاگی و به طور کل در هر صفحه وبی عناصری تعاملی وجود دارد که کاربر می تواند نسبت به آنها عکس العمل داشته باشد، به طور مثال بر روی دکمه ای کلیک کند یا از بین گزینه های مربوط به نظرسنجی یک مورد را انتخاب نماید، شکل برجسته این عناصر تعاملی فیلد ها و فرم هایی هستند که کاربران با تکمیل اطلاعات آنها و با کلیک بر روی دکمه ارسال، مقادیری را به سرور و پایگاه داده سایت یا وبلاگ مورد نظر ارسال می کنند، از آنجایی که این نوع امکانات در صفحات وب، وابسته به تگ form و عناصر زیرمجموعه آن است، لذا فراگیری دقیق این مبحث می تواند در آینده نزدیک دید شما را نسبت به تکنولوژی وب عمیق تر و چه بسا یک قدم به سمت برنامه نویسی حرفه ای نزدیک تر کند.
تگ form در html
همان طور که پیش تر گفتیم، تگ فرم با هدف ایجاد قابلیت های تعاملی (دکمه، فیلدهای متنی، امکان آپلود فایل و...) برای صفحات html تعریف شده است، در واقع کنسرسیوم جهانی وب یا w3c این نکته را مد نظر داشته که صفحات وب باید از قابلیت ارتباط دو سویه برخوردار باشند، یعنی همان طور که به فرض مدیران یک سایت می توانند مطالبی در آن منتشر کنند، کاربران نیز باید بتوانند در محتوای آن مشارکت داشته یا از قابلیت های آن به صورت سفارشی استفاده نمایند، به این ترتیب و به تدریج عناصر و ویژگی های تعاملی که شباهت های زیادی با هم داشتند در قالب یک تگ با عنوان فرم (form) و زیرمجموعه های آن معرفی شد.
یک فرم ساده به صورت زیر در html تعریف می شود.
<form>
</form>
تگ form به تنهایی کاربردی ندارد و تنها معرف ایجاد یک امکان تعاملی ار نوع فرم است، لذا این تگ را با موارد زیر تکمیل می کنیم.خاصیت action در form
از آنجایی که اطلاعات یک فرم html پس از تکمیل شدن باید به یک فایل در سرور ارسال شود، خاصیت action برای تعیین آدرس فایل مقصد مورد استفاده قرار می گیرد، به طور مثال اطلاعات فرم زیر (در صورت ارسال) به یک فایل با نام get.php فرستاده خواهد شد.
<form action="user/comment/get.php">
</form>
مقادیر خاصیت action می تواند به صورت آدرس کامل (با //:http) یا به صورت آدرس دایرکتوری (مانند مثال بالا) در نظر گرفته شود.خاصیت method در form
در کنار action که مقصد اطلاعات یک فرم را معیین می کند، خاصیت method شیوه ارسال را مشخص می کند، این شیوه می تواند به یکی از دو شکل post یا get (حالت پیش فرض) باشد، در متد post، اطلاعات دور از چشم ما و به صورت پنهانی، در پس زمینه به سرور ارسال می شوند اما در متد get، اطلاعات در نوار آدرس مرورگر قابل مشاهده هستند و به صورت پارامترهایی به همراه مقادیر به سرور ارسال می شوند، متد post برای ارسال مقادیر طولانی، اطلاعات حساس کاربری، آپلود فایل و... کاربرد دارد و متد get بیشتر برای ارسال اطلاعات کوتاه و با حساسیت کمتر به کار می رود.
<form action="user/comment/get.php" method="get">
</form>
نکته: متد get و post هر دو از شیوه های استاندارد HTTP برای نقل و انتقال اطلاعات هستند و در برخی زبان های برنامه نویسی مانند Ajax یا فریم ورک های مربوط به آن (مانند jQuery) ممکن است کارکردی مشابه داشته باشند، لذا تفاوت های عنوان شده در آموزش، حالت معمول و کدنویسی html را مد نظر دارد.تگ های زیرمجموعه form
همان طور که اشاره شد، تگ form به تنهایی قابلیت خاصی در اختیار کاربران قرار نمی دهد، بلکه با کمک تگ ها و خاصیت های دیگر است که امکانات بالقوه آن قابل استفاده است، این تگ ها به طور کلی شامل input، select و textarea می شوند که در زیر کاربرد آنها توضیح داده شده است.
- تگ input: با خاصیت هایی که می پذیرد برای ایجاد دکمه های رادیویی، فیلدهای متنی (متن کوتاه)، دکمه ارسال، فیلدهای مربوط به کلمه عبور، فیلد آپلود فایل و... کاربرد دارد، تگ input باید به صورت یکتا استفاده شود.
- تگ select: تگ select در کنار تگ option قابلیت ایجاد منوهای بازشونده و انتخاب یک یا چند مورد را فراهم می کند، تگ select باید به صورت جفتی استفاده شود.
- تگ textarea: برای ایجاد فیلدهای ورود متن (متن طولانی) کاربرد دارد، تگ textarea باید به صورت جفتی استفاده شود.
تگ input در form
اصلی ترین تگی که به همراه تگ form در ایجاد قابلیت های تعاملی نقش دارد، input است که با تنظیم type های مختلف برای آن می توان انواع مختلفی از امکانات نظیر فیلد متنی (text)، فیلد کلمه عبور (password)، دکمه معمولی (button)، دکمه ارسال (submit) و ... را ایجاد کرد، در زیر چند نمونه اولیه از نحوه تعریف و به کارگیری تگ input را ملاحظه می کنید.
<form action="user/comment/get.php" method="get">
<input type="button" />
<input type="checkbox" />
<input type="hidden" />
<input type="password" />
<input type="submit" />
<input type="text" />
</form>
مقادیری که تگ input برای خاصیت type می پذیرد و کاربرد آنها به صورت خلاصه در زیر عنوان می شود.نوع button
برای ایجاد دکمه های ساده به کار می رود، یک دکمه معمولی باید به همراه دستورات جاوا اسکریپت تکمیل شود در غیر این صورت به خودی خود کاربردی ندارد، به طور مثال:
<form action="user/comment/get.php" method="get">
<input type="button" value="دکمه" onclick="javascript:alert('دکمه در تگ فرم باید با دستورات جاوا اسکریپت تکمیل شود')" />
</form>
نوع checkbox
از این مقادیر به همراه تگ input برای ایجاد باکس های قابل تایید (چک باکس) استفاده می شود، مثال:
<form action="user/comment/get.php" method="get">
<input type="checkbox" checked="checked" name="choose" value="1" />
</form>
اگر به مثال های بالا دقت کرده باشید، هر مقادیر زیرمجموعه، می تواند تنظیمات به خصوصی نیز داشته باشد، به فرض وقتی برای چک باکس از پارامتر checked استفاده می شود، یعنی حالت پیش فرض آن را به صورت انتخاب شده تنظیم می کنیم، یا پارامتر name باعث می شود تا اطلاعات فرم پس از ارسال در سرور قابل دریافت باشد (اطلاعات هر تگ با نام آن قابل شناسایی است).نکته: خاصیت value برای دکمه ها، صرفا حالت نمایشی دارد، اما برای سایر موارد به عنوان مقادیر پیش فرض، به سرور ارسال می شود.
نوع file
برای آپلود یک فایل به سرور استفاده می شود، به طور مثال:
<form action="user/comment/get.php" method="get" enctype="multipart/form-data">
<input type="file" name="file-name" accept="image/gif,image/jpg,application/pdf" />
</form>
برای اینکه نوع file به درستی عمل کند، باید enctype (رمزنگاری) را با مقادیر multipart/form-data به تگ form اضافه کنیم.نکته: پارامتر اختیاری accept مشخص کننده فرمت های مجازی است که از طریق فیلد، قابل آپلود هستند، این فرمت ها بر اساس استاندارد MIME یا (Multipurpose Internet Mail Extensions) مشخص می شوند، اگرچه MIME در اصل استانداردی برای نقل و انتقال اطلاعات از طریق ایمیل در وب است، اما برای صفحات وب نیز کاربرد دارد، برای کسب اطلاعات بیشتر می توانید در لینک زیر لیست تقریبا کاملی از فرمت ها و معادل آنها در استاندارد MIME را ملاحظه کنید.
لیست فرمت ها و معادل آنها در استاندارد MIME
نوع hidden
برای ایجاد فیلدهای مخفی کاربرد دارد، مقادیر فیلدهای مخفی ثابت است و بدون تغییر کاربر به سرور ارسال می شود، مثال:
<form action="user/comment/get.php" method="get">
<input type="hidden" name="hidden-name" value="1" />
</form>
نوع hidden کاربردهای خاصی دارد، به طور مثال با تنظیم یک فیلد مخفی، می توان از ارسال شدن یک فرم اطمینان حاصل کرد یا برخی بررسی های امنیتی را با آن انجام داد.نوع image
از نوع image برای ایجاد یک دکمه ارسال فرم (که خود از یک تصویر به عنوان پس زمینه استفاده می کند) استفاده می شود، مثال:
<form action="user/comment/get.php" method="get">
<input type="image" src="image/image.jpg" alt="submit" />
</form>
نکته: نوع image علاوه بر ارسال فرم، مختصات موقعیت خود در صفحه را نیز به سرور ارسال می کند، این مختصات به صورت دو پارامتر X و Y دریافت می شوند که هر کدام با یک مقدار عددی موقعیت افقی و عمودی تصویر را در صفحه مشخص می کنند.نوع password
از نوع password برای ایجاد فیلدهای کلمه عبور (ستاره ای) استفاده می شود، مثال:
<form action="user/comment/get.php" method="get">
<input type="password" name="pass" maxlength="25" />
</form>
اگر در مثال بالا دقت کرده باشید، یک پارامتر دیگر نیز به فرم خود اضافه کرده ایم، این پارامتر maxlength نام دارد که از آن برای تعیین حداکثر کاراکتر مجاز یک فیلد (معمولا فیلد متنی و پسورد) استفاده می شود.نکته: استفاده از نوع password در فرم های وب (فیلدهای کلمه عبور) از لحاظ حفظ امنیت کاربران اهمیت زیادی دارد.
نوع radio
از نوع radio برای ایجاد دکمه های رادیویی تایید شونده در فرم های وب استفاده می شود، مثال:
<form action="user/comment/get.php" method="get">
<input type="radio" name="radio-box" value="1" />
</form>
نوع reset
نوع reset برای ایجاد یک دکمه که با کلیک بر روی آن اطلاعات فیلدها به حالت پیش فرض برمی گردد کاربرد دارد، مثال:
<form action="user/comment/get.php" method="get">
<input type="reset" value="نوشتن از نو" />
</form>
نکته: استفاده از این قابلیت باید با دقت انجام شود، چرا که کلیک ناخواسته بر روی دکمه rest باعث از دست رفتن اطلاعات فعلی فیلدها می شود.نوع submit
نوع submit برای ایجاد دکمه ارسال اطلاعات فرم کاربرد دارد، مثال:
<form action="user/comment/get.php" method="get">
<input type="submit" value="ارسال" />
</form>
نوع text
از نوع text برای ایجاد فیلدهای متنی (متن کوتاه) استفاده می شود، مثال:
<form action="user/comment/get.php" method="get">
<input type="text" name="text-feild" maxlength="255" />
</form>
تگ select در form
در صفحات html برای ایجاد یک منوی کشویی که دارای چند گزینه باشد، از تگی به نام select به همراه تگ زیرمجموعه آن یعنی option استفاده می شود، به طور مثال:
<form action="user/comment/get.php" method="get">
<select name="select-option">
<option value="0" selected="selected">انتخاب کنید</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>
نکته: خاصیت selected گزینه پیش فرض یک منو را مشخص می کند.در حالت عادی هر تگ select مجاز به ارسال تنها یک مقدار است، لذا برای ارسال مقادیر چندگانه، باید خاصیت multiple را به این تگ اضافه کنیم، مثال:
<form action="user/comment/get.php" method="get">
<select name="select-option[]" multiple="multiple">
<option value="0" selected="selected">انتخاب کنید</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>
نکته 1: برای انتخاب چند گزینه از یک منوی select، کلید Ctrl را نگهداشته و گزینه های خود را انتخاب کنید.نکته 2: اطلاعات فرم چندگانه به صورت یک آرایه به سرور ارسال می شود و علامت [] در انتهای نام منو بدین منظور نیاز است (درک مفهوم آرایه هدف این آموزش نیست، اما جهت آشنایی بیشتر و به زبان ساده آرایه در برنامه نویسی زبان های سمت سرور مانند php، asp و... به معنی یک متغیر است که درون خود چند متغیر دیگر دارد).
تگ textarea در form
در کنار دو تگ اصلی input و select عنصر دیگری در صفحات وب جهت ایجاد قابلیت های تعاملی نقش کلیدی دارد، این عنصر تگ textarea است که جهت ایجاد فیلدهای متنی (متن طولانی) به عنوان مثال برای وارد کردن یادداشت، ارسال مطلب، نمایش یک متن کپی رایت و... کاربرد دارد، به طور مثال:
<form action="user/comment/get.php" method="get">
<textarea name="your-text" cols="50" rows="8">
متن خود را اینجا بنویسید
</textarea>
</form>
تنظیم یک فیلد از نوع textarea به وسیله خاصیت های زیرمجموعه آن از جمله cols (ستون ها) و rows (سطرها) صورت می گیرد، از cols برای تعیین عرض و از rows برای ارتفاع استفاده می شود.نکته 1: اندازه ها برای cols و rows صرفا جهت نمایش دلخواه فیلد کاربرد دارند و مانع ورود کاراکترهای بیشتر نمی شوند، برای محدود کردن تعداد کاراکتر مجاز از خاصیت maxlength استفاده کنید (البته محدودیت کاراکتر می تواند در سرور اعمال گردد یا در صفحات وب از تکنیک های دیگری مانند جاوا اسکریپت برای نمایش حداکثر کاراکتر مجاز به کاربر استفاده شود).
نکته 2: در حالت پیش فرض، هر فیلد متنی از نوع textarea ممکن است با اندکی تفاوت (از لحاظ ارتفاع و عرض) در مرورگرهای مختلف نمایش داده شود، برای تنظیم دقیق و یکسان اندازه باید از CSS استفاده کنیم (که خود مبحثی جدا است).
خاصیت readonly
تگ textarea برای نمایش متن های readonly (صرفا خواندنی) نیز کاربرد دارد، به طور مثال می توان با افزودن خاصیت readonly به آن، یک متن برجسته شده را جهت مطالعه کاربر به او نشان داد (کاربر قادر به تغییر متن نیست)، مثال:
<form action="user/comment/get.php" method="get">
<textarea name="your-text" cols="50" rows="8" readonly="readonly">
متن خود را اینجا بنویسید
</textarea>
</form>
خاصیت های disabled
برای غیر فعال کردن تگ های فرم (به طور کلی) از خاصیتی به نام disabled استفاده می شود، با این کار اگرچه فرم ها به ظاهر نمایش داده می شوند، اما عملا کاربر قادر به وارد کردن اطلاعات یا انتخاب موردی نیست، مثال:
<form action="user/comment/get.php" method="get">
<textarea name="your-text" cols="50" rows="8" disabled="disabled">
متن خود را اینجا بنویسید
</textarea>
</form>
نکته: خاصیت disabled محدود به تگ textarea نیست و عمومیت دارد.استفاده از label در form
برای ایجاد برچسب های استاندارد در فرم های وب، از تگی (جفتی) به نام label استفاده می شود، label در واقع نقش معرف و برچسب را برای یک تگ فرم ایفا می کند، مثال:
<form action="user/comment/get.php" method="get">
<label for="my-text">یادداشت:</label>
<textarea name="your-text" cols="50" rows="8" id="my-text">
متن خود را اینجا بنویسید
</textarea>
</form>
همان طور که ملاحظه می کنید، label از یک id برای شناسایی فیلد مربوطه استفاده می کند، در واقع برای هر فیلدی که قصد تعریف برچسب داریم، یک id تعریف کرده و با خاصیت for برچسب را به آن نسبت می دهیم.نکته: در کنار خاصیت های عنوان شده، برخی خواص کلی مانند class، dir، id، lang و... نیز برای تگ های فرم قابل اعمال است.
مثال و پیش نمایش آنلاین
در زیر یک مثال کاربردی از تگ form و پیش نمایش آنلاین آن را ملاحظه می کنید.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>وبگو | استفاده از فرم در صفحات وب</title>
<!-- https://webgoo.ir -->
<style type="text/css">
body{
font-family:Tahoma, Geneva, sans-serif;
font-size:12px;
direction:rtl;
line-height:20px;
}
label{
width:100px;
height:25px;
display:inline-block;
vertical-align:top;
}
</style>
</head>
<body>
<form action="form-get.php" method="post">
<label for="name">نام:</label>
<input type="text" name="name" id="name" maxlength="255" />
<br />
<label for="pass">رمز:</label>
<input type="password" name="pass" id="pass" maxlength="255" />
<br />
<label for="pass">کشور:</label>
<select name="country" id="country">
<option value="" selected="selected">انتخاب کنید</option>
<option value="Iran">ایران</option>
<option value="Japan">ژاپن</option>
<option value="Afghanistan">افغانستان</option>
<option value="Germany">آلمان</option>
<option value="Australia">استرالیا</option>
</select>
<br />
<label for="text">یادداشت:</label>
<textarea name="text" id="text" cols="30" rows="6">
</textarea>
<br />
<input type="submit" value="ارسال" />
</form>
<hr />
اطلاعات فرم بالا پس از ارسال (متد post)، به فایلی با نام فرضی form-get.php فرستاده شده و پردازش می شود.
</body>
</html>
پیش نمایشدسته بندی: آموزش مقدماتی » HTML
برچسب ها: HTML

نحوه ایجاد لینک در HTML
ایجاد جدول با تگ table در HTML
آشنایی با مفهوم Semantic در HTML
کار با تگ های ایجاد کننده لیست در HTML
فرمت بندی و کار با متن و پاراگراف در HTML
دیدگاه


گلناز
۱۶:۳۳ ۱۳۹۳/۰۹/۰۸
با تشکر از شما
alireza
۲۰:۳۴ ۱۳۹۳/۰۸/۰۳
سلام خسته نباشید. تازه طراحی وب رو شروع کردم. یک پیج توی فتوشاپ طراحی کردم. حالا دارم به html تبدیل می کنمش. می خوام برای قسمت sign up تگ form رو وارد کنم که وقتی تگ رو می نویسم یه مشکل پیش می یاد. یکی از تگ های p که در بالا کنار لوگو قرار دادم (شعار سایت) تغییر مکان میده. شاید 30 پیکسل بیاد پایین. البته فقط توی مرورگر کروم اینطوری نشون میده. اون هم وقتی که صفحه رو برای بار دوم رفرش می کنم. واقعا نمی دونم این یکی رو چه جوری حل کنم. لطفا کمکم کنید. هر جای کد تگ form رو وارد می کنم این مشکل پیش می یاد
سلام
دوست گرامی این نوع مشکلات ناشی از نداشتن تجربه لازم در کار با CSS است که آن هم تنها با تمرین و تکرار قابل حل است، در واقع به نظر مشکل اصلی از این است که چینش عناصر HTML صفحه شما متناسب با خاصیت های CSS طراحی نشده یا ایرادات جزئی دارد، به طور مثال ممکن است تگ P حاشیه (margin) اضافه داشته باشد و عرض آن از عرض بلاک والد بیشتر باشد، به هر صورت یک نمونه کد از خروجی صفحه خود را در قالب فایل فشرده به ایمیل ما (موجود در بخش تماس) ارسال کنید تا بررسی گردد.
دوست گرامی این نوع مشکلات ناشی از نداشتن تجربه لازم در کار با CSS است که آن هم تنها با تمرین و تکرار قابل حل است، در واقع به نظر مشکل اصلی از این است که چینش عناصر HTML صفحه شما متناسب با خاصیت های CSS طراحی نشده یا ایرادات جزئی دارد، به طور مثال ممکن است تگ P حاشیه (margin) اضافه داشته باشد و عرض آن از عرض بلاک والد بیشتر باشد، به هر صورت یک نمونه کد از خروجی صفحه خود را در قالب فایل فشرده به ایمیل ما (موجود در بخش تماس) ارسال کنید تا بررسی گردد.
hamid
۲۲:۳۸ ۱۳۹۳/۰۸/۰۱
سلام خیلی ممنون از مطلبتون واقعا عالی بود. فقط من یه سوال داشتم چطوری میشه با جهت ها یه عدد رو دخل لیبل کم و زیاد کرد اگه کدشو بهم بدید ممنون میشم.
سلام
برای این کار باید از جاوا اسکریپت استفاده کنید، دکمه ها با کدهای زیر مشخص می شوند:
برای این کار باید از جاوا اسکریپت استفاده کنید، دکمه ها با کدهای زیر مشخص می شوند:
left = 37
up = 38
right = 39
down = 40
یک نمونه کد:document.onkeydown = checkKey;
function checkKey(e) {
e = e || window.event;
if (e.keyCode == '38') {
//up arrow
}
else if (e.keyCode == '40') {
//down arrow
}
}
این نمونه کد صرفا جهت کمک به حل مشکل است (کاربردی نیست) می توانید با استفاده از این نمونه کد یک تابع کامل بنویسید و در رویداد onkeydown یا onkeypress آن را فراخوانی کنید.Narin
۱۲:۰۱ ۱۳۹۳/۰۸/۰۱
لطفا راهنماييم كنيد :((( ميخوام از drop down وقتي نام عكس رو انتخاب كردم و بعد دكمه ي display رو زدم عكس مورد نظر برام نشون داده بشه
برای این کار باید از جاوا اسکریپت استفاده کنید، نمونه کد:
<script type="text/javascript">
function showImage(name, id){
var elm = document.getElementById(id);
var src = '<img src="http://webgoo.ir/images/';
if(name != ''){
elm.innerHTML = src + name + '">';
}
else{
elm.innerHTML = '';
}
}
</script>
<select onchange="showImage(this.value, 'result');">
<option value="">- Select -</option>
<option value="mysql-php-limit-download.jpg">mysql</option>
<option value="php-htaccess-download.jpg">php</option>
</select>
<br><br>
<div id="result"></div>
reaza
۱۲:۰۲ ۱۳۹۳/۰۷/۱۸
با سلام
مي خواستم ببينم چطور مي شود يك ليبل يا تكست در دات نت را در داخل يك تكست يا ليبل در جاوا اسكريپت ريخت.
بطور خلاصه مي خواهم اطلاعات را از ديتا خوانده و در متغيري در اسكرايپت بريزم - در قسمت ارتباط دادن دو متغيير مشكل دارم.
با تشكر
مي خواستم ببينم چطور مي شود يك ليبل يا تكست در دات نت را در داخل يك تكست يا ليبل در جاوا اسكريپت ريخت.
بطور خلاصه مي خواهم اطلاعات را از ديتا خوانده و در متغيري در اسكرايپت بريزم - در قسمت ارتباط دادن دو متغيير مشكل دارم.
با تشكر
سلام
لطفا به سایت های مرتبط با دات نت مراجعه کنید.
لطفا به سایت های مرتبط با دات نت مراجعه کنید.
Ali Zeus
۲۰:۱۸ ۱۳۹۳/۰۷/۰۲
با سلام مجدد
شرمنده باز هم مزاحم شدم
وقتی فرمی رو ارسال کردیم اگر دوباره همون صفحه رو ریفرش کنیم فرم دوباره ارسال میشه
بهترین و اسانترین روش برای جلوگیری چیه؟
//جلوگیری از ارسال مجدد توسط دادن سشن یا کوکی رو بلدم... از دیتابیس هم استفاده نکردم و به دلایلی نمیخوام بعد از ارسال، صفحه رفرش بشه تا این خاصیت مزاحم از بین بره
//فکر کنم کدی رو میشد به تگ فرم اضافه کرد برای جلوگیری از ارسال دوباره ولی یادم نمیاد
بهترین کار چیه؟
با تشکر
شرمنده باز هم مزاحم شدم
وقتی فرمی رو ارسال کردیم اگر دوباره همون صفحه رو ریفرش کنیم فرم دوباره ارسال میشه
بهترین و اسانترین روش برای جلوگیری چیه؟
//جلوگیری از ارسال مجدد توسط دادن سشن یا کوکی رو بلدم... از دیتابیس هم استفاده نکردم و به دلایلی نمیخوام بعد از ارسال، صفحه رفرش بشه تا این خاصیت مزاحم از بین بره
//فکر کنم کدی رو میشد به تگ فرم اضافه کرد برای جلوگیری از ارسال دوباره ولی یادم نمیاد
بهترین کار چیه؟
با تشکر
سلام
تا جایی که اطلاع داریم چنین کدی (که به فرم اضافه کنیم) جهت رفع این حالت وجود ندارد! راه حل یا استفاده از سشن و کوکی است، یا ریدایرکت کاربر پس از ارسال فرم و دریافت اطلاعات به صفحه ای دیگر با دستورات header و location در PHP تا درخواست از حالت POST به GET تغییر پیدا کند، انتخاب هر کدام بستگی به هدف و نیازتان دارد.
تا جایی که اطلاع داریم چنین کدی (که به فرم اضافه کنیم) جهت رفع این حالت وجود ندارد! راه حل یا استفاده از سشن و کوکی است، یا ریدایرکت کاربر پس از ارسال فرم و دریافت اطلاعات به صفحه ای دیگر با دستورات header و location در PHP تا درخواست از حالت POST به GET تغییر پیدا کند، انتخاب هر کدام بستگی به هدف و نیازتان دارد.
Ali Zeus
۰۰:۵۸ ۱۳۹۳/۰۵/۳۰
با سلام و ممنون از پاسختون .... به این ترتیب استفاده از اچ تی اکسز بهتر و کاملتر است ...
واقعا ممنون از توضیحاتتون
واقعا ممنون از توضیحاتتون
Ali Zeus
۰۲:۴۹ ۱۳۹۳/۰۵/۲۹
با سلام
باز هم مزاحمتون شدم
ایا راهی جز استفاده از اچ تی اکسز برای حذف علامت سوال از ادرس ایجاد شده متد get وجود دارد؟
تبدیل مثلا
و فرق
بسیار ممنون
باز هم مزاحمتون شدم
ایا راهی جز استفاده از اچ تی اکسز برای حذف علامت سوال از ادرس ایجاد شده متد get وجود دارد؟
تبدیل مثلا
www.example.com?username
بهwww.example.com/username
//ترجیحا با پی اچ پیو فرق
$_REQUEST
با$_Get
چیست؟بسیار ممنون
سلام
- به جزء htaccess می توان از PHP نیز بدین منظور استفاده کرد، البته این روش در مقایسه با htaccess معایبی دارد، از جمله روش اصلی کمی سریع تر است چون مستقیما در سرور اجرا می شود، اما روش دوم در مفسر PHP، برای تمام صفحات و درخواست هایی که به سرور ارسال می شود کاربرد دارد، اما روش PHP فقط برای فایل های PHP و نیاز به وجود فایل index.php در دایرکتوری است (لذا محدود تر است).
- REQUEST عام تر و در یک درخواست HTTP از سرور شامل یک آرایه از مقادیر ارسال شده از طرق متد POST، GET و COOKIE است:
- به جزء htaccess می توان از PHP نیز بدین منظور استفاده کرد، البته این روش در مقایسه با htaccess معایبی دارد، از جمله روش اصلی کمی سریع تر است چون مستقیما در سرور اجرا می شود، اما روش دوم در مفسر PHP، برای تمام صفحات و درخواست هایی که به سرور ارسال می شود کاربرد دارد، اما روش PHP فقط برای فایل های PHP و نیاز به وجود فایل index.php در دایرکتوری است (لذا محدود تر است).
- REQUEST عام تر و در یک درخواست HTTP از سرور شامل یک آرایه از مقادیر ارسال شده از طرق متد POST، GET و COOKIE است:
http://php.net/manual/en/reserved.variables.request.php
اما GET صرفا به پارامترهای ارسال شده از طریق همین متد محدود می شود.Ali Zeus
۱۹:۳۹ ۱۳۹۳/۰۵/۲۵
بسیار ممنون
Ali Zeus
۱۳:۳۹ ۱۳۹۳/۰۵/۲۵
با سلام
ببخشید باز هم مزاحم شدم
ایا تابعی وجود دارد تا حروف انگلیسی را به حروف فارسی تبدیل کند؟
مثال
ببخشید باز هم مزاحم شدم
ایا تابعی وجود دارد تا حروف انگلیسی را به حروف فارسی تبدیل کند؟
مثال
a=>ا b=>ب c=>س d=>د ....
یا تنها راه، استفاده از تابع هایی مثلstr_replace("b","ب",$_POST['message'])
هست؟سلام
تا آنجا که اطلاع داریم چنین تابعی به صورت پیش فرض وجود ندارد و باید آن را تعریف کنید.
تا آنجا که اطلاع داریم چنین تابعی به صورت پیش فرض وجود ندارد و باید آن را تعریف کنید.
Ali Zeus
۰۲:۳۰ ۱۳۹۳/۰۵/۱۸
با سلام مجدد و واقعا ممنون از کمکی که کردین
واقعا همچین اطلاعات و پشتیبانی عالی و دقیقی در هیچ سایتی ارائه نمیشه
در ضمن، بله، من از strip_tags استفاده میکنم تا اگر کد html در اطلاعات وارد شده وجود داشت، خنثی بشه
باز هم ممنون
واقعا همچین اطلاعات و پشتیبانی عالی و دقیقی در هیچ سایتی ارائه نمیشه
در ضمن، بله، من از strip_tags استفاده میکنم تا اگر کد html در اطلاعات وارد شده وجود داشت، خنثی بشه
باز هم ممنون
Ali Zeus
۰۰:۳۰ ۱۳۹۳/۰۵/۱۶
با سلام مجدد و خسته نباشد
بسیار ممنون از پاسختون، مشکلم با کد اعتبار سنجی که قرار دادین حل شد
و با عرض معذرت سوال دیگری داشتم
یک فیلد textarea برای قرار دادن متن ایجاد کردم تا توسط کاربر تکمیل شه حالا چطور میشه اینتر ها (خط بعدی) رو به <br> تبدیل کرد تا هنگام خواندن متن، بصورت درهم نباشه؟
قبل از فرستادن به دیتابیس یا بعد از فرستادن و هنگام خواندن؟
در ضمن از فــــــیـــــلتر strip_tags به صورت
بسیار ممنون از پاسختون، مشکلم با کد اعتبار سنجی که قرار دادین حل شد
و با عرض معذرت سوال دیگری داشتم
یک فیلد textarea برای قرار دادن متن ایجاد کردم تا توسط کاربر تکمیل شه حالا چطور میشه اینتر ها (خط بعدی) رو به <br> تبدیل کرد تا هنگام خواندن متن، بصورت درهم نباشه؟
قبل از فرستادن به دیتابیس یا بعد از فرستادن و هنگام خواندن؟
در ضمن از فــــــیـــــلتر strip_tags به صورت
strip_tags($_POST['About'])
قبل از فرستادن اطلاعات به دیتابیس استفاده میکنمسلام
استفاده از strip_tags ضرورتی ندارد و به خودی خود آسیبی به دیتابیس نمی زند، مگر اینکه بخواهید سورس HTML رشته را خنثی کنید (یعنی تگ ها را در متن ورودی بی اثر کنید)، برای تبدیل خط جدید به تگ br از تابع
استفاده از strip_tags ضرورتی ندارد و به خودی خود آسیبی به دیتابیس نمی زند، مگر اینکه بخواهید سورس HTML رشته را خنثی کنید (یعنی تگ ها را در متن ورودی بی اثر کنید)، برای تبدیل خط جدید به تگ br از تابع
nl2br();
در PHP استفاده کنید (می توانید قبل از ذخیره در دیتابیس این کار را انجام دهید تا اطلاعات همان طور که دیده می شوند در جداول درج شوند)، اگر آرگومان دوم این تابع TRUE باشد، از حالت XHTML استفاده می شود یعنی به صورت<br />
نکته: ایمن سازی اطلاعات قبل از درج در دیتابیس از طریق روش هایی که وجود دارد (به طور مثال استفاده از تابع mysql_real_escape_string توصیه می شود).Ali Zeus
۰۲:۳۲ ۱۳۹۳/۰۵/۱۴
با سلام و خسته نباشید
دو سوال در رابطه با form داشتم
اول اینکه کد
و سوال دوم اینکه آیا فــیــلــتــری برای برسی آی پی در پی اچ پی وجود دارد؟ بصورتی که ای پی ارسالی (از طرف مدیر سایت جهت مسدود شدن) از یک اینپات text را برسی کند (تعداد ارقام ای پی و تعداد نقطه ها)
ممنون از سایت عالی شما
دو سوال در رابطه با form داشتم
اول اینکه کد
accept="image/gif,image/jpg"
را به اینپات file اظافه کردم که فقط امکان انتخاب عکس با دو فرمت gif و jpg وجود داشته باشد اما اینپات file تمام فایها را نشان میدهدو سوال دوم اینکه آیا فــیــلــتــری برای برسی آی پی در پی اچ پی وجود دارد؟ بصورتی که ای پی ارسالی (از طرف مدیر سایت جهت مسدود شدن) از یک اینپات text را برسی کند (تعداد ارقام ای پی و تعداد نقطه ها)
ممنون از سایت عالی شما
سلام
خاصیت accept جزء موارد متروک شده در HTML است که تقریبا در هیچ مرورگر جدیدی پشتیبانی نمی شود، برای اعتبارسنجی آپلود فایل باید در سمت سرور و از طریق PHP یا برای حالت نمایشی در مرورگر با جاوا اسکریپت این کار را انجام دهید.
اگر منظور اعتبار سنجی IP است، تابع زیر این کار را انجام می دهد:
خاصیت accept جزء موارد متروک شده در HTML است که تقریبا در هیچ مرورگر جدیدی پشتیبانی نمی شود، برای اعتبارسنجی آپلود فایل باید در سمت سرور و از طریق PHP یا برای حالت نمایشی در مرورگر با جاوا اسکریپت این کار را انجام دهید.
اگر منظور اعتبار سنجی IP است، تابع زیر این کار را انجام می دهد:
<?php
$ip = "192.168.0.1";
if(!filter_var($ip, FILTER_VALIDATE_IP)){
echo "IP is not valid";
}
else
{
echo "IP is valid";
}
?>
مثال برای IP نسخه 6:<?php
$ip = "2001:0db8:85a3:08d3:1319:8a2e:0370:7334";
if(!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
{
echo "IP is not valid";
}
else
{
echo "IP is valid";
}
?>
نکته: مثال ها برگرفته از سایت w3schools.com است.۱۴:۱۸ ۱۳۹۳/۰۵/۱۲
سلام. خسته نباشید.
آیا ظاهر تگ input از نوع radio با استفاده از css تغییر می کند ؟
اگر می شود چگونه؟؟ با تشکر.
آیا ظاهر تگ input از نوع radio با استفاده از css تغییر می کند ؟
اگر می شود چگونه؟؟ با تشکر.
سلام
متاسفانه خیر! ظاهر فیلد radio button شامل border، color و background با CSS قابل تغییر نیست، روش های جایگزینی مانند استفاده از جاوا اسکریپت وجود دارد.
متاسفانه خیر! ظاهر فیلد radio button شامل border، color و background با CSS قابل تغییر نیست، روش های جایگزینی مانند استفاده از جاوا اسکریپت وجود دارد.
majid
۰۰:۵۶ ۱۳۹۳/۰۵/۰۷
با سلام
من یک dropdownlist دارم که اسم افراد را از پایگاه داده میخواند و نمایش میدهد، من میخوام وقتی یک شخص را انتخاب کردم و دکمه submit را زدم کل سطر مربوط به ان (اطلاعات کل شخص انتخاب شده) را در یک جدول دیگر در پایگاه داده ذخیره کنم چطور میشود اینکار را انجام داد. با تشکر از مطالب خوبتان
من یک dropdownlist دارم که اسم افراد را از پایگاه داده میخواند و نمایش میدهد، من میخوام وقتی یک شخص را انتخاب کردم و دکمه submit را زدم کل سطر مربوط به ان (اطلاعات کل شخص انتخاب شده) را در یک جدول دیگر در پایگاه داده ذخیره کنم چطور میشود اینکار را انجام داد. با تشکر از مطالب خوبتان
سلام
قاعدتا باید نام یا هر اطلاعات دیگری از فرد که یکتا باشد (مانند شماره ID کاربر) را از طریق متد POST یا GET دریافت و مطابق با آن نتایج را از دیتابیس SELECT کنید، انجام صحیح این مراحل مستلزم آشنایی قبلی شما با مباحث مقدماتی کار با PHP و MySQL است.
قاعدتا باید نام یا هر اطلاعات دیگری از فرد که یکتا باشد (مانند شماره ID کاربر) را از طریق متد POST یا GET دریافت و مطابق با آن نتایج را از دیتابیس SELECT کنید، انجام صحیح این مراحل مستلزم آشنایی قبلی شما با مباحث مقدماتی کار با PHP و MySQL است.
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.