استفاده از PHP در صفحات با پسوند html. فرم در طرح خود نحوه خواندن صفحه html php

من سعی می کنم یک فرم ورود ایجاد کنم. این کد فرم HTML من است

من شخصاً آن را برای PDO گرفتم.

نکات 4 و 5

$password = mysql_real_escape_string(stripslashes(md5($_POST["رمز عبور"])));

اولاً ترتیب این اشتباه است. شما $_POST["رمز عبور"] و سپستلاش برای استفاده از stripslash - بعد ازهش های آن هیچ گونه اسلش نخواهند داشت. با این حال، اگر می‌خواهید از استفاده افراد از اسلش (یا هر چیز دیگری) در گذرواژه‌ها جلوگیری کنید، باید قبل از هش کردن رشته، آنها را حذف کنید.

md5 زیر نباید به‌عنوان الگوریتم هش رمز عبور استفاده شود، که ضعیف است و می‌تواند برای ایجاد تصادم رشته‌ها اغلب بیش از حد ضروری باشد.

بله تو بایدهش‌ها یا «اثرانگشت» پسوردها را ذخیره کنید، نه خود گذرواژه‌ها، اما در حالت ایده‌آل می‌خواهید آن رمزهای عبور را Salt و هش کنید (حداقل با sha1)، به جای اینکه فقط آنها را در تابع md5() بیاندازید.

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

نکته 6

SELECT ID FROM Table WHERE نام کاربری = "" . نام کاربری $. "" و رمز عبور = "" . رمز عبور $. ""؛

اضافه کردم = که در سوال اصلی وجود نداشت، اما تمام نام کاربری و رمز عبور در درخواست شما مطابقت ندارد...اگر شخصی موفق به تزریق SQL به نام کاربری شما شود، رمز عبور هرگز تأیید نمی شود. معرفی کنید:

user.id را از کاربر انتخاب کنید WHERE user.username = "fred" یا 1 = 1 -- AND user.password = "abc123"

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

نکته 7

$_SESSION["user"] = $_POST["نام کاربری"];

آیا این فقط نام کاربری را در جلسه ذخیره می کند؟ این به هیچ وجه نباید به عنوان "تأیید کننده ورود" استفاده شود، به خصوص اگر (ظاهراً) چیزی برای جلوگیری از ربودن در جلسه شما وجود نداشته باشد.

شناسه جلسه را می توان به راحتی از کوکی در زمان واقعی شناسایی کرد، و این تمام چیزی است که برای "قرض گرفتن" نام کاربری شخص دیگری لازم است. حداقل باید سعی کنید با مرتبط کردن آدرس IP کاربر، رشته UserAgent یا ترکیبی دیگر از داده‌های نسبتا ثابت که می‌تواند با هر صفحه مقایسه شود، احتمال هک کردن جلسه را کاهش دهید. همانطور که قبلاً متوجه شده‌ام، اگر بازدیدکنندگانی دارید که از AOL استفاده می‌کنند)، اما می‌توانید یک جلسه اثرانگشت موثر ۹۹ درصدی را برای کاهش ربودن با احتمال بسیار کمی که جلسه کاربر به اشتباه بازنشانی می‌شود، ممکن کنید.

در حالت ایده‌آل، می‌توانید یک نشانه جلسه نیز برای کاهش ایجاد کنید حملات CSRFزمانی که کاربر نیاز به انجام یک عمل "ممتاز" در پایگاه داده دارد (داده های خود را به روز کند یا چیز دیگری). توکن می تواند یک کد کاملا تصادفی و منحصر به فرد باشد که در یک پایگاه داده و/یا ذخیره می شود کوکی SSL زمانی که کاربر وارد سیستم می شود (به شرطی که کاربر نتواند هیچ اقدامی را انجام دهد که پایگاه داده را خارج از HTTPS به روز کند، زیرا این کار به سادگی داده ها را به صورت متنی واضح از طریق اینترنت منتقل می کند - که می تواند ایده بد).

نشانه در یک فیلد فرم مخفی برای هر/همه فرم ها قرار می گیرد و در هنگام ارسال آن فرم با مقدار ذخیره شده در کوکی (یا جلسه یا پایگاه داده) بررسی می شود. این تضمین می کند که شخصی که فرم را ارسال می کند حداقل یک جلسه زنده در وب سایت شما خواهد داشت.

ممکن است چندین مشکل وجود داشته باشد.

اولا،در بیانیه $match خود عملگر برابری رمز عبور را از دست داده اید:

$match = "SELECT ID FROM $table WHERE username = "".$username."" و password"".$password."";";

باید باشد:

$match = "SELECT ID FROM $table WHERE username = "".$username."" و password = "".$password."";";

دوما، رمز عبور را در پایگاه داده وارد می کنید بعد ازاستفاده از آن با استفاده از md5؟

اگر نه، پس درخواست شما سعی می کند md5 (رمز عبور) را با رمز عبور مطابقت دهد.

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

