campaign-off40

دوره مجازی PHP (جلسه 8): کار با فرم ها و داده های ورودی کاربران



visibility  
mode_comment   ۱۲۱

در این جلسه به صورت کامل با فرم ها و فیلدهای html و نحوه ی دریافت داده ها از کاربران صحبت خواهیم کرد .

موارد مطرح شده در این جلسه به شرح زیرند :

فصل 8 : کار با فرم ها و داده هاي ورودي کاربران

  • توضيحي در مورد ورودي ها و خروجي ها در زبان هاي برنامه نويسي
  • دريافت ورودي ها در زبان PHP
  • تشريح کاربرد و عملکرد فرم ها در صفحات وب
  • تفاوت دو متد Post و Get در ارسال داده ها به سمت سرور
  • ساختار ارسال داده ها با متد Get در Url ها (QueryString Structure)
  • ساختار يک فرم در زبان Html
  • اجزاء مختلف تشکيل دهنده ي فرم هاي Html
  • تگ form
  • فيلدهاي متني (Text)
  • فيلدهاي ناحيه ي متني (Textarea)
  • فيلد هاي انتخاب گزينه (radio button , checkbox)
  • فيلد هاي ليستي (Select)
  • فيلد آپلود فايل (File)
  • فيلدهاي مخفي (Hidden)
  • دکمه ها (Button , Submit)
  • ليبل ها (Label)
  • دريافت اطلاعات ارسال شده از فرم ها در PHP
  • ميني پروژه : ساخت يک فرم ثبت نام براي ذخيره سازي اطلاعات افراد و ارسال داده ها به سمت PHP
  • تمرين
info توجه

این مطلب یک جلسه از آموزش زبان برنامه نویسی php می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در آموزش زبان برنامه نویسی php

comment دیدگاه کاربران
na3r replyپاسخ

وقت بخیر … ممنون از این جلسه …
آیا میشه فرمی طراحی کرد که داده های ورودی چندتا (یا همه ی) input ها رو درون یک hidden input قرار بده و بفرسته ..؟ و آیا برای انجام چنین کاری باید از جاوااسکریپت استفاده کرد..؟
لطفا راهنمایی بفرمایین.

کیوان علی محمدی

سلام،بعد از ارسال فرمتون می تونید در کدهای php مقادیر تمام فیلد ها رو بگیرید و به صورت یه رشته در بیارید و بفرستید.

na3r

خوب متاسفانه این امکان رو ندارم چون دریافت Request از سمت یه سایت دیگه است که اجازه ی ارسال یه دونه ایمپوت رو به من داده ولی من برای اینکه بخوام این ایمپوت رو به چندتا ایمپوت تجزیه کنم مشکل دارم!
فکر می کنم راهی بجز استفاده از جاوا اسکریپت نباشه ولی راهشو بلد نیستم …!
– تصور کنین یه ایمپوت توضیحات می تونم بفرستم که من می خوام این ایمپوت با چندتا فیلد نام ، نام خانوادگی ، شماره موبایل و … مقدار دهی بشه و سابمیت بشه.

سجاد دریس

خب موقع پر کردن input مقادیر رو با یک علامت خاص مثل _ یا – یا , و … جدا کنید، بعد در فایل پردازشگر، مقدار ارسال شده رو به تابع explode بدین که مقدار رو بر اساس اون کاراکتر خاص جداکننده، تجزیه کنه و یک آرایه بهتون بده.
مثال

بهرام replyپاسخ

سلام خسته نباشید
من یه مدت نبودم فکر میکنم خیلی عقب افتادم. فکر میکردم قراره هفته ای یه جلسه منتشر بشه. الان اگه جلساتی که گذشته رو بخونم بعد سوالی اونجا پیش بیاد جواب میدین یا گذشته دیگه؟ 🙁

لقمان آوند

آره آقا بهرام
سوالاتت در مورد هر جلسه رو تو بخش نظرات همون جلسه مطرح کن .
مهم نیست کی بپرسی . در هر حال پاسخ می دیم داداش

na3r

پس چرا سوال منو جواب ندادین بالای همین کامنت؟! ):

سجاد دریس

پاسخ داده شد

لقمان آوند

ببخشید در رفته بود زیر دستمون !
اگر مشکلت حل نشد بگو .

na3r replyپاسخ

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

خوب متاسفانه این امکان رو ندارم چون دریافت Request از سمت یه سایت دیگه است که اجازه ی ارسال یه دونه ایمپوت رو به من داده ولی من برای اینکه بخوام این ایمپوت رو به چندتا ایمپوت تجزیه کنم مشکل دارم!
فکر می کنم راهی بجز استفاده از جاوا اسکریپت نباشه ولی راهشو بلد نیستم …!
– تصور کنین یه ایمپوت توضیحات می تونم بفرستم که من می خوام این ایمپوت با چندتا فیلد نام ، نام خانوادگی ، شماره موبایل و … مقدار دهی بشه و سابمیت بشه.

