صفحات پویا در PHP PHP. ایجاد صفحه پویا با فهرست ایجاد php

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

صفحات داینامیک و نیازهای آنها

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

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

نمونه ای از استفاده از دستور include

در مقاله قبلی در مورد طرح بندی بلوک سایت صحبت کردم و ساده ترین صفحه را به عنوان مثال (سند) ذکر کردم index.htmlو فایل مرتبط با آن style.css).

اکنون سند را تقسیم می کنیم index.htmlبه چندین فایل که هر کدام شامل قسمت مخصوص به خود از صفحه است که به جداسازی بیشتر کدها، بهبود ساختار قالب و در واقع پویایی صفحه کمک می کند. برای این منظور استفاده خواهیم کرد زبان پی اچ پی، یا بهتر است بگوییم، تنها یکی از دستورالعمل های آن - عملکرد عبارتند از()، که شامل یک فایل در فایل دیگر است.

1. مجوز فایل ایجاد شده در مقاله درباره طرح بندی بلوک را تغییر دهید فهرست مطالببا .htmlبر phpبرای نامگذاری سند index.php. نوع فایل پی اچ پیبه سرور نشان می دهد که سند نوشته شده است یا از درج هایی در زبان برنامه نویسی به همین نام استفاده می کند.

2. در پوشه با صفحه، یک دایرکتوری ایجاد کنید بلوک ها.

3. تمام اطلاعات پشتیبانی (بالا، پایین، ناوبری و نوار کناریسایت) فایل های جداگانه ای را خارج می کنیم که در پوشه قرار می دهیم بلوک ها.

بنابراین، چهار فایل را در فهرست بلاک ها ایجاد کنید: header.php, navigation.php, نوار کناری.phpو footer.php. فایل ها را با کد پر کنید.

4. ساختار پوشه الگو را بررسی کنید. فایل ها باید در روت باشند index.php, style.cssو دایرکتوری بلوک ها.

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

5. در پرونده index.phpکد موجود را حذف کنید و یک کد جدید بنویسید:

طرح بندی بلوک

محتوای صفحه اصلی

در مرورگر، فایل index.php دقیقاً مانند قبل است، اما ساختار قالب کاملاً تغییر کرده است. بعداً در مورد آنچه اتفاق افتاده صحبت خواهیم کرد و اکنون به سؤال در مورد دستورات مرموز فرم پاسخ خواهیم داد .

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

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

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

این روش خوب است زیرا اگر می خواهید نام یک آیتم منو را در یک سایت 20-30 صفحه تغییر دهید، سپس در قالبی با ساختار جدید ایجاد شده، باید فقط یک فایل - بلوک ها را تغییر دهید. /navigation.php، و منو بلافاصله در تمام صفحاتی که در آن گنجانده شده است تغییر می کند. اگر سایت ثابت بود، برای تغییر نام یک آیتم منو، باید تغییراتی در آن ایجاد کنید هراز 20 تا 30 صفحه تفاوت آشکار است.

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

PHP و HTML

حالا این دو رشته تقریباً با هم مرتبط هستند. پشت سر هم آنها مبنایی است که "زندگی" بیشتر اینترنت بر آن بنا شده است. البته سایر زبان های سمت سرور (Perl، ASP.NET) نیز در ارتباط با html استفاده می شوند. اما شیوع آنها در شبکه جهانی وب، در مقایسه با PHP، صرفاً اپیزودیک است.

طبق آمار، معماری اکثر منابع موجود در اینترنت بر اساس php و html ساخته شده است.


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

  • بیایید یک فایل جدید با پسوند php ایجاد کنیم.
  • بیایید کد زیر را در آنجا قرار دهیم:

صفحه وب بدون عنوان الان ساعت چنده؟

  • بیایید فایل را در سرور محلی ذخیره کرده و در مرورگر باز کنیم. سپس بر روی دکمه سمت راست ماوس کلیک کنید و منوی زمینهمورد را انتخاب کنید " مشاهده صفحه html».

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

سایت پویا

امروزه دو نوع وب سایت اصلی وجود دارد:

  • استاتیک - فقط بر اساس html ایجاد شده است. چنین سایت هایی محتوای خود را در پاسخ به اقدامات کاربران تغییر نمی دهند. البته، یک منبع ثابت می تواند به رویدادها و اقدامات کاربر پاسخ دهد. اما اجرای پویایی صفحه در سمت کلاینت دامنه محدودی دارد که با قابلیت‌های جاوا اسکریپت محدود می‌شود.