قبلاً برای استفاده از SSI، نام صفحات سایت باید با پسوند .shtml ختم می شد، اما امروزه اکثر سرورهای اینترنتی به گونه ای پیکربندی شده اند که SSI را می توان در صفحاتی با پسوند html استفاده کرد که بسیار راحت است. PHP داستانی کاملا متفاوت است - پسوند .php پسوند پیش فرض است. توسعه دهندگان وب سایت از قبل می دانند چه چیزی مورد استفاده قرار خواهد گرفت زبان داده شدهبرنامه نویسی، بدلیجات پسوند صحیح اختصاص داده می شود.

اما وقتی همه صفحات با پسوند html تمام می شوند چه باید کرد؟

پسوند HTML را با PHP جایگزین کنید

این را از راه های گوناگون می توان انجام داد. واضح ترین راه این است که به همه صفحات پسوند php. یا پسوندهای موجود (.html، .shtml، و غیره) را تغییر دهید. این روش دارای معایبی است. برای مثال، صفحاتی که از قبل ایندکس شده اند با پسوند html باید دوباره ایندکس شوند موتورهای جستجو. یا حتی بدتر - همه چیز لینک های خارجی، که صریحاً به یک صفحه خاص پیوند داده می شود نامعتبر خواهد بود. و باید صاحبان هر سایت را از این تغییرات مطلع کنید و صفحه دیگری با 301 خطا برای هر صفحه ایجاد کنید. البته تغییر یک پسوند به افزونه دیگر قابل قبول است، اما اگر سایت قبلاً صفحات زیادی داشته باشد و پیوندهای زیادی به صفحات مختلف از سایت های دیگر داشته باشد چه؟

به یک دلیل آگاهانه این لحظهتمام صفحات این سایت با پسوند html ختم می شود و من نمی خواستم تغییرات فوق را اعمال کنم و در نتیجه مشکلات غیر ضروری برای خودم ایجاد کنم.

شما می توانید آن را به روش دیگری انجام دهید. اگر سرور میزبان سایت از mod_rewrite پشتیبانی می کند (در اکثر موارد این کار را انجام می دهد) و دسترسی به فایل htaccess وجود دارد، می توانید خطوط زیر را به همین فایل اضافه کنید:

RewriteEngine در RewriteRule ^(.*)\.html $1\.php

با افزودن این کد به .htaccess، دیگر نگران نباشید. به لطف شگفتی های آپاچی، تمام صفحات غیرموجود درخواستی با پسوند html به طور خودکار با پسوند php. جایگزین می شوند. اما این روش تنها نیست. می توانید موارد زیر را در همان فایل htaccess بنویسید:

برنامه AddHandler/x-httpd-php .php .html .htm

به نظر من موفق ترین راه. این باعث می شود که صفحات HTML برابر با صفحات PHP باشند، به این معنی که همه توابع PHP اکنون می توانند در صفحات با پسوند HTML استفاده شوند. اگر به فایل htaccess دسترسی ندارید، می توانید نامه ای به شرکت هاستینگ بنویسید و مودبانه از ادمین ها بخواهید که در آن ثبت نام کنند. تنظیمات آپاچی(httpd.conf) مقدار لازم برای سایت.

به هر حال، اگر قبل از این سایت از SSI به صورت زیر استفاده می کرد:

سپس در حالت جدید PHP این کد باید با:

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

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

PHP به HTML

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

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

ترکیب HTML و PHP بسیار آسان است. هر بخشی از اسکریپت PHP خارج از برچسب هاتوسط کامپایلر PHP نادیده گرفته می شود و مستقیماً به مرورگر ارسال می شود. اگر به مثال زیر نگاه کنید، می بینید که یک اسکریپت کامل PHP ممکن است شبیه به این باشد:

سلام امروز.

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

ادغام PHP در HTML واقعاً بسیار آسان است. به یاد داشته باشید که یک اسکریپت یک صفحه HTML با مقداری کد PHP است. شما می توانید یک اسکریپت ایجاد کنید که فقط حاوی HTML باشد (بدون برچسب) و به خوبی کار خواهد کرد.

روش های پیشرفته تر:

  • آیتم منو

و نتیجه:

PHP به HTML با استفاده از short_open_tag

اگر می خواهید قبل از درج HTML در PHP کد خود را تا حد امکان کوتاه کنید، می توانید از short_tags استفاده کنید. در نتیجه نیازی به ورود نخواهید داشتshort_tags" با " خاموش" بر " بر". اگرچه اکثر سرورها از قبل این گزینه را فعال کرده اند، اما همیشه بهتر است این گزینه را به صورت دستی بررسی کنید. مشکلی که هنگام استفاده از تگ های کوتاه ممکن است ایجاد شود، تضاد در هنگام استفاده از XML است. در بیان نحوی XML

PHP به HTML با استفاده از short__tag

سلام امروز هست.