لقمان آوند

آره باید از جاوااسکریپت استفاده کنی .
از رویداد onsubmit فرم استفاده کن و در اون زمان باید مقادیر همه ی فیلد ها رو به هم بچسبونی و در یه فیلد مخفی بزاری که ارسال شه …
کدش رو می تونی بنویسی ؟

na3r

نه راستش ! خیلی سرچ کردم به یه چیزایی هم برخوردم ولی نتونستم کد صحیحی بنویسم.

na3r

خیلی ممنون! با کمک onsubmit تونستم یه کد خیلی تمیز بنویسم با جی کوئری.
مشکلم حل شد!
می تونین اینجا ببینین :
http://jsfiddle.net/na3r/A888y

لقمان آوند

خوب شده .
فقط سعی کن یه کاراکتر جداکننده ی دیگه غیر از نقطه بزاری که احتمال استفادش در ورودی ها کمتر باشه . | یا * خوبن .

1234567890 replyپاسخ

سلام

اعتبارسنجی فرم ها رو چطوری میشه انجام داد ؟ کاشکی یکم هم به این موضوع اشاره کنید …

باتشکر

لقمان آوند

سلام
یه توضیح کلی دادیم توی این دوره و مثالی رو هم زدیم . اعتبارسنجی مربوط به زبان جاوااسکریپت هست . بیش از این تو دوره ی php نمی شه وقت براش گذاشت . ایشالله بعدا در دوره ی جاوااسکریپت این مورد رو مفصلا آموزش میدیم .

nasrin replyپاسخ

سلام در مورد اعتبار سنجی یه سوال داشتم میخواستم بدونم وقتی اعتبار سنجی سمت کاربر رو نوشتیم باید همون رو به زبان php هم بنویسیم مثلا میخوام یکی از فیلدها خالی رها نشه باید هم به زبان جاوااسکریپت بنویسم هم به زبان php یعنی برای یک فیلد هر اعتبار سنجی سمت کاربر نوشتم بیام همون ها رو سمت سرور هم بنویسم؟

لقمان آوند

سلام
لزوما نه . ولی اگه براتون مهمه باید این کارو در سمت سرور هم بکنید .
اعتبارسنجی سمت کاربر (جاوااسکریپت) قابل دور زدن هست . مثلا با غیر فعال کردن js در مرورگر .
لذا اگر دریافت داده های صحیح براتون اهمیت داره در سمت سرور هم اونها رو بررسی و اعتبارسنجی کنید .

danial asvadi replyپاسخ

سلام استاد مثل همیشه ممنون بابت توضیحات کاملتون
اما یک سوال! اگر داخل فیلد ها به جای مثلا یوزرنیم کد جاوااسکریپت وارد کنیم کد جاوااسکریپت اجرا میشه که فکر نکنم چیز خوبی باشه حالا اگه بخوایم محدودیت ایجاد کنیم باید چه کدی بنویسیم؟ 😕

لقمان آوند

همه ی داده های ورودی باید امن بشن . در سمت کاربر اعتبار سنجی انجام بشه و در سمت سرور هم همینطور . بعدا توابعی رو معرفی می کنیم که ورودی های کاربر رو امن و بدون خطر می کنه . الان کد خاصی رو لازم دارید ؟

danial asvadi

الان که نه! این سوال همیشه تو ذهنم بود چه جوری باید داده هارو امن کرد:Sپس منتظر میمونم تا معرفی تابع ها
ممنون ❓

امین کاظمی replyپاسخ

استاد دکمه هایی که با button تعریف میشن چه فرقی با submit دارن؟

سجاد دریس

فرقی خاصی ندارن، buttonها semantic تر هستند

neyvid replyپاسخ

سلام.خسته نباشید.من و قتی با تابع file_put_content کار میکنم فایلی که میسازه داخلش فقط خاصیت نام ورودی کلید ام میاد.و ورودی های دیگر اصلا وارد فایل من نمیشه!!! به نظر خودم جایی مشکل ندارم و مطابق با شما پیش رفتم.تو فیلم هم شما فایل را باز نکردید که داخلش کل ورودی ها نشان داده باشه..آیا مشکل از کد زدن من هست؟

neyvid replyپاسخ


در واقع کد های من اینگونه زدم ملاحظه کردین.

لقمان آوند

فایلای پروژه ات رو زیپ کن برام میل کن بررسی کنم .

hoseyn replyپاسخ

سلام استاد من فایلم رو اینجوری نوشتم برای چاپ
foreach( $_REQUEST as $key => $value )
{
echo “$key : $value “;
}

