سایت خود را بسازید ، به روش saalek110

saalek110

Well-Known Member
عکس زیر هم بعد زدن دکمه تایید است که قسمت اکشن اجرا شده و ورودی ها را درست دریافت کرده.
لینک برگشت را می بینید که انگلیسی نوشته ((برگشت به فروم)) ولی فارسی نوشته ((برگشت به تاپیک)) که باید اصلاح شود.
اون قسمت اول که شماره تاپیک و شمار فروم خالیه ، بخاطر اینه که وقتی فرم عمل کرده و فایل دوباره اجرا شده ، ورودی از خارج فایل که دیگه نداریم ، اسامی متغیرهای دریافت از خارج فرق داره با اسامی متغیرهایی که فرم ارسال کرده ، پس ورودی از خارج خالی مونده.



ولی در مورد متغیر h نام یکسان بوده و همون چیزی که فرم با اسم h فرستاده ، به عنوان ورودی خارجی ، دریافت شده و نمایش داده شده.
یعنی یک فرم داخل فایل می تواند ، خودش وروودی های خارجی را پر کند ، البته باید نام متغیرها یکسان باشد.

ببینید من دارم ورودی ها را با post دریافت می کنم ، پس فرم داخل فایل اگر نام متغیرها را رعایت کند می تواند به خود فایل ورودی بدهد ولی اگر فایل با get ورودی دریافت می کرد باید لینک می نوشتیم تا بتواند به خود فایل ورودی بدهد.
ولی به جز post و get یک چیز دیگر داریم فکر کنم به نام رکوئست ، که از هر دو بتواند مقدار دریافت کند که من تست نکردم.
 

پیوست ها

  • Screenshot_۲۰۲۵-۰۱-۱۰_۲۰۲۸۱۰.jpg
    Screenshot_۲۰۲۵-۰۱-۱۰_۲۰۲۸۱۰.jpg
    38.6 کیلوبایت · بازدیدها: 1
آخرین ویرایش:

saalek110

Well-Known Member
تا اینجا کار انجام شد،

کوئری ساخت تاپیک و پست ها:


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

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

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

saalek110

Well-Known Member
یافتن شماره تاپیک تازه ساخته شده:


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


SQL:
$sql = "SELECT * FROM topics ORDER BY topic_number ASC";
result=.....
while(....)
{
     $my_topic_number=$info['topic_number'];
}

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

Screenshot_۲۰۲۵-۰۱-۱۰_۲۱۵۷۲۷.jpg

در عکس بالا ، من تاپیک را دیتابیس خواندم و بعد شروع کننده پست را پیدا کردم و چاپ کردم و بعد تاپیک را اینسرت کردم به دیتابیس مقصد که کوئری insert را دیگه اینجا ننوشتم، و بعد با کد همین پست شماه تاپیک ساخته شده را پیدا کردم و چاپ کردم.


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

saalek110

Well-Known Member
برای ایجاد پستها ، باید پستها را از مبدا بخوانیم در مقصد ایجاد کنیم.

فکر می کنم داخل کروشه های while خواندن پست از مبدا ، باید کوئری ‌insert پستهای مقصد را بنویسم.
 

saalek110

Well-Known Member
یک ستون را نمی تونم پر کنم ، مقدار دیفالت نول بهش دادم.


یک مشکلی که من دارم اینه که فروم اصلی ستون تاریخ فارسی داره ولی فروم های فرعی ندارند.
موقع ساخت پست در فروم اصلی ، یعنی کوئری insert ، چیزی ندارم تا درون ستون وارد کنم.
من اومدم ستون تاریخ فارسی را برایش مقدار دیفالت تعیین کردم. تا اجباری در پر کردنش نداشته باشم.

چون قبلا تاپیک ساخته شده ، کدش را فعلا به حالت کامنت درمیارم تا مدام تاپیک ساخته نشه.ولی کد یافتن شماره تاپیک آخر را می ذارم بمونه.
و میرم سراغ یک تاپیکی که یک پست بیشتر نداشته باشه ، تا یهویی کلی پست ساخته نشه تا مجبور بشم دونه دونه دیلتشون کنم.

تقریبا آخر کاره .....

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

موفقیت: پست خلق شد و تاپیک هم اون را شناخت و اضافه کرد.

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