به خاطر داشته باشید که اگر می‌خواهید سایتی ایجاد کنید که با هر چه بیشتر پلتفرم‌های ممکن سازگار باشد، نباید هنگام درج PHP در HTML به short_tags اعتماد کنید.

HTML به PHP با استفاده از اکو

راه دیگر برای ادغام HTML در یک فایل PHP دستور echo: است.

این بر برجسته‌سازی نشانه‌گذاری در اکثر ویرایشگرها تأثیر می‌گذارد. بنابراین، لازم است همه چیز را انتخاب کنید نقل قول های دوگانهداخل کد HTML با استفاده از بک اسلش.

PHP به HTML - پسوند فایل

برای یک وب سرور پیکربندی شده استاندارد:

AddHandler cgi-script .html .htm

برای وب سروری که FastCGI را اجرا می کند:

AddHandler fcgid-script .html .htm

HTML به PHP

همچنین می توانید از کد HTML در اسکریپت های PHP استفاده کنید. تنها کاری که باید انجام دهید این است که هنگام باز کردن صفحه با استفاده از PHP، ترتیب صفحات باز شده را تغییر دهید تگ های HTMLو PHP.

استفاده از HTML در PHP:

اطلاعات شخصی

نام:
نام خانوادگی:
"; ?>

قرار دادن PHP در HTML به این روش به شما امکان می دهد از کد بسیار کمتری استفاده کنید. در اینجا ما از $PHP_SELF به صورت سراسری استفاده می کنیم، که اجازه می دهد مقادیر فیلد مشخص شده در زیر آنها در همان فایل استفاده شود. به طور معمول، دو فایل برای چنین فرم هایی ایجاد می شود: اولی خود فرم HTML و دومی فایل PHP است که پردازش را انجام می دهد.

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

این نشریه ترجمه مقاله “PHP in HTML” است که توسط تیم پروژه دوستانه تهیه شده است

>

php برای مبتدیان

در این صفحه سعی خواهیم کرد منطق ساخت یک وب سایت پویا را توضیح دهیم. Php یک اسکریپت اجرا شده توسط سرور است. این یعنی چی؟ سرور یک مفسر ویژه نصب کرده است که ساختارهای زبان خاصی را درک می کند. خود فایل php، آن را خط به خط می خواند، گویی از بالا به پایین در آن می چرخد. اگر مثلاً کلمه را پیدا کند خروج، سپس متوقف می شود و چیزی را بیشتر نمی خواند، اما آنچه را که قبل از این کلمه پیدا کرده است، برای مثال اجرا می کند. چاپ"عالی!"عالی چاپ خواهد شد!

چاپ"عالی!"؛
خروج ;
?>

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

در اسکریپت می بینید که محفظه ها دوست دارند
اگر پس از آن)
سپس آن را انجام می دهیم
}

بعد اگر شرط اول محقق شد، یعنی چه شد $uslovie 1== "بله"، سپس اسکریپت را در پرانتز ( ) که مربوط به این بخش از اسکریپت است اجرا می کنیم، سپس در این بخش وجود دارد خروج- در اینجا برنامه به پایان می رسد. یعنی با کمک محفظه ها می توانیم یک فایل php را به اجزای آن تقسیم کنیم. و چه شرطی - if ($uslovie == "بله")؟؟؟ این شبکه همان لینک است، در این صورت اگر متغیر باشد چیزی اجرا می شود $uslovieبرابر خواهد بود آره.

بیایید نام فایل را بگذاریم all.php. برای سازماندهی پیوندها به آن در خط فرمان، به سادگی اضافه کنید all.php?uslovie=بله. اگر علامت سوالی در خط فرمان مشاهده کردید، این لینک در این مورد است. $uslovie == "بله". سپس یک فایل html ایجاد می کنیم که در آن لینک های اسکریپت اجرایی خود را می نویسیم.



صفحه جدید


uslovie1=yes" > پیوند اول
uslovie2=yes" > لینک دوم

دو تا لینک میبینید اگر روی لینک ها کلیک کنید فایل اجرا می شود all.php، و در حالت اول به اسکریپت گفته می شود که متغیر است $uslovie 1==بلهو در مورد دوم $uslovie 2==بله. از لینک اول بخش اول تکمیل خواهد شدو برنامه متوقف می شود، با استفاده از لینک دوم برنامه از قسمت اول اجرا می شود و چیزی از محفظه دوم تکمیل خواهد شد(بالا را ببین). لطفاً توجه داشته باشید که علامت دلار در پیوندها نوشته نشده است، برنامه هنگام ارسال آنها به اسکریپت، یعنی هنگام ارسال آنها به خط فرمان، آنها را متغیر می کند.