و با اینپوت
red

اما ارور میده

Notice: Array to string conversion in C:\Program Files (x86)\xampp\htdocs\php Form\my-server.php on line 8

مشکل کجاست؟

لقمان آوند

ایا از فرمتون داده هایی به صورت ارایه ارسال می کنید ؟ کد کامل رو زیپ و آپلود کنید بهم بدید که مشکلتون رو بگم .

m3y3am replyپاسخ

ضمن خسته نباشید و تشکر
وقتی فرمی را با button اکشن میشه، عضو file نمایش داده نمی شود و لی وقتی از input نوع submit استفاده می کنم file نیز نمایش داده می شود!

لقمان آوند

کدهاتون رو زیپ کنید بهم بدید که بررسی کنم و مشکل رو بهتون بگم .

sajjad pmf replyپاسخ

سلام استاد من یه مشکلی در بخش header قسمت process دارم این ارور رو میده
Warning: Cannot modify header information – headers already sent by (output started at E:\xampp\htdocs\7l8\process2.php:4) in E:\xampp\htdocs\7l8\process2.php on line 7

این بخش process

اینم تگ form

لقمان آوند

لطفا خود فایل php رو زیپ و آپلود کنید بهم بدید که مشکلتون رو بررسی کنم .
اگر فصل مربوط به خطاها و دیباگ کردن رو ببینید متوجه دلیل این مشکل خواهید شد .

sajjad pmf

از کجا میتونم فایل رو براتون اپلود کنم این قسمت نتونستم پیدا کنم میل کنم براتون؟

لقمان آوند

بله ایمیل کنید

sajjad pmf

بله ایمیل کردم

لقمان آوند

قبل از اینکه از دستور header استفاده کنید نباید هیچ چیزی رو در خورجی چاپ کنید .
دلیلش اینه . دستورات echo ی قبل از header رو بردارید درست میشه . جلسه ای که بهتون گفتم رو ببینید .

منصور جواهر replyپاسخ

سلام استاد من یه فرم ثبت نام درست کردم که بخوام آخرش توی پروژم که میخوام انجام بدم اضافش کنم الان قسمت 8 رو دیدم گفتم همین الان که شما فرم ها رو آموزش دادید کد هاشو بزنم و به ترتیب که جلو میرم هر قسمت یه کاریشو انجام بدم که اخرش راحت تر باشم و با مطالب بهتر کنار بیام من الان داخل این فرم فعلا رابطش رو طراحی کردم فقط دوتا مشکل داره یه دکمه کنسل فرمه یدونه هم باکس سلکتش میهوام وقتی روی پسر و یا دختر انتخاب میشه اون تکس باکس کنارش که دیز ایبل هست اینیبل بشه و کاربر بنویسه فرزند چندمه البته خودم کلی تلاش کردم اما نشد یسری کد جاوا نوشتم و کامنتشون کردم تا یجاهایی پیشرفتم اما نشد
http://s5.picofile.com/file/8147141618/formFamily.php.html
اینم لینک فایل هستش
خیلی ممنون

لقمان آوند

اگه منظورت اینه که با کلیک روی cancel فرم پاک بشه خیلی راحت می تونی type دکمه ی cancel رو reset بزاری تا کارت راه بیفته .
برای مورد دوم هم نیاز به جاوااسکریپت با جی کوئری داری . پیشنهاد می کنم کمی سرچ کنی و دنبالش بگردی …
اگر پیدا نکردی بگو بهم .

ehsan a replyپاسخ

سلام و درود فراوان .استاد آوند من به یه مشکلی خوردم همراه با عکس و کدهایی که نوشتم در لینکی که میزارم موجوده من هم کده شما و هم کده خودمو که میارم بالا به یه اروری میخورم من با sublime text مینویسم کدارو ممنون میشم راهنماییم کنید ❓ ❓ ❓ ❓

http://uplod.ir/yvwfc5wc77on/8.rar.htm

لقمان آوند

سلام
مسئله اینه که یه سری داده های مثل رنگهای مورد علاقه از فرم به صورت ارایه میان و به سمت process.php ارسال میشن و نمی تونی مستقیما اونو تو دستو echo بکار ببری . کدت رو به این شکل تغیر بدی درست میشه :

ehsan a

استاد آوند ممنون از پاسخگوییتون ❓ ❓ ❓

لقمان آوند

خواهش می کنم .

ehsan a replyپاسخ

استاد آوند یه سوال دیگه داشتم فریمورک purecss از rtl پشتیبانی میکنه؟اگه پشتیبانی میکنه چگونه؟ ❓ ❓ ❓

لقمان آوند

سلام
فعلا که نداره ولی همونطور که در پروژه ی اول دیدی با ایجاد یک استایل دلخواه میشه این کار رو انجام داد .

