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

saalek110

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

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

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

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

saalek110

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

هر سه قسمت باید تغییر کند.

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

HTML:
<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">

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

Screenshot_۲۰۲۵-۰۱-۱۰_۱۹۴۵۲۹.jpg

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

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

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

saalek110

Well-Known Member
خوب ، حالا من کد دریافت ورودی ها را نوشتم و کد چاپ وروودی ها را هم نوشتم تا ببینم آیا کار ارسال و دریافت ورودی ها به فایل عملیاتی درست انجام شده یا نه.

کدهای دریافت چنین شکلی دارند:


PHP:
 $topic_number=security_check($_POST["shomare_topic"]);

چون توسط فرم ارسال شده و نه لینک. اگر با لینک بود به جای POST کلمه GET را داشتیم.

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

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

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

Screenshot_۲۰۲۵-۰۱-۱۰_۲۰۲۳۳۹.jpg


درعکس بالا ، قسمت قبل زدن دکمه تایید در فایل عملیاتی را می بینید.
شماره تاپیک و شماره فرض فروم که همین طوری در فرم من ۲۲ وارد کردم و شماره فروم را می بینید. دو فروم کنار فروم اصلی با شماره های یک و دو داریم. پس یکی از ورودی ها شماره فروم است.عدد ۵۰۵ شماره تاپیک است.

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

saalek110

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



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

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

پیوست ها

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

saalek110

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

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


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

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

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

جدیدترین ارسال ها

بالا