اکنون می دانیم که چگونه پیوندهای یک فایل php را سازماندهی کنیم، چگونه آن را به بخش ها تقسیم کنیم و چگونه پیوندها را در متن html به فایل خود سازماندهی کنیم. اما، یک چیز دیگر وجود دارد... واقعیت این است که اگر سایت را به این شکل سازماندهی کنید، پس به شکل اصلی خود، زمانی که لینک های زیادی وجود ندارد، مشکلی را مشاهده نمی کنید. فرض کنید 10 محفظه وجود دارد، همه آنها بی سر و صدا در یک فایل قرار می گیرند. اما اگر تعداد زیادی لینک وجود داشته باشد، به عنوان مثال ما 24000 صفحه داشته باشیم، در اصل نمی توان همه بخش ها را در یک فایل php قرار داد. شما خودتان با جستجوی این یا آن محفظه در یک فایل برای مثال تغییر آن شکنجه خواهید شد. علاوه بر این، اندازه فایل بسیار بزرگ خواهد بود، all.php ما 1 مگابایت می گیرد. علاوه بر این، شما باید یک چیز دیگر را درک کنید: در بسیاری از سرورها محدودیتی در اندازه فایل های اجرایی وجود دارد (به عنوان مثال، 50 کیلوبایت)؛ اگر از آن بیشتر شود، چنین فایلی نادیده گرفته می شود و اجرا نمی شود. در رابطه با این محاسبات، حجم فایل اصلی را به 8 کیلوبایت کاهش دادیم، اگرچه بار اجرایی آن 1 مگابایت است. چطور این کار را بکنیم؟ Php یک فرصت عالی برای تقسیم یک فایل php به قطعات با استفاده از دستور فراهم می کند مشمول....

حالا مشخص می شود که چگونه فایل اصلی خود را به 8 کیلوبایت کاهش دادیم، زیرا تمام فایل های موجود دیگر حجم کلی 1 مگابایت دارند و آنها را در یک پوشه جداگانه مخفی کرده و در صورت نیاز وصل می کنیم، یعنی بسته به لینک های موجود در دستور. خط دستور include فایل‌ها را طوری به هم متصل می‌کند که گویی در اسکریپت اصلی نوشته شده‌اند، بنابراین، اگر در فایل‌های درج‌شده به پایگاه‌های داده یا فایل‌های html دسترسی داشته باشید، در مورد ما، شمارش باید دقیقاً از فایل اصلی انجام شود. all.php. به عنوان مثال، یک پوشه وجود دارد html، حاوی یک فایل است one.htmنحوه چاپ آن سپس فایل one.php به شکل زیر است:

عبارتند از"html/one.htm"؛
چاپ
خروج ;
?>

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



صفحه جدید


uslovie1=yes" >فقط پیوند اول
uslovie1=بله& عمل کنید=بله" >
uslovie2=yes" >فقط لینک دوم
uslovie2=بله& عمل کنید=yes" >لینک دوم، اما همچنین act=yes

سپس فایل php one.phpآن را به این تبدیل کنید:

اگر($act == "بله")(
عبارتند از"html/one.htm"؛
خروج ;
}
چاپ"این اولین بخش از برنامه است"؛
خروج ;
?>

اگر روی لینک uslovie1 کلیک کردید=yes" >پیوند Simply First، چاپ خواهد شد این قسمت اول برنامه استاگر روی لینک uslovie1 کلیک کردید=بله& عمل کنید=yes" >لینک اول، و همچنین act=yes، سپس محتویات فایل چاپ خواهد شد html/one.htm، و برنامه متوقف می شود.

403 کیلوبایت

آرشیو را دانلود کنید، به گونه ای ساخته شده است که شما نیازی به دانستن Php ندارید، فقط باید HTML را بدانید.

آره.))

برای من راحت تر است که از index.php کپی کنم و نام آن را مثلا به contact.php تغییر دهم و سپس با محتوای جدید وسط را به Middle2 تغییر دهم.

کتری من کمی پی اچ پی هستم


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

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

چگونه این کار را انجام دهیم و کجا قرار دهیم؟

پاسخ: خوب، هر جا. این بسیار ساده است، در مورد ایجاد یک منو اسکریپت menus.html است


چیزی بدون آرایه $_GET ["uslovie"] ; مثال های شما برای من کار نمی کند

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

اگر (isset($_GET )) ( برای هر($_GET به عنوان $key =>$val ) ( $$key =$val ; ))

سپس می توانید از اسکریپت های ما بدون استفاده از $_GET [ "uslovie" ] استفاده کنید، اما فقط $uslovie را قرار دهید


منبع بسیار جالبی دارید..
سپاس گذارم برای اطلاعات.

پاسخ:


شما مدت ها قول داده اید که به نحوه ایجاد یک وب سایت PHP نگاه کنید. چرا به قول خود عمل نکردید؟ شاید مقاله ای در این زمینه بنویسید (و اگر از MySQL نیز استفاده می کنید، همه چیز درست می شود).

پاسخ:


خیلی بله. فقط، آنجاست، به جای too.htm احتمالا به two.htm نیاز دارید
ضروری نیست، اما برای مرتب نگه داشتن چیزها))