farzad_jh2002 replyپاسخ

سلام علیکم
خسته نباشید آقا اررور 404 میده نمیشه دانلود کنی یه فکری بکنید
404
Not Found

The resource requested could not be found on this server!

لقمان آوند

سلام اقا فرزاد
تو اطلاعیه 5 زدیم دلیل این مورد رو . هاست دانلود ناپایدار شده و داریم منتقلش می کنیم . یکی دو روزی این کار طول می کشه . ایشالله بعدا می تونید دوباره اقدام کنید .
ممنون

rasool eslami replyپاسخ

سلام اقای اوند میشه یک توضیح درمورد تگ fieldset و فرق دکمه submit باbottom را هم توضیح دهید

لقمان آوند

خود فیلد ست یعنی مجموعه فیلد !
معمولا چند تا فیلد توی فرم که به هم مرتبط هستند رو توی فیلد ست میزارن و برای طبقه بندی فیلدهای مرتبط هست . همین .
هر دو تا رو می تونید برای ارسال فرم استفاده کنید . منتهی برای submit می تونید مشخه ی name بزارید که value خود سابمیت هم به سمت سرور ارسال بشه در هنگام ارسال فرم .

rasool eslami

مرسی

علیرضا replyپاسخ

سلام استاد
1:استاد اگه بخواییم داده های ارسالی از یه فرم را داخل فقط و فقط یه فایل مشخص (مثلا فایل abc ) ذخیره کنیم طوری که اطلاعات هر فرم با داده های فرم قبلی,که قبلا ذخیره شده چند سطر فاصله داشته باشن باید چیکار کرد ؟
من اون قسمت رندم سازی نام رو حذف کردم ولی نشد ( داده ها هر بار روی قبلی ریپلیس میشدن 😐 )
2:اگه بخواییم فایل به صورت اکسل یا pdf ذخیره بشن باید چیکار کرد ؟
3:اگه بخوام اطلاعات به صورت ای جکس ذخیره بشه و به کار بر پیام تایید بده و کاربر تو همون صفحه فرم بمونه چیکار باید کرد ؟

ممنون از لطفتون استاد بزرگوار

لقمان آوند

سلام از تابع put_file_contents استفاده کن و به عنوان پارامتر سوم ثابت FILE_APPEND رو بهش بده که باعث میشه به جای جایگزینی، متن جدید رو به انتهای فایل قبلی اضافه کنه . ضمن اینکه در آخر متنی که می خوای به فایل اضافه کنی می تونی چند تا ثابت PHP_EOL استفاده کنی که چند سطر فاصله بیاندازه . این کدو بریز تو یه فایل PHP و چند بار اجرا کن تا متوجه بشی .

علی خوش روش replyپاسخ