جدول پستهای مبدا و جدول پستهای مقصد ، دقیقا مثل هم نبود و دو ستون تفاوت داشت ، ولی با کمی مانور توانستم کدش را بنویسم.
دو تفاوت یکی این بود که جدول مبدا اصلا تاریخ فارسی نداشت که اومدم ستون تاریخ فارسی را مقدار دیفالت نول دادم و اصلا موقع insert اسمش را هم داخل کوئری نیاوردم...
دوم اینکه در جدول مقصد ، اسم نویسنده در ردیف هر پست هست ولی در جدول مبدا شماره ای هست که باید می رفتم توسط اون شماره اسم را از جدول users پیدا می کردم، که داخل حلقه while خوندن پست از جدول پستهای مبدا ، کوئری نوشتم و رفتم اسم نویسنده را از جدول users خواندم.



فایل عملیاتی مورد نظر را در یک نشست یعنی یک جلسه نوشتم.
دو قسمت دیگه البته باید بهش اضافه کنم تا کاملا تکمیل بشه.
۳ الی ۴ تا تاپیک را باهاش منتقل کردم. یکی از نواقصش اینه که تاریخ تاپیک را تنظیم نمی کنه که البته کدش را در فایل دیگری دارم و اضافه می کنم و درست میشه...
نقص دیگرش هم اینه که باید تاپیک مبدا را دیلت کنه که اینم فقط یک کوئری ساده است و کاری نداره.‌

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

saalek110

Well-Known Member
مقدار خاصی دادن به پست اول تاپیک منتقل شده:


من می خواستم اولین پست یک مقدار خاص در یک ستون بگیره....
برای این کار قبل while اون مقدار را دادم و بعد کد insert پست ، اون مقدار را چیز دیگری دادم. و به این سادگی تونستم مقدار خاصی در ستون خاص پست اول بنویسم. مثلا فرض کنید قبل while متغیری را یک گرفتم و اون متغیر insert میشه داخل پست اول ، و بعد کد insert اون متغیر را صفر دادم و دیگه پستهای بعدی ، دارای مقدار صفر در اون ستون شدند.

بعضی مشکلات براحتی با کمی فکر حل میشه.
 

saalek110

Well-Known Member
گنگی مطالب این صفحه بدون ارائه کدها:

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

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

saalek110

Well-Known Member
قالب هایی به غیر از فروم و وبلاگ؟


آیا به جز وبلاگ و فروم ، قالب دیگری برای سایت موجود نیست؟

یا اینکه حداقل تغییراتی در فروم بوجود بیاوریم. مثلا هر تالاری پست خورد بیاید بالاتر. الان هر تاپیکی پست بخورد می آید بالاتر.‌یا تغییرات دیگری بوجود بیاوریم تا قدرت مانورهای دیگری بوجود بیاید.

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

پستها در بعضی قالبها ، با کلمات نشان می شوند ، یعنی یک مطلب با چند کلمه مشخص میشه تا بهتر بشه پیدایش کرد اون مقاله را.

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

در فروم ، تعدادی پست می روند داخل یک تاپیک و تعدادی تاپیک می روند داخل یک تالار.

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

saalek110

Well-Known Member
روش گوشواره ای:

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

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

حالا چرا اسمش را گوشواره ای گذاشتم؟ چون اون تکه کدکه کار مهم کردن تاپیک را انجام می دهد را بیرون فایل می ذارم و اینکلودش می کنم تا فایل اصلی شلوغ نشه و چون فایل کوچکی است ، اسمش را گوشواره گذاشتم.

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

saalek110

Well-Known Member
با اون برنامه انتقال تاپیک ، تمام تاپیکها را منتقل کردم و تعداد پستهای فروم من به ۲۳۵۰ رسید.

۴ تا ۵ ماه از تاسیس فروم من می گذرد.
 
آخرین ویرایش:

saalek110

Well-Known Member
با یک کد ۳ فروم را نمایش دادن:

PHP:
             if ($h==0)
$sql = "SELECT * FROM topics WHERE topic_id=$topic_number ";
             if ($h==1)
$sql = "SELECT * FROM f1_topics WHERE topic_id=$topic_number ";
             if ($h==2)