پاسخ:


به من بگویید کجا می توانم تمام اپراتورها و کدهای پی اچ پی را از روی قلب بخوانم و یاد بگیرم، به عنوان مثال: اکو , عبارتند از , دیگر , اگر , چاپ , برای هر , issetو غیره، منظورشان چیست و چه خدماتی را ارائه می دهند؟

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


Mobilesfinks در حال آماده شدن برای نصب مجدد php 4 نسخه جدیدی از سایت در php 5 منتشر شده بود و مشکلی نداشت همه چیز کار می کرد %tashus%

پاسخ:


سلام!

لطفاً به من بگویید چگونه TITLE بالای پنجره را در هر صفحه تغییر دهم: یعنی " صفحه جدید" ...

به عنوان مثال، اگر پیوند "1" را دنبال کنید، پنجره باید "بخش اول. ریاضیات" نامیده شود - یعنی کد HTML باید باشد. بخش اول. ریاضیات...
و اگر پیوند "2" باشد، به عنوان مثال، پنجره باید "بخش دوم. جغرافیا" نامیده شود - یعنی کد HTML باید باشد. بخش دوم. جغرافیا...

چگونه می توانم آن را با استفاده از PHP تغییر دهم؟

پاسخ: html.html


ما باید PHP4 را برای Denver نصب کنیم. اسکریپت نصب تمام تغییرات را خودش انجام می دهد.
سپس در پوشه ای که فایل all.php ایجاد کرده اید را دارید
یک فایل به نام ".htaccess" و یک خط به آن اضافه کنید
صفحه: 1
صفحه فعلی: 1 مجموع پیام ها: 22

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

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

با این حال، باید به خاطر داشت که مطالب در قسمت 1 کاملا ضروری استبرای دانش عادی PHP. فرض بر این است که شما قبلاً قسمت 1 را خوانده اید، بنابراین در مثال ها از بسیاری از مفاهیمی که قبلا توضیح داده شد استفاده می شود. بنابراین، اگر بخشی از کتاب را مرور کنید، باید هر از چند گاهی به فصل‌های قبلی برگردید و دنبال کنید.

لینک های ساده

<а href = "date.php">

$link = "date.php";

چاپ "<а href = \"$link\">مشاهده تاریخ امروز
\n"