با سلام و آرزوی توفیق روزافزون برای شما
سعی می کنم مطالب آموزشی شما را در یک پروژه فرم استخدام از ابتدا تا مرحله گزارش گیری همگام با مراحل آموزش و تحلیل پروژه های شما، پیاده سازی کنم. فایل پیوست (http://kheradmand-school.ir/upcenter/uploads/Employment.rar) نمونه مورد نظر می باشد. و اما سئوالی که برام پیش اومده اینه که؛ من می خوام در هنگام تغییر اندازه صفحه مرورگر توسط کاربر، مثلا در هنگام استفاده از تبلت، تغییر اشیاء صفحه منطقی باشد. و لیبل هر باکس ورودی در کنار باکس مربوطه و همراه با آن تغییر ردیف پیدا کند. درحال حاضر با تغییر سایز، باکسها مستقل از لیبل مربوطه به ردیف پایینتر منتقل می شوند. برای دستیابی به منظور خود چه پیشنهاد می فرمائید.
با تشکر

لقمان آوند

سلام
موردی که فرمودید مربوط به طراحی وب واکنشگرا هست که در دوره بعد اون رو تدریس می کنیم . یعنی چطور صفحه وبی رو طراحی کنید که در دستگاه های مختلف با سایز نمایشگر مختلف خوب و متناسب نشون داده بشه .
می تونید از media query ها توی css استفاده کنید تا برای صفحاتی با عرض کوچک کلاس های css خاصی رو تعریف کنید .

Mahdi replyپاسخ

تفاوت دو تابع print_r و var_dump چیه؟

لقمان آوند

print_r برای چاپ اطلاعات آرایه استفاده میشه ولی var_dump رو برای همه نوع متغیرها با اطلاعات بیشتری مثل نوع و مقدار اونها می تونید استفاده کنید.

سمیرا replyپاسخ

سلام خدمت اساتید محترم .
من در قسمت دانلود جلسه هفتم دوره php دچار مشکل شدم امکانش هست بررسی کنید مشکل سمت سرور هست یا نه ؟
با تشکر ویژه ❓

لقمان آوند

سلام
یکم حجم درخواستای دانلود زیاد شده. 1 ساعت دیگه بررسی کنید باید بدون مشکل دانلود شه.

امین خلیلی replyپاسخ

سلام
اگه بخواهیم به اون فایلی که توسط تابع فرم را در خود ذخیره میکنه به چه شکل باید ادرس بدهیم

لقمان آوند

متوجه نشدم. سوالتون مبهم بود. لطفا واضحتر بگید ..

Mahdi replyپاسخ

سلام.
من بعد از تمرین این قسمت به مشکل بر خوردم . با توجه به اینکه همراه شما جلو آمدم هنگام نمایش فرم که با تابع foreach استفاده کردم به هشدار Notice: Array to string conversion در صفحه ام برخوردم ولی شما در این قسمت به این هشدار بر نخوردید.چرا؟

لقمان آوند

در چه خطی از کد این ارور داده میشه ؟ اون خط کد رو بهم بدید …

Mahdi replyپاسخ

در قسمت ارایه ای favsites بود که بعد از قرار دادن تابع

درست شد.فکر میکنم این پیغام برای این بود که میخواست بگه آرایه نمیتونه echo بشه.
اینطور نیست؟

لقمان آوند

بله همینطوره .
چیزی که کو میشه نمیتونه ارایه باشه ….

sadaf replyپاسخ

سلام منم همین مشکل رو دارم دفه اول شما این کد رو نوشتین درست بود

لقمان آوند

سلام
ممکنه پیکربندی ومپ من متفاوت بوده .
راه صحیحش اینه که قبل از echo تایپ متغیر/داده رو چک کنی که اگر آرایه نبود اکو کنید . اگر آرایه بود می تونید از print_r استفاده کنید.

soheil1985 replyپاسخ

استاد میشه تو فرم های HTML کاری کرد که کاربر بجای کلید tab از کلید enter برای رفتن به فیلد بعدی استفاده کنه؟ بدون اینکه فرم ارسال بشه؟
بیشتر برای برنامه های لوکال منظورم هست

لقمان آوند

کلید tab از شورتکات های مرورگر هست و نمی تونید به این شکل تغیرش بدید .
مگر اینکه با جاوااسکریپت ارسال فرم رو غیرفعال کنید و چک کنید اگر اینتر زده شد فیلد بعدی فوکوس بشه…
البته چون کار غیر استانداردی هست پیشنهاد نمی شه که اینکارو بکنید .

Massud Tarekhi replyپاسخ

با سلام
استاد نمیشه کاری کرد که اطلاعات ارسالی از فرم در هدر نمایش داده نشوند و یا اطلاعات فیلد های پسورد با ستاره نمایش داده بشن؟؟؟؟

لقمان آوند

اگه بخواید باید خودتون دستی و با استفاده از جاوااسکریپت کدگزاری رو انجام بدید و بعد فرم رو ارسال کنید . ضمن اینکه در سمت سرور هم باید همون اطلاعات کدگزاری شده رو دوباره دیکود کنید!!!

Massud Tarekhi

آیا در جلسات آینده آموزش این هست

لقمان آوند

خیر نیست .
چون اینکار خیلی عرف نیست و کدگزاری سمت کلاینت باید با جاوااسکریپت باشه و این دوره مربوط به php هست !

Massud Tarekhi replyپاسخ

با سلام
استاد آیا تابعی هست که چک کنه یه فایل هست یا نیست

لقمان آوند

بله : file_exists

Massud Tarekhi replyپاسخ

با سلام
استاد آیا می تونیم کاری کنیم که داده هایی که از یک فرم رو گرفتیم رو بیایم اضافه کنیم به فایلی چون در تابع
file_put_contents جایگزین میشه

لقمان آوند

بله میشه. مثالش رو زدیم توی دوره . جلسه مربوط به کار با فایلها رو ببینید متوجه میشید . به عنوان پارامتر سون این تابع ثابت FILE_APPEND رو پاس بدید اضافه میشه به جای جایگزین شدن .

Massud Tarekhi

پس می تونیم کاری کنیم که مثلا در فرمی اطلاعات یک مطلب رو بگیریم و به یک فایل اضافه کنیم
و با استفاده از حلقه در صفحه اصلی چاپ کنیم

لقمان آوند

بله میشه .

Massud Tarekhi replyپاسخ

با سلام
استاد من فرم لاگینی رو طراحی کردم که در یک فایل یوزر ها قرار دارند و توسط پی اچ پی بررسی می کنم که مقداری که کاربر در فرم داده اگر با یوزر ها مطابقت نداشت ارور بده و اگه مطابقت داشت پیام بده که یوزر و پسورد درست هست و با ajax ارسال میشن ولی نمیتونم کاری کنم که وقطی یوزر و پسورد درست هست نیاد اون پیام رو نشون بده و مستقیما به اون فایلی که در اکشن وارد کردم بره لطفا کمک کنید
این هم لینک دانلود فرم
http://uplod.ir/60l908afa0mz/Login.zip.htm

لقمان آوند

سلام
این مورد رو با ریدایرکت کردن کاربر توسط دستور header می تونید انجام بدید
نمونش رو تو دوره استفاده کردیم

Massud Tarekhi

وقتی با دستور header ریدایرکت می کنم چون از ای جکس استفاده کردم محتوای صفحه ریدایرکت شده رو تو صفحه اصلی می نویسه
خوب باید کاری کنیم که تو جاوا اسکریپت مقدار ریسپانسو رو بررسی کنه که اگه ترو بود بره به صفحه اکشن و اگر نبود ریتورن فالس کنه که اینو بلد نیستم

لقمان آوند

بله اگر از ایجکس استفاده کردید ریدایرکت رو هم با جاوااسکریپت بر اساس پاسخ دریافتی انجام بدید .

jj20 replyپاسخ

سلام استاد
با توجه به محدودیت هایی که متد get داره چرا همیشه از متد post استفاده نکنیم؟
و چرا متد get منسوخ نشده؟

لقمان آوند

سلام
نه منسوخ نیست چون هنوز جاهای زیادی کاربرد داره . خیلی وقتا هست که شما باید بعضی اطلاعات رو از طریق پارامترهای گت توی url پاس بدید . نمونش شماره صفحه مطالب هست …

masouti replyپاسخ

سلام
من تو دوره اموزش php تون ثبت نام کردم و 8قسمت اش رو هم دیدم
اشنایی هم با .net دارم
راستش یکم گیج شدم بین اینا
نمیدونم کدوم رو انتخاب کنم!
بی تعارف بازار کارش برام مهمه

حتی بین تخصصی Sql server کار کردن هم موندم
ممنون میشم راهنماییم کنید
سپاس

لقمان آوند

سلام
بی تعارف : بازار کار هر دو خوبه به شرطی که هر کدوم رو انتخاب کردید براش وقت بزارید و مسلط بشید بهش. شید با php تعداد بیشتری پروژه و کار بتونید بگیرید ولی با .net کارهای خیلی بزرگتر رو معمولا انجام میدن که تعدادشون کمتره!
هر دو قوی و قدرتمند و کارا و محبوب هستند.
از نظر من اراده قوی برای یادگیری و تسلط روی یکیشون مهتر هست … وگرنه هر دو بازار کار خیلی خوبی دارند .

iman12 replyپاسخ

ببخشید لینک قبلی اشتباه بود اینجا کده اصلیو گذاشتم
http://textuploader.com/alcww

وحید صالحی

خوب مشکلتون چیه دوست عزیز یه توضیح میدین

dariosh babaii replyپاسخ

با سلام
جنا ب اوند همینطور که در قسمت 8 این کدها را نوشتید این کدها تمام داده کاربر را در فایل تکست به صورت رندم ذخیره میکرد سوال بنده اینست چگونه این داده ها را به ایمیلی ارسال کنیم جای اینکه در فایل تکست ذخیره شود به ایمیل ارسال شودیا یک نسخه هم به ایمیل خودمان بفرستد لطفا کئ را بفرمایید

$value) {
if (is_array($value)) {
$str .= “$key : ” . PHP_EOL;
$str .= implode(” , “, $value);
$str .= PHP_EOL;
} else {
$str .= “$key : $value ” . PHP_EOL;
}
}