$sql = "SELECT * FROM f2_topics WHERE topic_id=$topic_number ";

من دو تا فروم داشتم که از نوع phpbb بود و خراب شده بود. یک فروم هم امسال تابستان ۱۴۰۳ نوشتم.
امروز با کد همان فروم تابستانی ، دو فروم دیگر را هم نمایش دادم.
قسمتی از کدش را بالا نمایش دادم.
امروز خط if $h==0 را حذف کردم. این جوری اگر در رسوندن $h به محل اختلال پیش بیاد ، کدها برای فروم اصلی می تونن کار کنند.
کار انتقال تاپیکها به فروم اصلی تمام شد و دیگه لازم نیست کد من ۳ فروم را نمایش بدهد. ولی فعلا کوئری های دوم و سوم نقل قول بالا را حذف نکردم و فقط شرط if $h==0 را حذف کردم تا اگر $h نبود کدها بتونند کار کنند.

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

نکته کدنویسی که این پست داشت این بود که اجازه دادم کوئری بدوم هیچ شرطی مقدار بگیره و حالا اگر h برابر ۲ یا ۳ بود ، خوب باز مقدارش عوض میشه و اگر هیچ h ئی وجود نداشته باشه باز هم کدها کار می کند. ولی اگر if $h==0 وجود داشت ، و متغیر h اصلا تعریف نشده بود ، شرط برقرار نبود و هیچ کوئری یی نداشتم. و من با حذف if $h==0 اومدم کاری کردم که کدها اگر h هم وجود نداشته باشه کار بکند.

ولی اصولی ترش اینه بیام تکلیف کدها را روشن کنم که بالاخره با h می خوان کار کنند یا بدون ‌h .
اگر در جریان نبودید ، این h شماره فروم بود...یعنی اعداد صفر و یک و دو می گرفت تا ۳ سری جدول پست و تاپیک مختلف را با یک کد بتوان نمایش داد. چون من ۳ فروم را می خواستم با یک کد نمایش دهم. و الان دو فروم را کاملا ریختم در فروم اول و الان فقط یک فروم دارم. پس باید تکلیف عدد h را مشخص کنم. که فعلا با برداشتن if $h==0 وابستگی کدها را به h را برداشتم. در گام بعد ، اون دو تا کوئری که برای فروم های دوم و سوم هست را هم می تونم حذف کنم. الان هر جا خواستم کوئری بنویسم ، ۳ تا کوئری هست ، شبیه کدهای داخل نقل قول. که دیگه نیازی بهشون ندارم و ممکنه حذفشون کنم.

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

saalek110

Well-Known Member
یک روز بعد از پست قبلی:

امروز من متغیر h را کلا حذف کردم.
و هر جا هم کوئری بود شرط if $h==0 را حذف کردم. ولی دو کوئری اضافه را فعلا حذف نکردم و دیگه اون دو کوئری اضافه کاری هم انجام نمی دهتد و بودن و نبودنش یکی است.

برای حذف متغیر h جایی که لینک ساخته میشد تا به فایل نمایش فروم برود ، دیگه h داخل لینک نیست.
و داخل فایل نمایش فروم هم کد دریافت ‌h حذف شد و قبل کوئری هم اون شرط که چند خط بالاتر نوشتم حذف شد.

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

پس یکی لینکها به فایل فروم و فایل تاپیک تصحیح شد و یکی کد دریافت متغیر h از آدرس حذف شد و سوم هم از قبل کوئری ، اون شرط حذف شد.



.............................
کاربرد و روش اجرای این روش:


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

پس برای چنین کاری اولا در لینک به اون فایل ، اون متغیر را اضافه کنید ،
و دوما اول اون فایل کد دریافت اون متغیر را از آدرس بنویسید،
و سوم قبل کوئری بنویسید اگر متغیر فلان مقدار بود ، فلان کوئری بار زده بشه.
 

saalek110

Well-Known Member
نمایش ۳ تاپیک جدید ، LIMIT در کوئری ، ORDER BY در کوئری
جدا کردن چند چیز محدود از دیتابیس


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

کوئری اش شامل order by است و بنا به تایم من قرار دادم

کد:
Order by time

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

کد:
LIMIT 3

این جوری فقط ۳ تاپیک جدید لیست میشه.