احتمالاً از خود می پرسید که چرا قبل از نقل قول ها (") در کد پیوند یک بک اسلش (\) وجود دارد؟ واقعیت این است که نقل قول ها در PHP کاراکترهای خاصی هستند و به عنوان جداکننده خط استفاده می شوند. .

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

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

// آرایه ای از بخش ها ایجاد کنید

$contents - array("آموزش"، "مقالات"، "اسکریپت ها"، "تماس");

// هر عنصر آرایه را تکرار کنید و به صورت متوالی نمایش دهید

برای ($i = 0؛ $i< sizeof($contents; $i++)

چاپ " ".$contents[$i]."
\n"؛

// - تعیین ویژه برای نقطه نشانگر endfor;

اجزای فایل (الگوها)

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

به طور معمول، قطعات رایج محتوا/کد (به عنوان مثال الگوها) در فایل های جداگانه ذخیره می شوند. هنگام ساخت یک سند وب، شما به سادگی این فایل ها را در مکان های مناسب در صفحه "قرار دهید". در PHP دو تابع برای این کار وجود دارد: include() و require().

شامل() و نیازمند()

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

برنامه نویسی را به زبان های دیگر (مانند C، C++ یا جاوا) تجربه کرده و با مفهوم کتابخانه های تابع و استفاده از آنها در برنامه ها برای گسترش عملکرد آشنا هستند.

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

کارکرد

چهار تابع در PHP برای گنجاندن فایل ها در اسکریپت های PHP وجود دارد:

  • عبارتند از()؛
  • include_once();
  • نیاز()؛
  • ().

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

تابع include() شامل محتویات یک فایل در اسکریپت می شود. نحو تابع include() به صورت زیر است:

شامل (فایل فایل)

تابع include() یک ویژگی جالب دارد - می توان آن را به صورت مشروط اجرا کرد. به عنوان مثال، اگر یک فراخوانی تابع در بلوک فرمان if گنجانده شود. سپس فایل فقط در صورتی در برنامه گنجانده می شود که شرط i f درست باشد. اگر تابع includeO در یک دستور شرطی استفاده می شود، آن وقت است بایددر بریس های مجعد یا جداکننده های جایگزین محصور شود. تفاوت های نحوی را بین لیست های 9.1 و 9.2 مقایسه کنید.

لیست 9.1. استفاده نادرست از include()

اگر (بعضی_شرطی)

include("text91a.txt"); دیگر

include("text91b.txt");

لیست 9.2. استفاده صحیح از include()

if (some_conditional):

include("text91a.txt");

include("text91b.txt");

تمام کدهای PHP موجود در فایل شامل لزومادر تگ های PHP نهفته است. تصور نکنید که صرفاً ذخیره یک دستور PHP در یک فایل، از پردازش صحیح آن اطمینان حاصل می کند:

در عوض، باید دستور را در تگ های مناسب بپیچید، همانطور که مثال زیر نشان می دهد:

چاپ "این یک فایل شامل نامعتبر است"؛

تابع include_once () همان کاری را انجام می دهد که () ، با یک استثنا: قبل از گنجاندن یک فایل در برنامه، بررسی می کند که آیا قبلاً گنجانده شده است یا خیر. اگر فایل قبلاً گنجانده شده باشد، فراخوانی ()include_once نادیده گرفته می‌شود، و اگر نه، گنجاندن فایل استاندارد رخ می‌دهد. از همه جهات دیگر، include_once() هیچ تفاوتی با include() ندارد. سینتکس تابع include_once() به صورت زیر است:

include_once (فایل فایل)

به طور کلی، تابع require() شبیه به include() است - همچنین شامل الگوی فایلی است که فراخوانی ()require در آن قرار دارد. دستور تابع ()require به این صورت است:

نیاز (فایل فایل)

با این حال، یک تفاوت مهم بین توابع ()require و include() وجود دارد. فایل مشخص شده توسط ()require بدون توجه به محل ()require در اسکریپت در اسکریپت گنجانده شده است. برای مثال، اگر Requi re() را در یک بلوک if فراخوانی کنید، اگر شرط نادرست باشد، فایل همچنان در اسکریپت گنجانده می شود!

در بسیاری از مواقع، ایجاد یک فایل با متغیرها و سایر اطلاعاتی که در سرتاسر سایت مورد استفاده قرار می‌گیرد و سپس در صورت نیاز آن را درج می‌کند، راحت است. اگرچه نام این فایل دلخواه است، من معمولا آن را init.tpl (مخفف "initializaion.template") می نامم. لیست 9.3 نشان می دهد که یک فایل init.tpl بسیار ساده چگونه به نظر می رسد. در لیست 9.4، محتویات init.tpl در اسکریپت با require() گنجانده شده است.

فهرست 9.3. نمونه ای از یک فایل اولیه

$site_title = "PHP Recipes";!}

$contact_email = " [ایمیل محافظت شده]";

$contact_name = "WJ Gilmore";

فهرست 9.4. با استفاده از فایل init.tpl

<? print $site_title; ?>

\"mai1 to:$contact_email\">$contact_name."; ?>

ارسال URL هنگام فراخوانی ()require فقط در صورتی مجاز است که حالت "URL fopen wrappers" فعال باشد (این حالت به طور پیش فرض فعال است).

با افزایش اندازه سایت، ممکن است مشخص شود که برخی از فایل ها چندین بار در اسکریپت گنجانده شده اند. گاهی اوقات این مشکلی ایجاد نمی کند، اما در برخی موارد، قرار دادن مجدد فایل باعث می شود که مقادیر متغیرهای تغییر یافته بازنشانی شوند. اگر فایل include توابع را تعریف کند، ممکن است تداخل نامگذاری رخ دهد. با این گفته، به تابع بعدی می‌رسیم - () ().

تابع ()require_once تضمین می کند که فایل فقط یک بار در اسکریپت گنجانده شده است. پس از فراخوانی ()requi re_once، تمام تلاش‌های بعدی برای گنجاندن همان فایل نادیده گرفته می‌شوند. سینتکس تابع ()require_once به صورت زیر است:

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

اجزای ساختمان

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

سرفصل

یک فایل هدر (مانند فایل لیست 9.5) تقریباً در هر یک از وب سایت های دارای PHP من ظاهر می شود. این فایل حاوی

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

لیست 9.5. فایل هدر نمونه

// فایل: header.tpl

// هدف: فایل هدر برای وب سایت PhpRecipes.

$site_name = "PHPRrecipes";

$site_email=" [ایمیل محافظت شده]";

$site_path = "http://localhost/phprecipes";

<? print $site_name; ?>

// تاریخ و زمان فعلی را چاپ کنید

تاریخ چاپ ("F d, h:i a");

اغلب، دسترسی بازدیدکنندگان به فایل‌های موجود محدود می‌شود، به خصوص اگر این فایل‌ها حاوی اطلاعات حساس (مثلاً رمزهای عبور) باشند. در آپاچی، می توانید با ویرایش فایل های http.conf یا htaccess از مشاهده برخی فایل ها جلوگیری کنید. مثال زیر نحوه جلوگیری از مشاهده همه فایل‌های با پسوند tpl را نشان می‌دهد:

سفارش اجازه، رد

اجازه از 127.0.0.1

PHP و مسائل امنیتی وب سایت به طور مفصل در فصل 16 پوشش داده شده است.

عنوان کوچک هر یک از صفحات کتاب

فوتر معمولاً اطلاعاتی است که در پایین صفحات یک سایت قرار دارد - اطلاعات تماس، پیوندها و اطلاعات حق چاپ. این اطلاعات را می توان در یک فایل جداگانه قرار داد و مانند یک سربرگ به عنوان یک الگو قرار داد. بیایید بگوییم که با شروع سال جدید باید اطلاعات حق چاپ را تغییر دهید و آن را به فرم "کپی رایت © 2000-2001" بیاورید. دو گزینه وجود دارد: شب کریسمس را با دیوانه وار ویرایش صدها صفحه ثابت بگذرانید. یااز الگویی مانند آنچه در فهرست 9.6 نشان داده شده است استفاده کنید. یک تغییر ساده و می توانید به روال تعطیلات خود بازگردید.

لیست 9.6.نمونه فایل پاورقی (footer.tpl)

مخاطب |

حریم خصوصی شما

به استفاده از متغیر جهانی $site_email در فایل فوتر توجه کنید. مقدار این متغیر به صورت صفحه ای است و فرض می کنیم که فایل های header.tpl و footer.tpl در یک صفحه نهایی قرار می گیرند. همچنین به وجود $site_path در پیوند Privacy توجه کنید. من همیشه مسیر کامل همه پیوندها را در قالب‌های خود قرار می‌دهم - اگر URL پیوند فقط privacy.php بود، فایل فوتر در یک فهرست خاص کدگذاری می‌شد.

بخش اصلی

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

لیست 9.7. نمونه ای از قسمت اصلی صفحه (index_body.tpl)

/tutorials.php">آموزش

articles

اسکریپت ها

contact

به PHPRecipes خوش آمدید. محل شروع اسکریپت های PHP، آموزش ها،

و اطلاعاتی در مورد آشپزی لذیذ!

همه با هم: سرصفحه، پاورقی و بدنه

شاید حال و هوای من با جمله ای از سرهنگ «هانیبال» اسمیت (جورج پپارد) از مجموعه تلویزیونی معروف «تیم A» به بهترین شکل خلاصه شود: «من دوست دارم وقتی همه چیز سر جای خودش قرار می گیرد». من چیزی مشابه را تجربه می کنم که در آن الگوهای متفاوت با هم جمع می شوند تا یک سند وب کامل را تشکیل دهند. با ترکیب سه بخش سند: header.tpl، index_body.tpl، و footer.tpl، می توانید به سرعت یک صفحه ساده مانند صفحه نشان داده شده در لیست 9.8 بسازید.

لیست 9.8. ساخت یک صفحه index.php با گنجاندن چندین فایل

// فایل: index.php

// مقصد: صفحه اصلی PHPRecipes

// چاپ عنوان

include("header.tpl");

// خروجی قسمت اصلی

include("index_body.tpl");

// نمایش پاورقی

include("footer.tpl");

خوب چطور؟ سه دستور ساده و شما یک صفحه تمام شده دارید. متن صفحه نهایی در فهرست 9.9 نشان داده شده است.

لیست 9.9. صفحه HTML ساخته شده در لیست 9.8 (index.php)

PHPRecipes

23 اوت، 03:17 ب.ظ

آموزش ها

مقالات

اسکریپت ها

مخاطب

به PHPRecipes خوش آمدید، محل شروع اسکریپت‌های PHP، آموزش‌ها،

و نکات و دستور العمل های آشپزی لذیذ!

حق چاپ 2000 PHPRecipes. تمامی حقوق محفوظ است.

مخاطب |

حریم خصوصی شما

در شکل شکل 9.1 نشان می دهد که چگونه صفحه به دست آمده در یک مرورگر به نظر می رسد. اگرچه من معمولاً از حاشیه های جدول استفاده نمی کنم، اما این بار آنها را ترسیم کردم تا سه قسمت صفحه با وضوح بیشتری در تصویر برجسته شوند.

برنج. 9.1. ظاهر صفحه ساخته شده در فهرست 9.8

بهینه سازی قالب

در گزینه دوم (به نظر من ارجح تر)، قالب ها به صورت توابعی طراحی شده اند که در یک فایل جداگانه قرار دارند. این ساختار اضافی برای قالب های شما فراهم می کند. من این فایل را فایل اولیه می نامم و اطلاعات مفید دیگری را در آن ذخیره می کنم. از آنجایی که قبلاً نمونه‌های سرصفحه و پاورقی نسبتاً طولانی را بررسی کرده‌ایم، فهرست‌های 9.10 و 9.11 برای نشان دادن ایده جدید کمی کوتاه شده‌اند.

لیست 9.10. قالب سایت بهینه شده (site_init.tpl)

// فایل: site_init.tpl

// هدف: فایل اولیه PhpRecipes

$site_name = "PHPRrecipes";

$site_email = " [ایمیل محافظت شده]";

$site_path = "http://localhost/phprecipes/";

تابع show_header ($site_name) (

<? print $site_name: ?>

این سربرگ است

تابع show footer()

این پاورقی است

لیست 9.11. استفاده از فایل اولیه

// شامل فایل اولیه

include("site_init.tpl");

// چاپ عنوان

نمایش هدر ($site_name);

// محتوای بدن این برخی از اطلاعات بدن است

// نمایش پاورقی Show_footer();

پروژه: مولد صفحه

اگرچه اکثر وب‌سایت‌هایی که من ایجاد کرده‌ام، محتوای صفحه اصلی را بر اساس اطلاعات خوانده شده از پایگاه داده تولید می‌کنند، همیشه چند صفحه وجود دارند که تقریباً بدون تغییر باقی می‌مانند. به طور خاص، آنها می توانند اطلاعات مربوط به تیم توسعه، اطلاعات تماس، تبلیغات و غیره را نمایش دهند. من معمولاً این اطلاعات "ایستا" را در یک پوشه جداگانه ذخیره می کنم و از یک اسکریپت PHP برای بارگذاری آن هنگام درخواست استفاده می کنم. البته یک سوال دارید - اگر این اطلاعات ثابت است، اسکریپت PHP برای چیست؟ چرا صفحات HTML معمولی را بارگذاری نمی کنید؟ مزیت PHP این است که می‌توانید از قالب‌ها استفاده کنید و در صورت نیاز قطعه‌های استاتیک را وارد کنید.

<а href = "/static.php?content=$content">نام صفحه ایستا

بیایید با ایجاد صفحات استاتیک شروع کنیم. برای سادگی، خود را به سه صفحه شامل اطلاعات سایت (فهرست 9.12)، تبلیغات (فهرست 9.13) و اطلاعات تماس (فهرست 9.14) محدود می کنم.

لیست 9.12. اطلاعات مربوط به سایت (about.html)

درباره PHPRecipes

چه برنامه نویسی برنامه نویسی تمام شب را با کوکی های لذیذ ترکیب نمی کند. اینجا در PHPRecipes. تقریباً یک شب نمی گذرد که یکی از کدنویسان ما کمی HTML را با یک بشقاب خوشمزه از قارچ Portobello یا حتی Fondue مخلوط نکرده باشد. بنابراین ما تصمیم گرفتیم آن را برای شما بیاوریم. بهترین چیزی که ما بیشتر دوست داریم: PHP و غذا!

درست است، خوانندگان. آموزش، اسکریپت، سوفله و موارد دیگر. 0nlyدر PHPRecipes.

اطلاعات تبلیغاتی

صرف نظر از اینکه آنها برای یادگیری آخرین تکنیک های PHP یا برای آموزش نحوه انجام آن آمده اند

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

متخصصانی که در مورد خرید شرکتشان تصمیم می گیرند.

برای اطلاع از تبلیغات تماس بگیرید

">[ایمیل محافظت شده].

لیست 9.14. جزئیات تماس (contact.html)

با ما تماس بگیرید

نکته کد نویسی دارید؟

تاپینگ مناسب برای شیرینی های شیرین را می شناسید؟

به ما اطلاع دهید! تماس با تیم در [ایمیل محافظت شده].

بیایید به ساخت صفحه static.php برویم که اطلاعات استاتیک درخواستی را نمایش می دهد. این فایل (به فهرست 9.15 مراجعه کنید) شامل اجزای صفحه سایت ما و فایل اولیه site_init.tpl است.

لیست 9.15. خروجی عمومی صفحات استاتیک (static.php)

// فایل: static.php

// هدف: نمایش صفحات استاتیک درخواستی.

// اخطار: فرض بر این است که فایل "site_init.tpl" است و تمام

// فایل های استاتیک در یک دایرکتوری قرار دارند.

// توابع و متغیرهای بارگذاری عبارتند از ("site_init.tpl"):

// نمایش هدر show_header($site_name);

// خروجی محتوای درخواستی شامل("$content.html"):

// نمایش فوتر show footer();

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

<а href = "static.php?content=about">نام صفحه ثابت

اطلاعات تبلیغاتی

با ما تماس بگیرید

اگر روی هر یک از این پیوندها کلیک کنید، مرورگر شما صفحه استاتیک مربوطه را که در static.php تعبیه شده است بارگذاری می کند!

نتایج

در این فصل، با وظیفه اصلی که PHP برای آن ایجاد شد آشنا شدید - ساخت صفحات وب به صورت پویا. موارد زیر در نظر گرفته شد:

  • پردازش URL؛
  • ساخت محتوای پویا؛
  • گنجاندن و ساخت قالب های اساسی.

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

فصل بعدی بر روی استفاده از PHP در ترکیب با فرم‌های HTML تمرکز دارد تا تعامل سایت شما را تا حد زیادی افزایش دهد. و سپس - تعامل با پایگاه های داده! شما چیزهای جالب زیادی برای یادگیری دارید.


دنیای برنامه های رایگان و نکات مفید
2024 whatsappss.ru