تعامل Html ، PHP و Javascript : با Ajax حرفه ای شوید !



visibility  
mode_comment   ۱۱۹

در این جلسه به شما آموزش خواهیم داد که چگونه از کدهای HTML ، CSS ، جاوا اسکریپت و Ajax به صورت تعاملی با PHP استفاده کنیم و از هر کدام مثال های جالبی خواهیم زد .

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

فصل 7 : تعامل Html ، PHP و Javascript : با Ajax حرفه اي شويد !

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

  • لود و استفاده از فايل هاي PHP در همديگر
  • تشريح توابع include و include_once
  • تشريح توابع require و require_once
  • مروري بر زبان نماد گذاري HTML
  • استفاده از تگ هاي HTML براي نمايش بهتر خروجي کدهاي PHP
  • استفاده از تگ هاي فرمت بندي متن در خروجي هاي PHP
  • ايجاد خروجي هاي پويا و متغير
  • استفاده از حلقه هاي PHP و تگ table براي نمايش خروجي به صورت جدولي
  • نمايش شرطي ويژگي ها و تگ هاي HTML و کلاس هاي CSS
  • مروري بر زبان جاوااسکريپت
  • تشريح کاربردهاي زبان جاوااسکريپت
  • نحوه ي استفاده از کدهاي جاوا اسکريپت در صفحات PHP
  • نحوه ي انتقال و استفاده از داده ها و مقادير php در کدهاي جاوااسکريپت
  • جي کوئري (jQuery) و سهولت در نوشتن کدهاي جاوااسکريپت !
  • بررسي اعتبار داده هاي ورودي کاربر توسط جاوااسکريپت (جي کوئري)
  • نمايش پيام هشدار پيش از انجام عمليات حساس، با استفاده از جاوااسکريپت
  • تکنولوژي Ajax چيست ؟
  • مزايا و معايب استفاده از Ajax
  • موارد استفاده ي صحيح و اشتباه از تکنولوژي Ajax
  • آموزش به کارگيري Ajax به همراه PHP با استفاده از کتابخانه ي جي کوئري
  • نمايش تصوير و يا متن لودينگ در هنگام ارسال درخواست Ajax
  • ميني پروژه : جستجو در ليست اسامي و پيشنهاد نتايج در هنگام تايپ با استفاده از Ajax
  • تمرين

info نکته :

بعضی از مطالبی که در سرفصل های فوق آمده اند در ادامه ی دوره ی آموزشی تشریح و توضیح داده خواهند شد .

info توجه

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

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

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

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

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

مطمئن هستین فایل جاوا رو درست به صفحه الصاق کردین؟

Khazra replyپاسخ

سلام آقای آوند امکان داره فایلهای ویدیوی که برای دانلود گذاشتید رو فشرده کنید ؟؟ هر فیلم حجمی نداره اما هر ویدیوی حداقل 150 m رو داره . که در کل حجم بالایی می شه.

لقمان آوند

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

neyvid replyپاسخ