اگر دستور limit وجود نداشت ، میشد در while با شمردن توسط یک متغیر ، while را متوقف کنیم، مثلا بگیم اگر متغیر به ۳ رسید ‌break این دستور break از دستورات php است.
ولی حالا که limit را داریم ، دیگه نیاز به این کارها نیست.


در شکل زیر نتیجه کار را می بینید:

Screenshot_۲۰۲۵-۰۱-۳۰_۰۸۳۴۲۲.jpg

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

در عکس بالا ، بالا ، سمت راست ، لینک به پنل کاربری را داریم...یک قسمت پنل می آید پستهای یک کاربر را نشان می دهد. اونجا order by نداریم و while در کوئری داریم.میگیم پستها را پیدا کن وقتی که نام کاربر فلانی باشد. و limit هم نداریم.
البته من خودم بالای دو هزار پست دارم و باید صفحه-صفحه پستها نمایش داده بشود ، و در صفحه اول مثلا ۳۰ پست نمایش داده بشه. من هنوز چنین کاری نکردم. صفحه اول که با limit درست میشه ولی صفحات بعدی چی؟ باید فکر کنم.
 
آخرین ویرایش:

saalek110

Well-Known Member
صفحه ۴۲:
الحمدللله ، به صفحه ۴۲ رسیدیم ....



سایت شما ، خانه شما

سایت مثل خانه شماست که هر روز مقداری بهترش می کنید...
اگر سایت شما ، یک سایت آماده باشه ، نمیشه این کارو کرد ، پس سایت سازی را یاد بگیرید.
 
آخرین ویرایش:

saalek110

Well-Known Member
یک مشکل : تاپیکهای مجیدآنلاین ، هر صفحه اش ۲۰ پست دارد. یا شاید من پنل کاربری ۲۰ تایی تنظیم کردم ،
ولی در فروم من همه پستها در تاپیک نمایش داده میشه و صفحه نداره...

حل مشکل:


SQL:
$sql = "SELECT * FROM Orders LIMIT 10 OFFSET 15";



$sql = "SELECT * FROM Orders LIMIT 15, 10";


شاید کوئری های بالا برای رفع این مشکل باشد.

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


کد:
https://forum.majidonline.com/threads/%D8%B3%D8%A7%DB%8C%D8%AA-%D8%AE%D9%88%D8%AF-%D8%B1%D8%A7-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D8%AF-%D8%8C-%D8%A8%D9%87-%D8%B1%D9%88%D8%B4-saalek110.242137/page-42

ما الان در صفحه ۴۲ این تاپیک هستیم. آدرس صفحه را در بالا نشان دادم ، که نوشته page-42 ، یعنی شماره صفحه هم در آدرس است. البته من نمی دونم این شماره صفحه کارش چیه.ولی فکر کنم من هم باید شماره صفحه را به فایل نمایش تاپیک ارسال کنم و این فایل با نگاه به شماره صفحه پستهای مربوط را نمایش دهد.
 
آخرین ویرایش:

saalek110

Well-Known Member
عصر هوش مصنوعی ، chatgpt

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

این chatgpt کوئری خلق جدوال را هم میگه و کد فایل اتصال را هم میگه اول کاری.
 

saalek110

Well-Known Member
سالک از chatgpt می پرسد:
اگر یک کد php برام بنویسید ، می توانید جایی آن را اجرا کنید؟


هوش مصنوعی پاسخ می دهد:
من نمی‌توانم کد PHP را در محیط خود اجرا کنم، اما می‌توانم کدی را که نیاز دارید بنویسم و سپس به شما بگویم چگونه آن را روی سیستم خود یا در یک محیط آنلاین اجرا کنید.

اگر کدی نیاز دارید، لطفاً بگویید که چه کاری می‌خواهید انجام دهید تا بتوانم کد PHP مورد نظر را برایتان بنویسم. برای اجرای کد PHP می‌توانید از محیط‌های آنلاین مانند PHP Fiddle یا Repl.it استفاده کنید. همچنین، اگر خودتان سرور لوکال دارید، می‌توانید از XAMPP یا WAMP استفاده کنید.


سالک: اگر می خواهید لوکال کار کنید زمپ یا ومپ را سرچ کنید ، آموزشش هست.
 
بالا