کد جاوا اسکریپت در مرورگر سمت کلاینت اجرا می شود.

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

یک سایت php پویا از فایل های زیر تشکیل شده است:

  • index.php فایل اصلی پروژه است.
  • الگوها - شامل ساختار بخش خاصی از صفحه ( کلاهک، زیرزمین، بدنه اصلی);
  • فایل های CSS - تمام توضیحات سبک منبع را ذخیره کنید.

علاوه بر این، پروژه سایت ممکن است شامل فایل هایی باشد که کد توابع و متدهای php را ذخیره می کنند. و همچنین شامل یک پایگاه داده.

در اکثر CMS ها، منبع محتوا برای پر کردن صفحاتی که به صورت پویا در سمت سرور تولید می شوند، پایگاه داده است. پرکاربردترین پایگاه داده MySQL است.

نحوه نوشتن وب سایت به زبان PHP

برای درک نحوه ایجاد یک سایت در php، اجازه دهید به یک مثال عملی نگاه کنیم. البته بسیاری از آن ساده شده است، اما مکانیسم کامل کار و مراحل ایجاد حفظ شده است.

من یک سایت html با ساختار و طراحی زیر دارم:

کد او:

نمونه سایت PHP

یک کلاه

محتوا

کد فایل style.css:

سرصفحه ( حاشیه-چپ: خودکار؛ حاشیه-راست: خودکار؛ حاشیه-پایین: 10 پیکسل؛ عرض: 1000 پیکسل؛ ارتفاع: 100 پیکسل؛ حاشیه: 1 پیکسل ثابت #000000؛ پس زمینه: #009966؛ پس زمینه-تصویر: آدرس اینترنتی (img/1. gif); ) .pages ( margin-left: auto; margin-right: auto; width:1000px; ) .content ( margin-right:10px; عرض:806px; ارتفاع:450px; حاشیه:1px solid #000000; پس زمینه: #999999; float:left;) .نوار کناری (عرض: 180 پیکسل؛ ارتفاع: 450 پیکسل؛ حاشیه: 1 پیکسل ثابت #000000؛ پس‌زمینه: #FF9900؛ شناور: چپ؛ ) .foot ( واضح: هر دو؛ ) :10 پیکسل؛ حاشیه-چپ: خودکار؛ حاشیه-راست: خودکار؛ عرض: 1000 پیکسل؛ ارتفاع: 50 پیکسل؛ حاشیه: 1 پیکسل ثابت #000000؛ پس زمینه: #333399؛ )

قبل از نوشتن یک سایت با php تا انتها، تمام کدهای html باید در چندین فایل پخش شوند:

  • Header.php شامل تمام کدها از ابتدا تا انتهای لایه "هدر" می شود.
  • در footer.php - لایه "foot" و "footer"؛
  • در content.php - تمام کدهای باقی مانده در وسط.

اکنون صفحه اصلی index.php را ایجاد می کنیم که شامل فراخوانی های فایل حاوی کد عناصر طراحی لازم است. در کل، تنها 3 خط از اسکریپت در فایل اصلی وجود داشت:

و اگر به کد html صفحه در مرورگر نگاه کنید، کد منبع اصلی را خواهید دید:

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

راه انحرافی

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

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

سلام! اکنون سعی می کنیم با استفاده از PHP + MySQL ساده ترین ثبت نام را در سایت پیاده سازی کنیم. برای این کار باید آپاچی روی کامپیوتر شما نصب باشد. نحوه کار اسکریپت ما در زیر نشان داده شده است.

1. بیایید با ایجاد جدول کاربران در پایگاه داده شروع کنیم. این شامل اطلاعات کاربر (ورودی و رمز عبور) خواهد بود. بیایید به phpmyadmin برویم (اگر یک پایگاه داده در رایانه شخصی خود ایجاد کنید http://localhost/phpmyadmin/). یک جدول ایجاد کنید کاربران، دارای 3 فیلد خواهد بود.

من آن را در پایگاه داده mysql ایجاد می کنم، شما می توانید آن را در پایگاه داده دیگری ایجاد کنید. سپس مقادیر را مانند شکل تنظیم کنید:

2. اتصال به این جدول الزامی است.بیایید یک فایل ایجاد کنیم bd.php. محتوای آن:

$db = mysql_connect("سرور MySQL شما"،"ورود به این سرور"،"رمز عبور برای این سرور");
mysql_select_db ("نام پایگاه داده برای اتصال به"، $db);
?>

در مورد من به نظر می رسد این است:

$db = mysql_connect("localhost", "user","1234");
mysql_select_db("mysql",$db);
?>

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

3. یک فایل reg.php با محتوا ایجاد کنید (همه نظرات داخل):



ثبت


ثبت
















4. یک فایل ایجاد کنید، که داده ها را وارد پایگاه داده و ذخیره کاربر می کند. save_user.php(نظرات در داخل):



{
}
//اگر لاگین و رمز عبور وارد شده باشد، آنها را پردازش می کنیم تا تگ ها و اسکریپت ها کار نکنند، شما هرگز نمی دانید افراد چه چیزی را می توانند وارد کنند.


// حذف فضاهای اضافی
$login = trim($login);
$password = trim($password);
// به پایگاه داده متصل شوید
// وجود کاربری با همان ورود را بررسی کنید
$result = mysql_query("SELECT ID FROM users WHERE login="$login"",$db);
if (!empty($myrow["id"])) (
exit("با عرض پوزش، نام کاربری که وارد کردید قبلا ثبت شده است. لطفا نام کاربری دیگری وارد کنید.");
}
// اگر وجود ندارد، داده ها را ذخیره کنید
$result2 = mysql_query ("INSERT INTO users (login,password) VALUES("$login","$password")");
// بررسی کنید که آیا خطا وجود دارد
اگر ($result2=="TRUE")
{
echo "شما با موفقیت ثبت نام کردید! اکنون می توانید وارد سایت شوید. صفحه اصلی";
}
دیگر(
echo "خطا! شما وارد نشده اید.";
}
?>

5. اکنون کاربران ما می توانند ثبت نام کنند!در مرحله بعد، باید یک "در" برای ورود به سایت برای کاربرانی که قبلا ثبت نام کرده اند ایجاد کنید. index.php(نظرات در داخل):

// کل رویه روی جلسات کار می کند. در آن است که داده های کاربر در حالی که او در سایت است ذخیره می شود. راه اندازی آنها در همان ابتدای صفحه بسیار مهم است!!!
session_start();
?>


صفحه اصلی


صفحه اصلی











ثبت نام



// بررسی کنید که آیا متغیرهای login و user id خالی هستند یا خیر
اگر (خالی ($_SESSION["login"]) یا خالی ($_SESSION["id"]))
{
// اگر خالی باشد، پیوند را نمایش نمی دهیم
echo "شما به عنوان مهمان وارد شده اید
این لینک فقط برای کاربران ثبت نام شده در دسترس است";
}
دیگر
{

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

6. یک فایل با تایید ورود و رمز عبور وارد شده وجود دارد. testreg.php (نظرات در داخل):

session_start();// کل رویه روی جلسات کار می کند. در آن است که داده های کاربر در حالی که او در سایت است ذخیره می شود. راه اندازی آنها در همان ابتدای صفحه بسیار مهم است!!!
if (isset($_POST["login"])) ($login = $_POST["login"]; if ($login == "") ( unset($login);) ) //ورود وارد شده توسط کاربر در متغیر $login، اگر خالی باشد، متغیر را از بین می بریم
if (isset($_POST["password"])) ($password=$_POST["password"]; if ($password =="") ( unset($password);) )
// پسورد وارد شده توسط کاربر را در متغیر $password قرار دهید، اگر خالی است، متغیر را از بین ببرید.
اگر (خالی($login) یا خالی($password)) //اگر کاربر لاگین یا رمز عبور وارد نکرده باشد، خطا صادر می کنیم و اسکریپت را متوقف می کنیم.
{
exit ("شما همه اطلاعات را وارد نکردید، به عقب برگردید و تمام فیلدها را پر کنید!");
}
//اگر لاگین و رمز عبور وارد شده باشد، آنها را پردازش می کنیم تا تگ ها و اسکریپت ها کار نکنند، شما هرگز نمی دانید افراد چه چیزی را می توانند وارد کنند.
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
// حذف فضاهای اضافی
$login = trim($login);
$password = trim($password);
// به پایگاه داده متصل شوید
include("bd.php");// فایل bd.php باید در همان پوشه ای باشد که همه افراد دیگر هستند، اگر اینطور نیست، فقط مسیر را تغییر دهید.

$result = mysql_query("SELECT * FROM users WHERE login="$login"",$db); //بازیابی همه داده های مربوط به کاربر با ورود وارد شده از پایگاه داده
$myrow = mysql_fetch_array($result);
if (خالی ($myrow["password"]))
{
//اگر کاربری با لاگین وارد شده وجود نداشته باشد
}
دیگر(
//در صورت وجود، پسوردها را بررسی کنید
if ($myrow["password"]==$password) (
//اگر رمزهای عبور مطابقت داشته باشند، جلسه را برای کاربر شروع می کنیم! می توانید به او تبریک بگویید، وارد شد!
$_SESSION["login"]=$myrow["login"];
$_SESSION["id"]=$myrow["id"];//این داده ها اغلب استفاده می شوند، بنابراین کاربر وارد شده آنها را "حمل" می کند
echo "شما با موفقیت وارد سایت شدید! صفحه اصلی";
}
دیگر(
//اگر رمزهای عبور مطابقت ندارند

Exit ("با عرض پوزش، ورود یا رمز عبوری که وارد کردید نادرست است.");
}
}
?>

باشه الان همه چی تموم شد! شاید درس خسته کننده باشد، اما بسیار مفید است. فقط ایده ثبت نام در اینجا نشان داده شده است، سپس می توانید آن را بهبود ببخشید: حفاظت، طراحی، فیلدهای داده را اضافه کنید، آواتارها را آپلود کنید، از حساب خود خارج شوید (برای این، به سادگی متغیرهای جلسه را با عملکرد حذف کنید. تنظیم نشده) و غیره. موفق باشید!

همه چیز را بررسی کرد، خوب کار می کند!

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

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

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

لینک های ساده

<а 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 و include() وجود دارد. فایل مشخص شده توسط پارامتر ()require بدون توجه به محل ()require در اسکریپت در اسکریپت گنجانده شده است. به عنوان مثال، اگر در یک بلوک if با شرط نادرست ()requirere را فراخوانی کنید، فایل همچنان در اسکریپت گنجانده می شود!

در بسیاری از مواقع، ایجاد یک فایل با متغیرها و سایر اطلاعاتی که در سرتاسر سایت استفاده می‌شود و سپس در صورت نیاز آن را درج می‌کند، راحت است. اگرچه نام این فایل دلخواه است، من معمولا آن را 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 می رسیم.

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

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

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

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

سرتیتر

یک فایل هدر (مانند فایل لیست 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 پوشش داده شده است.

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

هدر (پانویس) معمولاً به اطلاعاتی گفته می شود که در پایین صفحات سایت قرار دارد - اطلاعات تماس، لینک ها و اطلاعات حق چاپ. این اطلاعات را می توان در یک فایل جداگانه قرار داد و مانند یک سربرگ به عنوان یک الگو قرار داد. بیایید بگوییم که با فرا رسیدن سال جدید، شما باید اطلاعات حق چاپ را تغییر دهید و آن را به فرم "Copyright © 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-Team به بهترین شکل بیان می کند: «من عاشق وقتی همه چیز سر جای خودش قرار می گیرد». هنگامی که الگوهای متفاوت برای تشکیل یک سند وب کامل با هم ترکیب می شوند، چیزی مشابه را تجربه می کنم. با ترکیب سه بخش سند: 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 برای افزایش تعاملی سایت شما است. و سپس - تعامل با پایگاه های داده! شما باید چیزهای جالب زیادی یاد بگیرید.

آخرین به روز رسانی: 1.11.2015

اکنون یک سایت کوچک ایجاد خواهیم کرد که برای درک اولیه کار با PHP طراحی شده است.

برای ایجاد برنامه در PHP به یک ویرایشگر متن نیاز داریم. محبوب ترین برنامه امروز Notepad ++ است.

بیایید به دایرکتوری قبلی ایجاد شده C:\localhost برویم که تمام اسناد سایت را ذخیره می کند. بیایید یک فایل متنی ایجاد کنیم و نام آن را بگذاریم index.html. آن را در یک ویرایشگر متن باز کنید و کد زیر را به آن اضافه کنید:

اولین سایت در PHP

مشخصات خود را وارد کنید:

اسمت را وارد کن:

نام خانوادگی را وارد کنید:

کد html حاوی یک فرم با دو فیلد متنی است. هنگامی که دکمه کلیک می شود، داده های فرم همانطور که در ویژگی action مشخص شده است به اسکریپت display.php ارسال می شود.

حالا بیایید این اسکریپت را ایجاد کنیم که داده ها را پردازش می کند. به پوشه اضافه کنید c:\localhostفایل متنی جدید بیایید نام آن را به display.php تغییر دهیم. به طور پیش فرض، فایل های برنامه php دارای پسوند هستند php. پس بیایید کد زیر را به فایل display.php اضافه کنیم:

اولین سایت در PHP ".$name . " " . $surname . ""; ?>

در اینجا در نشانه گذاری html لکه هایی از کد PHP وجود دارد. از تگ ها برای افزودن عبارات PHP به یک صفحه استفاده می شود، که بین آن دستورالعمل هایی به زبان PHP وجود دارد. در کد php داده های فرم را دریافت کرده و در صفحه نمایش می دهیم.

هر عبارت PHP باید با یک نقطه ویرگول به پایان برسد. در این حالت سه عبارت داریم. دو نفر از آنها داده های فرم ارسال شده را دریافت می کنند، برای مثال $name = $_POST["firstname"]; .

$name متغیری است که مقداری را نگه می دارد. قبل از همه متغیرها در PHP علامت $ وجود دارد. و از آنجایی که فرم در صفحه index.html از روش POST برای ارسال استفاده می کند، می توانیم از عبارت $_POST["firstname"] برای دریافت مقداری که در قسمت متن با ویژگی name="firstname" وارد شده است استفاده کنیم. و این مقدار به متغیر $name وارد می شود.

با دستور echo می توانید هر مقدار یا متنی را که بعد از دستور آمده در صفحه نمایش دهید. در این مورد (پژواک "نام شما: ".$name . " " . $surname . "")، با استفاده از یک نقطه، متن نقل قول شده با مقادیر متغیرهای $name و $surname الحاق شده و در صفحه نمایش داده می شود.

حالا با رفتن به آدرس به فرم ورودی می پردازیم http://localhost:8080:

مقداری داده را وارد کرده و روی دکمه ارسال کلیک کنید:

بنابراین، فیلمنامه برای ما کار کرد display.php، که داده های ارسالی را دریافت کرده و در صفحه نمایش می دهد.

 
مقالات توسطموضوع:
صفحه فرود چیست و چگونه باید باشد نام صفحه فرود در اینترنت چیست؟
اکثر صاحبان مشاغل خصوصی، خدمات مختلف و سازمان های کوچک می دانند که انجام تجارت آنلاین چقدر اهمیت دارد. ایجاد وب سایت و حفظ صفحه در شبکه های اجتماعی در حال حاضر بخشی از استراتژی بازاریابی هر شرکتی است. اما تعداد کمی از شرکت ها و
چگونه قالب خود را روی ucoz نصب کنیم - برنامه ای که از آن اطلاعی نداشتید، ما در حال یادگیری اتصال هستیم!
نحوه نصب قالب جوملا - رفع عیب - 4.5 از 5 بر اساس 2 رای انتخاب، نصب و پیکربندی قالب یکی از مهم ترین مراحل ایجاد سایت جوملا است. در این آموزش نحوه نصب قالب را بررسی خواهیم کرد
Faibisovich - راهنمای طراحی شبکه های الکتریکی
کتابچه راهنمای طراحی شبکه های الکتریکی ویرایش شده توسط D. L. FAIBISOVICH ویرایش 4، بازبینی و تکمیل شده داور V. V. Mogirev نویسندگان: I. G. Karapetyan (pp. 3.2, 5.1, 5.3-5.8, sec. 7bisov), sec.
نرم افزار کامپیوتر نرم افزار اطلاعات کامپیوتر کاربر
نرم افزار یا نرم افزار (SW) بخشی جدایی ناپذیر از یک کامپیوتر است. نرم افزار ادامه منطقی ابزارهای فنی است که امکانات و دامنه استفاده از رایانه را گسترش می دهد. برای عملکرد کامپیوتر از مجموعه ای از نرم افزارها استفاده می شود.