سلام خسته نباشید.جناب استاد آوند عزیز در تمرین جلسه 6 که در ابتدای این جلسه حل نمودید چند تا ابهام و سوال برای من پیش اومده:
1- این دستور rgb دقیقا چیه؟منظورم از چیه اینه که یک دستور تعریفی هست برای استایل دهی مثل height که برای تعریف ارتفاع هست؟ و چرا وقتی در phpstorm مینوسیم بصورت پیش فرض rgb را نمایش نمیده مثل height یا background-color ؟
2- شما فرمودید کد rgb بصورت (rgb(0,0,0 هست و 3 مولقه از 0 تا 255 را میگیره.حالا چرا در تگ td بصورت زیر نوشتید؟


و من که بصورت این نوشتم جواب نمیده :؟


میخوام بدونم اون نقطه های ابتدای تابع rand و پایان تابع rand برای چیه؟گیج شدم؟؟ و همچنین دابل کوتیشن؟
چرا بصورت زیر غلط هست؟ و خروجی نمایش نمیده و حتی ارور هم نمیده نه در phpstorm نه در خروجی..

ممنون از لطفتون

لقمان آوند

سلام
1. rgb یک نوع مقداردهی برای رنگ ها در css هست برای اطلاع بیشتر این صفحه رو بخونید .
2. rand یه تابع php هست و ما با اون نقطه ها خروجیش رو به رشته های دیگه مثل”,” چسبوندیم تا کد Css مربوطه به درستی ایجاد بشه . اگه اینکارو نکنید تابه رند اصلا اجرا نمیشه و فقط اسمش توی رشته میاد . سورس همون صفحه رو که با کد خودتون نوشتید ملاحظه بفرمایید .
برای height به صورت پیشفرض 100% کاملا پهن نمی کنه ارتفاع رو ولی برای width میشه .
این موارد نیازمند اینه که اطلاعات شما در مورد زبان css افزایش پیدا کنه .

neyvid

سلام جناب استاد عزیرم.خوبی بنا به فرموده شما رفتم و اطلاعاتی در مورد مورد height یافتم و مشکلم را فهمیدم چیه..من باید ارتفاع والد ها را که html و body هست را اول 100% بگیرم تا بتوانم تگ های زیر والد را 100% کنم.درسته چون؟ممنون از اطلاعاتتون

لقمان آوند

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

sevencloob replyپاسخ

سلام اقای اوند سوالی داشتم در مورد ایجکس در جی کوئری من مستندات خود سایت جی کوئری رو که مطالعه کردم متوجه شدم پارامتر success در تابع $.ajax تابعی رو تعیین میکنه که در صورت موفقیت ارسال درخواست اجرا میشه حالا سوال من در مورد پارامتر های همین تابع است که تو سایت جی کوئری زده بود یکیش اطلاعاتی هست که از سرور برگرداننده میشه ایا منظور از سرور همون صفحه ای است که تو پارامتر url ادرس داده میشه بعد هم ایا اطلاعات از اون صفحه حتما باید با تابع echo برگردونده بشه؟

لقمان آوند

سلام
بله، منظور همون آدرسی هست که درخواست رو بهش ارسال میکنید .
از همه ی توابع php که برای چاپ استفاده میشن مثل echo,print,printf و … می تونید استفاده کنید . اگر خارج از تگهای php هم متن یا تگ html ی رو بنویسید به عنوان خروچی ارسال میشه .

nasrin replyپاسخ

سلام آقای آوند
من یک فرم ثبت نام درست کردم که اعتبار سنجی فیلدها رو با جی کوئری و اژاکس انجام دادم حالا سوال من اینست که وقتی روی دکمه عضویت کلیک میکنم می خوام اگه فیلد یا فیلدهایی که اعتبار سنجی مورد نظر روشون اعمال نشده به صفحه دیگه نره ولی اگه همشون درست بودن به یک صفحه دیگه بره ممنون

لقمان آوند

در رویداد onsubmit فرم تابع validation خودتون رو صدا بزنید . اگر تمام مقادیر صحیح بود این تابع باید true رو برگردونه در غیر این صورت false .
یعنی فرمتون این حالت باشه :

در این حالت اگه ValidationFunc مقدار false برگردونه فرم سابمیت نمیشه .

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

استاد شما هنگامی که میخواید رابط یه وبسایت رو طراحی کنید ابتدا گرید یا پایه اونو طراحی میکنید یا دونه دونه پیش میرید مثلا من اول هدر رو با اجزای داخلش طراحی میکنم حالا اگه بنری باشه وارد میکنم منظورم اینه که اول تمام کارای هدر رو تموم میکنم بعد میرم سراغ کانتنت یا …. اما شما داخل این ویدئو در 50 دیقه اول که سی اس اس بود اول هدر و فوتر و کانتنت و گریدبندی کردید بعد پست یا ….. رو بهش اضافه کردید من همون موقع که به ترتیب اضافه میکنم گرید هارو دیتیل هاشم همونجا وارد میکنم
منظورم اینه که روش کار یک رابط کار حرفه ای اینطور هست و شما اینطوری تو دوره حرفه ای سی اس اس یاد میدید یا شما چون ما ها تو بحث اچ تی ام ال و سی اس اس مبتدی هستیم اینجوری توضیح دادید ؟
ممنون

لقمان آوند

سلام
خوب هر کسی طوری کار میکنه .
شخصا ترجیح میدم اول شالوده و پایه ی صفحه رو کامل با html پیاده سازی کنم و بعد برم سراغ جزئیات و استایل دهی .
تو دوره هم به همین شکل پیش میریم .

منصور جواهر

خیلی ممنون

hamid arjomandiyan replyپاسخ

سلام استاد خسته نباشید
من تو پروژه ثبت شماره تماس مراحل انجام دادم و هر مرحله که انجام میدادم تو مرورگر نتیجه را نگاه می کردم و همه چیز درست بود ولی بعد از چند بار ریفرش صفحه و تست دیگه جی کوئری ها کار نمی کنن حتی تو مرورگر های دیگه هم تست کردم بخاطر همین پروژه ای که شما تو سایت قرار داده بودید اجرا کردم ولی بازم جی کوئری کار نکرد ( دستور alert هم که می زنم بازم چیزی اجرا نمیشه )
اگه میشه راهنماییم کنید
ممنونم

لقمان آوند

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

hamid arjomandiyan replyپاسخ

و یه سوال هم داشتم اگه بخوام برای مثال وقتی a را می زنم نتایجی که میاد یوزر روی یکی کلیک که کرد انتخاب بشه و باز بشه باید چه کار کنم و این امکان هستش که بجای جستجوی ارایه بین تگ های li جستجو انجام بشه؟

لقمان آوند

ببخشید دقیقا متوجه منظورتون نشدم
میشه با یه مثال بگید چه میخواید؟

hamid arjomandiyan

سلام
استاد ممنون بابت پاسختون
من میخوام بجای اینکه داخل یه ارایه سرچ انجام بشه داخل یه div سرچ انجام بشه مثلا یه تگ دارم به نام div که داخلش ul هست و داخل اون تعدادی تگ li (مثلا عکس – موزیک و.. ) که هر کدوم یه لینکی دارن حالا من میخوام وقتی یوزر “ع” را زد به صورت ای جکس “عکس” بیاد و بتونه روی اون کلیک کنه و به لینک عکس که تو تگ li برای تعریف کردم بودم بره
نمونه اش در این سایت استفاده شده
sahamyab.com/stocktwits
یه دنیا ممنون

لقمان آوند

سلام
اگر منظورتون جستجو در محتوای صفحه ی کنونی هست باید اینکارو با کمک گیری از جاوااسکریپت یا جی کوئری (در سمت کاربر) انجام بدید . اینجا رو ببینید .
درخواست ایجکس باید به سمت سرور (PHP) ارسال بشه و اونجا باید محتوا رو از دیتابیس یا فایل یا جای دیگه بگیرید و به سمت کاربر بفرستید . حالا میشه این محتوا رو در قالب تگ های html به کاربر داد .

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

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

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

form:

myact:

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

کدهای html رو هرکاری میکنم نشون نمیده.
دوتا input گذاشتم و یه button که با کلیک روی دکمه پارامترها فرستاده میشه

لقمان آوند

کدهاتو همه زیپ کن برام ایمل کن و توضیح بده مشکلش چیه که تصحیح کنم برات .

رضا ایرانی replyپاسخ

فانکشن زیر

خروجیش میشه این چرا؟ مگه نباید هر بار به جای i$ از 1 تا 5 چاپ بشه ؟

لقمان آوند

سلام
جاهایی که متغیر رو توی رشته قرار میدید باید کل رشته توی دابل کوتیشن باشه (“) . شما رشته هاتون با سینگل کوتیشن احاطه شده . این مورد رو تصحیح کنید درست میشه دوست عزیز .

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

سلام و عرض خدا قوت
من این بخش رو با مرور بخشهای قبلی همراه با کنجکاوی بسیار بارها مرور کردم. تغییراتی در کدهای این جلسه دادم تا مثلاً سایت دو زبانه داشته باشم.
آدرس فایل جدید: http://s5.picofile.com/file/8151969450/blog.rar.html
حتما غیر اصولی است اما باعث شد تا آموخته هایم را مرور کنم. در عمل یک سئوال برایم پیش آمد. برای تغییر زبان در کادر بالا اگر fa بنویسیم و بر دکمه run کلیک کنیم زبان و چینش صفحه فارسی می شود و اگر en بنویسیم و کلیک کنیم انگلیسی خواهد شد. می خواهم بجای نوشتن و کلیک کردن؛ بر روی زبانی که در زیر کادر نوشته می شود کلیک کنم و تغییر زبان داشته باشم. کلا بجای وضعیت فعلی با کلیک بر روی کلمه فارسی یا انگلیسی تغییر زبان داشته باشم، کد مربوطه چه می شود.
ممنونم

لقمان آوند

سلام
این مورد خیلی سادست . کافیه به url با همون پارامتر زبان که بصورت get بهش پاس دادید، لینک بدید .
تو اسکریپت شما برای ینک به زبان فارسی :

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

فقط من به جای پارامتر g شما lang رو گذاشتم و به جای مقادیر فارسی و انگلیسی در url مقادیر fa و en رو گذاشتم که اینطور بهتره . کدتون رو هم با چک کردن این موارد تغیر بدید .
اگر جلسات آینده رو ببینید به جواب این سوالتون می رسیدید .

علی خوش روش

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

آرمین replyپاسخ

سلام آقای آوند این فایل ایجکس رو نوشتم و درست کار میکنه :

کد های جاوا اسکریپت :

فایل ajaxfile.php :

حالا میخوام اگه اطلاعات ورودی با اسامی درون فایل php مطابقت نداشت مقدار Not Found چاپ بشه میشه راهنماییم کنید که چطوری باید این کارو بکنم ؟ ممنون

لقمان آوند

باید از یه متغیر بولین کمک بگیری . قبل از حلقه مقدارشو false بزار . اگر درون حلقه پیدا شد اونو true کن . در آخر حلقه در صورتی که true نشده باشه یعنی پیدا نشده :

جعفر پیشدادی replyپاسخ

با سلام وتشکر از برگزاری دوره- ایا فریم ورکی مانند pure که راست چیین وتنظیمات فارسی داشته باشد وجود دارد

لقمان آوند

سلام
pure راستچین نیست و بنده با کدهایی که نوشتم اینکارو انجام دادم.
در دوره بعدیمون که طراحی وب هست این مورد رو کاملا تدریس می کنیم که به چه شکل فریمورک ها رو برای استفاده در سایت های فارسی راستچین کنیم.

امین ارجمند replyپاسخ

سلام
استاد الان در آخر این قسمت شما میان و در یه تگ div به نام result نتایج رو نشون میدین ،
– اگر ما بخوایم نتایج رو بصورتی که موتور گوگل میاد توی همون پنجره سرچشم نشون میده چطوری باید اینکارو بکنیم؟
– و مثلا یه سایت داریم که هزاران مطلب داره و توی دیتابیس ذخیره میشه و اگر ما بخوایم در قسمت جستجوی این سایت هم این امکان رو فراهم کنیم که کاربر با نوشتن کلمه مورد جستجوش مثل گوگل نتایج رو از دیتابیس بگیره و نشون کاربر بده بدون اینکه اینتری بزنه و صفحه ای دیگه ای نشونش بده و فقط در همون کادر مثل گوگل باز شه و نشونش بده و بتونه روش کلیک و به اون مطلب بره چطوری اینکارو باید انجام بدیم؟
در هر دو سوال منظورم اینطوری مثل عکس زیر نشون بده اما با این تفاوت که در سوال اول از یه فایل php مثل همین جلسه میگیره و نشون میده و در سوال دوم از دیتابیس نام مطالب رو میگیره و مطابق با چیزی که کاربر سرچ کرده نشونش میده :

http://upload7.ir/imgs/2014-12/78123686736701640922.jpg

لقمان آوند

سلام
پیاده سازی این قابلیت 2 بخش داره . یکیش سمت php هست که شما تو این دوره یاد میگیرید . باید با کدهای php اطلاعات رو از دیتابیس، فایل یا خود کد بگیرید و echo کنید.
بخش دوم سمت کلاینت و جاوااسکریپت هست. با استفاده از جاوااسکریپت یا جی کوئری یا کتابخانه های ایندو می تونید اینکارو انجام بدید . به این شکل که تعین کنید بعد از هر کاراکتر که کاربر وارد میکنه یه درخواست ایجکس ارسال بشه به سرور و ورودی کاربر رو بفرسته . اونجا و سمت php این ورودی رو می گیرید و جستجو می کنید تو داده ها و نتایج رو بر می گردونید .
می تونید این مقاله رو ببینید .

ehsan a replyپاسخ


استاد خسته نباشید فرق true با !false چی هست چون جفتش !false همون معنیه true رو میده ممنون میشم راهنمایی کنید استاد عزیز

لقمان آوند

از لحاظ مقداری هیچ فرقی ندارند و هر دو یکی هستند !

ehsan a replyپاسخ

استاد آوند خسته نباشید. استاد من به یه اروری خوردم

( ! ) Notice: Undefined index: search in C:\wamp\www\php learning\7\blog\searchphone.php on line 2
Call Stack
# Time Memory Function Location
1 0.0020 251792 {main}( ) ..\searchphone.php:0

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

http://uplod.ir/01k79h12rjl5/7.rar.htm

لقمان آوند

در خط 2 فایل searchphone.php ایندکس search تعریف نشده . این مورد رو بررسی کنید که حتما ست شده باشه .

ehsan a replyپاسخ

استاد آوند عزیز شرمنده به خدا وقته با ارزشتونو میگیریم من هنوز مشکلم حل نشد اخه خط دو عینه تمرینی که حل کردین هست یه 4 ساعتی کلن این کد رو دستکاری کردم ولی درست نشد 😥

لقمان آوند

تیم ویور نصب کن و آیدی پسورد بهم بده که وصل شم سیستمت چک کنم.

ehsan a replyپاسخ

سلام خسته نباشید استاد اوند.استاد من کدمو فرستادم مثه اینکه فرستادم توی نظرات بررسی بود که یهو پاک شد کلن !!!!!

لقمان آوند

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

soheil1985 replyپاسخ

درود
من تو phpstorm برخی نام ها رو برای فایل ها نمی تونم در نظر بگیرم. مثلا html.php یا sidebar.php
اونها رو به عنوان فایل ناشناس می شناسه و اصلا مثل فایل های php باهاشون برخورد نمی کنه.
تو تنظیمات هم چیزی پیدا نکردم

لقمان آوند

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

soheil1985

آره ذقیقا مثل یه فایل نوت ساده نشون می ده. حتی با ctrl+space هم هیچ ساجستی نداره

لقمان آوند

سلام
به File > Settings > File Types برو و ببین این فایل ها در قسمت ignored files نیومده ؟

soheil1985

ضمنا وقتی اسم فایل رو عوض می کنم همه چی درست می شه ، ولی وقتی دوباره مثلا اسمش رو می ذارم html.php خراب می کنه

لقمان آوند

چک کنید از Settings > File types که نام این دو فایل به فرمت های دیگه نسبت داده نشده باشه و یا اینکه تو ignored ها نباشه ..

soheil1985

ممنون درست شد.
تو قسمت فایل های text اضافه شده بود.
دلیلش رو میگم شاید برای بقیه دوستان هم بدرد بخوره.
من وقتی می خواستم این فایل ها رو بسازم ، چون به دریم ویور عادت داشتم به محض نوشتن نام فایل اینتر کردم (بدون اینکه پسوند فایل رو وارد کنم)
فکر می کنم همونجا خودش به ignor اضافه کرده.
مرسی از راهنمایی تون

soheil1985 replyپاسخ

استاد یه سوال دیگه که البته می دونم به php ربط نداره
چرا وقتی کدهای حی کوئری رو تو تگ هدر می ذارم کار نمی کنه؟ ولی توی تگ فوتر که شما هم استفاده کردید کار می کنه؟
مگر وقتی ابتدای کد صفحه بیاد نباید تو همه صفحه اعمال بشه؟

لقمان آوند

چون پاین صفحه که میزاری مطمئنی همه تگهای html لود شدن و کدهای جی کوئری روشون قابل اجراست .
برای این مورد باید حتما کدهای جی کوئری رو بزاری تو متد ready که بعد از لود همه صفحه اجرا بشن :

soheil1985

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

لقمان آوند

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

soheil1985 replyپاسخ

استاد مجددا درود
بین این 2 تا بهتره از کدوم استفاده شه و چرا؟

من همیشه از روش اول استفاده می کنم و تا حالا هم تو هیچ هاستی نه ایرانی نه خارجی مشکلی نداشته (می دونم که بعضی هاست ها شورت تگ ها رو ساپورت نمی کنن و باید تنظیمات php.ini رو ست کرد).

ممنون

لقمان آوند

سلام
کدتون اضافه نشده!
منظورتون کدوم دوتا هست ؟

soheil1985

اضافه نمی شه هر کار می کنم
اینجا آپ کردم:
http://s4.picofile.com/file/8169929368/php.txt.html

لقمان آوند

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

بهزاد replyپاسخ

سلام ممنون از آموزشهای خوبتون
قسمت دیدگاه های این صفحه وقتی مثلا از صفحه 1 به 2 میری کل صفحه مجددا لود میشه ،می خواستم بدونم امکانش هست صفحه ای داشته باشیم مثل همین صفحه ، که وقتی از 1 به 2 می ریم با ajax فقط همین قسمت تغییر کنه یا کار اصولی نیستش؟

لقمان آوند

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

jj20 replyپاسخ

سلام استاد
من تا اینجا رو دیدم و هنوز نمیدونم تو قسمتهای آینده چه خبره
تو این جلسه شما برای کنترل داده های ورودی کاربر از js استفاده میکنید
و javascript چون client side هست کدهای اون به راحتی توسط افزونه های مرورگر ها مثل افزونه grease monkey مرورگر firefox قابل تغییر هست
الان تو اینترنت سرچ کردم هم اکثرا توصیه کردن داده های ورودی کاربر رو در سمت سرور کنترل کنید نه با js
نمونه این لینک :
http://security.stackexchange.com/questions/38515/is-it-possible-to-use-greasemonkey-to-hack-a-website

خواستم ببینم این کنترل داده های ورودی با js از نظر امنیتی مشکل زا نیست؟
و شما در جلسات آینده این داده ها رو js کنترل کردید یا php?

متشکرم از آموزشهای خوبتون

لقمان آوند

سلام و ممنون از دیدگاهتون
اگر جلسات آینده رو مشاهده کنید خواهید دید که تاکید کردیم به اعتبارسنجی سمت کلاینت بسنده نکنید و حتما سمت سرور هم از صحت اطلاعات ورودی مطمئن شید
این نکات گفته شده

jj20

تشکر میکنم یه دونه ای استاد
استاد تو دوره js طرز کار این پلاگین greasemonkey هم اگه تونستید یه توضیح بدید که بتونیم یکم شیطونی کنیم باهاش 😀

لقمان آوند

برری می کنیم ایشالله …

علیرضا خوش نیت replyپاسخ

سلام استاد / خسته نباشید
من html و css رو کاملا فول هستم ولی جاوا ااسکریپت خیلی خیلی کم بلدم و ایجکس هم اصلا بلد نیستم …
حالا لازمه برم جاوا اسکریپت رو یاد بگیرم بعد ایجکس رو یاد بگیرم بعدش بیام این ویدیو رو ببینم یا لازم نیست ؟
ممنون

لقمان آوند

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

a a replyپاسخ

سلام استاد خسته نباشید.مشکل این کد چیه ؟ هر چی رفرش میزنم اتفاقی نمی افته.پوشه common هم توی پوشه www کپی کردم اما تغییری اعمال نمیشه. (محتویات تگ style رو از فایل های خودتون کپی کردم.) اما خروجی هنوز اینه :

header
sidebar
content
footer

لقمان آوند

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

a a replyپاسخ

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

http://s6.picofile.com/file/8205585234/%D9%85%D8%B4%DA%A9%D9%84_%D8%AF%D8%B1_%DA%A9%D8%AF_%D8%A7%DA%86_%D8%AA%DB%8C_%D8%A7%D9%85_%D8%A7%D9%84.png

لقمان آوند

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

Saba Net replyپاسخ

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

لقمان آوند

سلام از خصوصیت های direction و text-align در css استفاده کنید و مقدار rtl و right بهشون بدید به ترتیب .

merrekh replyپاسخ

سلام اقای لقمان یه سوال دارم من طبق اموزش قسمت هفتم اومدم برای وارد کردن شماره با جاوا اسکریپت محدودیت عدد بودن و11 رقم بودن و.. گزاشتم عمل کرد ولی وقتی کد بردم در صفحه مخصوص جاوا اسکریپت (js.js) کارنکرد البته این صفحه در صفحه header.php فرا خوانی کردم
اگر میشه راهنمایی فرمایید چه کار باید انجام دهم تا درست شود

لقمان آوند

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

mehdi karimi replyپاسخ

سلام
اگر جاوا تو مرورگر کاربر غیر فعال باشه آیا ajax اجرا میشه ؟

لقمان آوند

اگر جاوااسکریپت غیرفعال باشه خیر، اجرا نمیشه کدهای ایجکس!

behnam replyپاسخ

سلام استاد

من با الحاق کردن یه مقدار مشکل دارم.

مثلآ تو این کد :

http://uupload.ir/files/bfcx_capture2.png

متآسفانه هر چه سعی کردم نتونستم کد را درست نمایش بدم. و عکسش را گذاشتم.

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

باتوجه به مطلبی که خودتون گفتید تو ی تک کوتیشن مقدار متغیر چاپ نمیشه و بعنوان رشته میبیندش

با تشکر

لقمان آوند

بله خوب. وقتی کاراکتری مثل ” رو تو رشته داریم با گ گ احاطش میکنیم که خطا پیش نیاد . اگر ‘ رو تو رشته داشته باشیم با ” ” احاطش می کنیم.
توضیحات رو در جلسات قبل دادیم فکر کنم…

فرهاد replyپاسخ

سلام آقای اوند
من موقعی که جاوا کار می کردم یه تابعی بود که کاربردش به صورت زیر بود


آیا در php تابعی که بتونه این کار رو انجام بده وجود نداره یعنی یک رشته رو با تعدادی پارامتر بگیره و پارامتر ها رو درون رشته قرار بده؟
آخه من دیدم که وقتی شما می خواید مقدار یک پارامتر رو درون رشته قرار بدید مرتب رشته رو به زیر رشته های کوچکتر می شکنید و این کار برای برنامه نویس ها یه مقدار خسته کننده ست.
برای اینکه منظورم رو واضح تر بگم کد زیر رو نگاه کنید:


در اینجا یک رشته به چند تا رشته دیگه شکسته شده و این کار رو برای برنامه نویس سخت می کنه

لقمان آوند

حرف شما در بعضی جاها درست هست و این نوع فرمت بندی رشته ها بعضا می تونه ساده تر باشه.
بله چنین تابعی وجود داره. برای کار با رشته sprintf و برای فایل fprintf رو می تونید استفاده کنید.

فرهاد replyپاسخ

استاد آوند من اگر بخوام یه متغیر رو در جاوا اسکریپت مقداردهی کنم و اون رو به یه تابع php پاس بدم امکان پذیر هست؟
مثلا:


مثلا می خوام متغیر x رو به یه تابع که در کدهای php نوشته شده پاس بدم مثلا تابع factorial


خلاصه ببخشید استاد اینقدر مزاحم میشم ما مبتدی هستیم و تا راه بیفتیم یکمی طول می کشه بازم شرمنده 😉

لقمان آوند

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

فرهاد

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

وحید صالحی

سلامت باشید این وظیفه ما هستش
موفق باشید

Ali Zamani replyپاسخ

سلام
این دوره یه جوری است من متوجه نمی شوم.
برای وردپرس است یا …
؟؟؟

وحید صالحی

این دوره صرفا آموزش زبان php هست و برای توسعه وردپرس قطعا باید php رو باد باشید

Ali Zamani

منظورم این فصل 7 است
منظور از فصل 7 چیست؟

وحید صالحی

خوب منظور واضح هست توضیح در مورد تکنولوژی ajax هست و نحوه استفاده از اون در صفحات وب هست تعامل هم منظور به کارگیری موارد اشاره شده در کنار هم و بصورت ترکیبی هست

Behdad Khateri replyپاسخ

سلام خسته نباشید
امکان داره کمی در مورد mvc توضیح بدهید؟ و آیا در این دوره صحبتی در این مورد شده است یا خیر؟
ممنون

لقمان آوند

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

سید احسان عظیمی replyپاسخ

عالی بود جناب آوند

roohi b replyپاسخ

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

لقمان آوند

سلام
احتمالا می تونید از php استفاده کنید ولی طبیعتا باید با api همون شبکه های اجتماعی و نحوه برنامه نویسی برای اون ها هم آشنا باشید
حقیقتا شخصا در این مورد اطلاعی ندارم و به سراغشون نرفتم.

فاطمه روحانی replyپاسخ

با سلام و روز بخیر
ضمن تشکر از زحماتتان ، بنده یه مشکل جزئی دارم
شما در لوکال هاست که گزینه ی Your Projects را می زنید لیست فولدرها و فایلهای موجود نمایش داده میشه . اما وقتی من این گزینه را می زنم ارور نمایش داده میشه و فایلها نمایان نمی شوند.
ممنون میشم اگر راهنمایی بفرمایید.

لقمان آوند

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

حامد نجاری replyپاسخ

سلام آقای آوند ، وقتتون بخیر .
توی پروژه این جلسه ، اومدیم و با استفاده از ajax ، حرف هایی که کاربر سرچ میکنه رو از درون یه آرایه ای با استفاده از strpos دریافت و نمایش دادیم .
من اومدم و همین کار رو انجام دادم تا با استفاده از ajax بیام و اطلاعات رو از یک آرایه دریافت کنم ، ولی مشکل اینجاست که زمانی که من توی input ، چیزی به جز عدد وارد میکنم ، بهم نتایج نشون داده نمیشه .
ممنون میشم راهنمایی بفرمایید .

لقمان آوند

سرچتون چطوری بوده؟ داخل ایندکس ارایه احتمالا سرچ کردید …

ervin replyپاسخ

سلام آقای آوند آیا به طور کامل AJAX رو یا میدید در این دوره؟؟؟
MySQL چطور؟؟

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

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

ارغوان باغی

سلام و وقت بخیر .

چرا اطلاعات غلط به کاربر میدید . ajax آموزش داده نمیشه توی این دوره . حتی آقای آوند هم این مورد رو ذکر میکنن توی همین قسمت از آموزش .فقط یه مثال زده میشه برای اینکه کاربر یه نمونه از ajax دیده باشه

لقمان آوند

سلام
بله جناب علیمحمدی مسائل مربوط به طبان php رو احتمالا گفتند.
برای ایجکس چند مورد مثال زیده شده و برای تدریس کاملش باید دوره js رو ببینید.
mySQL خوب تدریس شده

darin replyپاسخ

سلام آقای آوند
ممنونم از آموزش خوبتون
آقای آوند من یک مشکل برام پیش امده ممنون میشم راهنماییم کنید:
آقای آوند شما در مثال سرچ شماره تلفن امدید که با ajax داده ها را سریالایز کردید و به صفحه مورد نظر فرستادید برای پردازش. خب قبول و در صفحه مورد نظر با استفاده از دستور get آن input را که حاوی اطلاعات بود گرفتید. حالا اگه یک فرم با input های زیادی باشد باید تک تک با دستور get یا post محتوای این input ها را بگیریم و نمیشه این get یا post ها داخل یک تابع یا if باشند؟
نمیشه با استفاده از دستور if($post) کل فرم را بگیریم و بعد داخل (post)if کارهای گرفتن داده ها را انجام دهیم؟
مثل ورد پرس که با استفاده از خاصیت action داخل data: مشخص میکند که چه فرمی ارسال شده است.
میخواهم داده ها داخل یک if یا تابع پردازش شوند.

لقمان آوند

مشکلی نداره. شما می تونید چک کنید اگر $__POST ست شده باشه داخل if داده ها رو ازش بگیرید. باید چک کنید یکی یکی که کدوم داده ست شده.
برای این کار شاید بتونید یه تابع بنویسید که ورودی های post رو بگیره و در یه آرایه دیگه بهتون برگردونه!

سحر بشری replyپاسخ

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

لقمان آوند

اینکار نیاز به بحثای پیشرفته تری داره. باید از ایجکس هم استفاده کنید و بتونید به خوبی با جاوااسکریپت کار کنید.
البته پلاگین های js خوبی در این زمینه هست که به نام autocompelete معروفن. اینجا می تونید چند نمونشو ببینید.

Farid S replyپاسخ

searchVal رو در کد زیر undefined میدونه

این درحالی هست که وقتی از ajax برای درخواست استفاده میکنم. و درصورتی که استفاده نکنم ارور نمیگیرم.

لقمان آوند

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

Farid S

http://up.persianscript.ir/uploads2/1253-s6.zip

خیلی ممنون، واقعا آدم با پشتیبانی دلش گرم میشه. انشالله به همین قوت ادامه داشته باشه.

لقمان آوند

سلام
مشکل از عدم کارکرد ایجکس بوده.
اول اینکه فایل جی کوئری رو لود کردید مشکل داره. من همونی که تو دوره استفاده کردیم رو به جاش لود کردم. (jquery.min.js)
دوم اینکه کدهای ایجکس درون blog.js هم کامنت بودن و کار نمی کردن. یکم تغیرش دادم. اگه بتونید دوره جاوااسکریپت و جی کوئری رو هم ببینید بدردتون می وره اینجور مواقع.
از اینجا دانلود کنید.

mohammad babaei replyپاسخ

ممنون که به دیدگاهم توجه کردید.!

نازمحمد گری replyپاسخ

با سلام خسته نباشید /
من در این کد مشکل دارم e.preventDefault(); وقتی که از این کد استفاده می کنم باز فرم من به فایل پی اچ پی انتقال داده میشه / اگه امکان هست راهنمایی کنید.

$("#serchBtn").click(function(e){
    e.preventDefault();
    $.ajax({
        type: ‘GET’,
        url:"searchPhone.php",
        data:$("#searchForm").serialize(),
        success: function (response){
            $(‘.results’).html(response);
        }
    });
});
لقمان آوند

چک کنید که سلکتور درستو انتخاب کرده باشید. این مورد رو هم روی form.submit اعمال کنید.

امین قرائت replyپاسخ

سلام استاد وقت بخیر
در مورد تمرینه سوال داشتم
من تمام کدهارو توی phpstorm وارد کردم اما تویlocalhost
هیچ چیزی بالا نمیاره
میخواسم بدونم مشکل کجاست
با تشکر

<div style="background-color: rgb(<?php echo rand(0,255);?> ,<?php echo rand(0,255);?>,<?php echo rand(0,255);?>;)hight=100px">

</div>

<?php

echo ‘<style="width:100%;"height:100%;">’ . PHP_EOL;
for ($i = 0; $i <= 20; $i++) {
    echo "<tr>" . PHP_EOL;

    for ($j = 0; $j <= 20; $j++) {
        echo "<td style=background-color:rgb(" . rand(0, 255) . ",".rand(0, 255) . ",".rand(0, 255) . ")’> </td>";
}
        echo "</tr>". PHP_EOL;
   }
        echo "</table>" . PHP_EOL;
وحید replyپاسخ

سلام استاد . ببخشید توی قسمت های sidebar و content توابعی رو که با دستور زیر فراخوندین رو نمیشناسه و میگه همچین تابعی نیست.مشکل چیه؟

        <?php echo getSidebarTitle(); ?>
لقمان آوند

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

وحید replyپاسخ

در حالی که تو قسمت functions این توابع تعریف شده.

احد رحیمی replyپاسخ

سلام.
در این فصل وقتی من کد POST_$ یا GET_$ را وارد میکنم با پیغام زیر روبرو میشم

Fatal error: Uncaught Error: Function name must be a string in C:\xampp\htdocs\blog 5\searchphone.php:2 Stack trace: #0 {main} thrown in C:\xampp\htdocs\blog 5\searchphone.php on line 2

لقمان آوند

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

ارسال نظرات

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