file_put_contents(“User” . rand(11, 99) . “.txt”, $str);
echo “Your information successfully Saved !”;
البته کدها اینجا راستچین پیس شده اند نمیدانم چرا سمت چپ نمیروند

کیوان علی محمدی

سلام کافیه کد زیر رو هم اضافه کنید و به جای ایمیل وارد شده ایمیل خودتون یا کاربر مورد نظر رو قرار بدید.

mail('email_addr@gmail.com','Your information From 7learn.com',$str);

dariosh babaii replyپاسخ

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

کیوان علی محمدی

سلام معمولا الان اکثر هاست ها از تابع mail پشتیبانی می کنند و شاید بعضی ها غیر فعال کرده باشن که با درخواست می تونی بهشون بگی برات فعال کنن. همون تنظیمات (نام کاربری و آدرس smtp هاستت) رو میتونی در فایل php.ini لوکال ست کنی و در لوکال هم ایمیل ارسال کنی.

behzadweb replyپاسخ

سلام استاد ،
عرض به خدمت شما که من دقیقا صفحه های form.php و process.php را از روی فایل های شما copy – paste کردم ، باز هم ارور
Notice: Array to string conversion in C:\wamp\www\7L php8\process.php on line 4
برام میاد حتی متد print_r و echo را هم تست کردم ، کماکان اروز پا بر جا هست!

چطور میتونم حلش کنم؟

لقمان آوند

خوب حتما یکی از value ها که داره چاپ می شه آرایه هست. این مورد رو چک کنید. کد رو اینطوری تغیر بدید :

فرهاد replyپاسخ

آقای آوند عزیز
با توجه به اینکه در انتهای این جلسه گفته بودید که سعی کنیم یک فرم رو با استفاده از ajax ارسال کنیم من این تمرین رو انجام دادم
http://uploadboy.com/1ez8wl5dgfqs.html
بی زحمت یه نگاهی بهش بندازید و اگر مشکلی داره بهم بگید. توش از آموخته های دوره جاوا اسکریپت هم استفاده کردم. به علاوه اعتیار سنجی رو هم با عبارات منظم (البته فقط در سمت کلاینت) انجام دادم. برای کد نویسی ajax از جاوا اسکریپت خالص استفاده کردم اما فقط جاهایی که می خواستم کار کدنویسیم راحت تر بشه از دستورات جی کوئری هم استفاده کردم. (البته می دونم کار اصولی نیست که در بین کدهای جاوا اسکریپت خالص از جی کوئری استفاده بشه اما صرفا این کار رو برای اینکه کدنویسی خودم راحت تر بشه انجام دادم)ممنون میشم یه نگاهی بهش بیندازید با تشکر

لقمان آوند

کد رو نتونستم تست کنم ولی نگاهش کردم . اگر جواب میده که خوبه و بالاخره کارتون رو درست انجام دادید. ولی با استفاده از خود جی کوئری می تونستید خیلی ساده تر اینکارو انجام بدید .

leo vartoomian replyپاسخ

با سلام
استاد من هر وقت فرمم را باز میکنم توی textbox ها اطلاعاتی که قبلا وارد شده بوده به صورت default وجود داره .چجوری میشه کاری کرد که این اطلاعات آورده نشود؟

لقمان آوند

به فرمتون ویژگی autocomplete=”off” رو اضافه کنید. اینطوری :

leo vartoomian replyپاسخ

با سلام
استاد چجوری میتونم بعد از زدن یک دکمه(مثال:دکمه New) تمام textbox ها را خالی کنم؟
از reset استفاده کردم اما فقط برای وقتی که فرم لود میشود جواب میدهد و وقتی که دکمه ای را میزنیم و سپس reset را میزنم جواب نمیدهد.

لقمان آوند

اینکارو باید با جاوااسکریپت انجام بدید.

M&S replyپاسخ

سلام، خسته نباشید
من هرجوری میخوام توی صفحه پردازش، اطلاعات داخل فرم رو بخونم به من مقدار خالی نشون میده، البته با متغیر POST_$ مقدار خالی نشون میده و با get مشکلی نداره.
حتی کدهای مینی پروژه رو هم اجرا میگیرم توی فایلی که میسازه با متد post خالی و با get فایل رو کامل نشون میده. مشکل از چی میتونه باشه؟ ممنونم

کیوان علی محمدی

سلام متد POST برای فرم رو چک کنید. آدرس صفحه مقصد فرم رو چک کنید و هم چنین در صفحه مقصد هم با تابع var_dump کل آرایه $_POST رو تست کنید که اصلا مقداری داره یا نه. شاید شما ایندکس ها اشتباه وارد می کنید.

M&S

سلام
مشکل با نصب phpstorm ورژن 9 حل شد. البته phpStorm 2016.1 رو، روی دوتا سیستم دیگه تست گرفتم همچنان آرایه POST_$ مقدار خالی رو نشون میداد. 🙄

کیوان علی محمدی

سلام خیلی بعیده به خاطر به IDE باشه چون بنده هم از 2016.1 استفاده می کنم و مشکلی نداره ولی نمیشه به طور قطعی گفت مشکل iDE نیست چون ممکنه باگش باشه.

Pourya Ariyafar replyپاسخ

سلام
من فرم رو ایجاد کردم و به خوبی تونستم پروژه این دوره رو پیش ببرم، ولی یک مشکلی دارم و اینکه وقتی در فیلد نام اسم رو فارسی مینویسم با کاراکترهای نامعلوم اسم رو در سمت فایل سرور نمایش داده میشه درحالی که به صورت پیش فرض encoding نرم افزار phpstorm من در حالت UTF-8 هست و حتی در فایل form اومدمcharset رو UTF-8 قرار دادم و حتی باز اومدم زبان رو fa کردم ولی مشکل حل نشد
ممنون میشم راهنمایی کنید

وحید صالحی

سلام مقادیر فیلد رو در دیتابیس ذخیره می کنید و از اونجا می خونید؟

وحید صالحی

پاسخ به ایمیلتون ارسال شده همراه با فایل هاش

Pourya Ariyafar replyپاسخ

ببخشید فکر کنم چند بار دیدگاهم رو فرستادم
قبلا یک زمان 10 دقیقه برای دیدگاه میومدولی نمیدونم چرا گاهی این 10 دقیقه نمیاد و نظر قبل از تایید دیده نمیشه

لقمان آوند

الانم هست مشکلی نداره .

رضا الطافی replyپاسخ

سلام اساتید محترم ببخشید مزاحم میشم این خیلی برام ضروریه اگه امکانش هست پاسخ بدید

خواستم بدونم تفاوت بین add_action و add_filter در وردپرس ، در چیه ؟ خواهشا کمک کنید مرسی

لقمان آوند

action ها معمولا عملیات خاصی هستند که در یه نقطه خاص از پردازش انجام میشن. مثلا قبل از انتشار پست. بعد از ثبت نظر و …
فیلتر هم که از اسمش معلومه. معمولا برای فیلتر کردن محتوا به کار میرن. مثلا شما متن پست رو می تونی بگیری و فیلتر کنی و کلمات زشتش و حذف کنی. مثلا کلماتی رو جایگزین کنی با کلمه های دیگه و …

وحید تقیزاده replyپاسخ

سلام
من فرم را برای دریافت مقادیر ایجاد کردم اما زمانی که اطلاعات را دریافت میکنه و میخواد در حلقه foreach چاپ کنه این خطا را میده:

username : asda
password : a214aa

( ! ) Notice: Array to string conversion in H:\wamp\www\blogs\other\process.php on line 4
Call Stack
# Time Memory Function Location
1 0.0004 244936 {main}( ) ..\process.php:0
favColor : Array
sex : male
year : 89
file : key haye mohem.docx
message : 123asdad

حتی کد را هم مثل شما زدم و حتی کد شما را هم گذاشتم اما بازم روی لوکال برای من این خطارو میده.
مشکل از کجاست ؟
تشکر

لقمان آوند

یه آرایه هم ارسال میشه در فرم (همون تیک ها) که توسط echo قابل چاپ نیست. می تونید اونو با دستور join به رشته تبدیل کنید و چاپ کنید.

Alireza Sajedi replyپاسخ

سلام من سوالم رو هم تو سایت و هم برای استاد فرستادم لطفا پیگیری کنید.

وحید صالحی

آقای آوند چند وقتی هست که خیلی سرشون شلوغه به محض اینکه فرصت کنن حتما پاسخ خواهند داد

سجاد سعادت replyپاسخ

سلام
من این تمرین رو انجام دادم همه چی خوب پیش رفت ولی متاسفانه زمانیکه می خوام داده ها رو تو یه فایل ذخیره کنم با اینکه دستورات رو درست نوشتم با این پیغام در خروجی مواجه می شم.
لطفا راهنمایی کنید که مشکل کجا هست:

ممنون 🙂

لقمان آوند

گویا اجازه دسترسی به فایل نداره. این مورد رو چک کنید. فایل رو در همون پوشه بزارید و تست کنید

سجاد سعادت replyپاسخ

سلام
چرا پاسخ دهی با کامنت ها و سوالات اینقدر دیر انجام میشه؟

لقمان آوند

عذرخواهی می کنم
مشکلاتی برای بنده بوجود اومده بود در یکی دو ماه اخیر که در حال رفعه. ایشالله زودت پاسخ میدم

سجاد سعادت

انشالله…

Morteza Solaty replyپاسخ

سلام.وقت بخیر .ممنون از آموزشهای کامل شما.
مشکلی که برای من پیش اومده در رابطه با فریم ورک پیور هست.با اینکه آدرس رو درست نوشتم(در قسمت لینک)و فایل pure.css هم در پوشه common وجود داره ، ولی خروجی که برای تگ فرم در آموزش شما وجود داره توی مرورگر من اعمال نمیشه.تمامی مراحلی که آموزش دادید رو قدم به قدم انجام دادم ولی فایده ای نداشت.مرورگرم گوگل کرومه.سپاس استاد.

لقمان آوند

سلام
لطفا از همون فایل pure که بنده استفاده کردم استفاده کنید و جداگانه دانلود نکنید. چون شخصی سازیش کرده بودم

ارسال نظرات

کاربر گرامی، امکان ارسال نظر و پشتیبانی برای دوره های مجازی فقط برای دانشجویان این دوره امکان پذیر می باشد.