آموزش ساختن يك وبلاگ ساده با PHP

همين اول بگم كه اين مقاله رو در جواب يكي ديگه از تاپيكها (سورس ساده يك وبلاگ با PHP) كه باز هم توسط خودم شروع شده بود ولي كسي كمك زيادي نكرد ( همه گفتم برو توي سورسهاي سيستم هاي مربوطه بگرد پيدا ميكني ) نوشتم كه اگه مثل اون موقغع من در عجله بود به كارش برسه!!
اميدوارم بدرد بخور باشه...


-----------------------------------------------------------------------------


در این مقاله شما طرز ساختن یک سیستم وبلاگ بسيار ساده برای وب سایتتان بوسیله php و MySQL را یاد خواهید گرفت.چنانچه با php و برنامه نویسی تحت وب و نیز طراحی صفحات و بانک اطلاعاتی به صورت ابتدایی آشنایی ندارید ... اصلا نترسيد (من خودم هم خيلي بلد نيستم ) فقط اگر كمي انگليسي بلد باشيد و كمي كنجكاوي و تلاش كنيد مطمينا خواهيد فهميد.

ما براي اين اموزش به چهار فايل نياز داريم: Index.php , Add.php , config.php , install.php

از install.php شروع ميكنيم.


کد:
well done!
 <?php
 include "config.php";
 mysql_query("CREATE TABLE $tb_posts (
  id int(5) unsigned zerofill NOT NULL auto_increment,
  entry text NOT NULL,
  KEY id (id)
 )") or die(mysql_error());
 ?>


اول اين فايل مياد config.php را در بدنه اصلی برنامه فراخوانی می کند که براي ارتباط با بانک اطلاعات می باشد. ( ... كه بعدا دربارش حرف خواهيم زد)
بعد اين فايل با استفاده از دستورات SQL يك Table با نام posts در ديتابيس ايجاد ميكند.

قسمت بعدي ساخت config.php است.


کد:
<?php 
 $mysqlhost=" localhost ";
 $mysqldb=" database name ";
 $tb_posts=" posts ";
 $mysqluser=" user name ";
 $mysqlpwd=" pasword ";
 $limit="5";
 $conn = mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die(mysql_error()); 
 mysql_select_db($mysqldb, $conn) or die(mysql_error());
 ?>


اين كدها محل ديتابيس ( mysqlhost ) , اسم ديتابيس ( mysqldb ) , اسم جدول ( tb_posts ) , يوزر نيم و پسورد ديتابيس ( mysqluser و mysqlpwd ) , و تعداد پستها در صفحه ( limit ) را مشخص ميكند .اين فايل در تمام فايل ها ي اصلي وبلاگ فراخوانی ميشود چون حاوي دستورات اساسي است.

قسمت بعدي صفحه Add.php است.


کد:
<?php
 require("config.php");
  mysql_query("INSERT INTO $tb_posts VALUES('','$entry')") or die(mysql_error());
 ?>
 <HTML>
 <style>
 Body { background: #FFFFFF; font-family: Tahoma, times new roman, sans- serif; font-size: 8pt; margin: 5px }
 </style>
 <form method="post" action="<?php echo $PHP_SELF; ?>">
 <div align="center">عنوان<br><br>
 <input type="text" name="entry" class="input" style="width: 300px;">
 </div>
 <div align="center"> 
 <p>
 <input type="submit" name="add" value=" افزودن " class="button">
 </HTML>


شما توسط اين صفحه ميتونيد مطلبتون را به وبلاگ بفرستيد.

قسمت اصلي اين كد اين تيكه است :
کد:
<"input type="text" name="entry" class="input" style="width: 300px>
اين كد مياد و مطلب رو ميفرسته به ديتابيس ...

قسمت اخر هم صفحه اصلي وبلاگ است. (index.php)


کد:
<html> 
 <style> 
 .text { 
 font-family: Tahoma; 
 font-size: 11px; 
 color: #333333; 
 } 
 </style> 
 <?php 
 require("config.php"); 
 $query=mysql_query("SELECT * FROM $tb_posts ORDER BY id DESC LIMIT  $limit") or die(mysql_error()); 
 while($row = mysql_fetch_array($query)) { 
  $j = mysql_num_fields($query); 
  for($i=0;$i<$j;$i++) { 
  $k = mysql_field_name($query,$i); 
  $$k = $row[$k]; 
 } 
 $entry=nl2br(stripslashes($entry)); 
 print("<font class=text>$entry</font><BR>"); 
 ?> 
 </html>


اين فايل مياد و مطلب فرستاده شده به ديتابيس رو بر اساس ID اون زير هم در اين صفحه قرار ميده...
قسمت مهم اين كد رو به رنگ قرمز ميبينيد...


-----------------------------------------------------------------------------

طرز استفاده:


براي استفاده از اين سيستم اول بايد همه اونها رو save كنيد ولي محل انها مهمند!! (البته خودتون ميتونيد هر جور خواستيد عوضشون كنيد ... اين رو بيشتر براي دسته بندي بهتر فايلها گفتم)
اول بايد يك پوشه با نام Weblog درست كنيد ... بعد فايل index.php رو بريزيد توش و يك پوشه هم با نام admin در پوشه Weblog درست كنيد كه بقيه فايلها مثل add.php install.php و config.php رو در اون قرار ميديد.
حالا اون رو بايد با Winzip زيپ كرده و شما اماده استفاده از اون هستيد.

شما ميتونيد نسخه save شده اون از اينجا دريافت كنيد


براي نصب كردن هم بايد روي هوستتون يك ديتابيس با نام دلخواه درست كنيد (اون رو ديگه بايد خودتون بلد باشيد)
بعد اين فايل رو در پوشه Public_Html اپلود كنيد و سپس اون رو Extract كنيد.براي ادامه كار بايد فايل config.php در پوشه ادمين رو دستي تنظيم كنيد. در قسمت database name اسم ديتابيستونو قرار ميديد و در قسمت database name و pasword يوزر و پسورد ديتابيس رو بنويسيد (در بيشتر هاستها user و pass همون يوزر و پسورد هاستتون است).در اخر اون رو ذخيره ميكنيد.

بعد از اين كار اين ادرس را در قسمت ادرس بار براي Install كردن قرار داده...

http://www.sitename.com/weblog/admin/install.php (در صورتي كه sitename.com ادرس سايت شماست)

اگر پيغام !well done ظاهر شد بدونيد كه ديتابيستون نصب شده و شما اماده استفاده از وبلاگتون هستيد. (اگر پيغام خطا داد بدونيد كه مشكل از تنظيمات فايل config.php است!)
براي استفاده كردن به اين ادرس بريد:

http://www.sitename.com/weblog/admin/add.php

تا پيام خود را نوشته و بفرستيد...

براي ديدن خود وبلاگ هم به اين ادرس: http://www.sitename.com/weblog

------------------------------------------------------------------------


توجه:


- تمام اين كدها از روي سيستم مديريت وبلاگ وبنگار برداشته شده است.

- اموزشي كه در اينجا داده ميشه دارايه هيچگونه امنيتي نيست(مثل دارا بودن پسورد براي ادمين و ...) و فقط براي اموزش پايه اي است (براي اطلاعات بيشتر ميتوانيد به سايت مربوطه مراجعه كنيد)

- بگم كه ممكن وقتي به صفحه اصلي وبلاگتون نگاه كنيد قيافش شبيه يك وبلاگ واقعي نباشه ولي مطمين باشين كه با كمي كار روي صفحات ( طراحي ) ميتونين يك وبلاگ كامل درست كنيد.

- اين سورس بسيار بسيار ساده از يك وبلاگ بود ولي مطمينا خيلي مهم است و پايه اي است.مثلا همين PHPNUKE ... بعضي از قسمتهاي اين سيستم بزرگ براساس اين كد ساخته شده است يا مثلا بعضي از انجمنهاي گفتگو يا سيستم هاي مديريت وبلاگ ديگر و ....

- مطمينا از طرز نوشتن من ميشه فهميد كه خيلي در اين باره تجربه ندارم... و مطمينا ميتونيد اشتباهاي زيادي در اين مطلب گير بياريد.
من اين سيستم را تست كردم و ميدونم كار ميكنه ولي اگه شما جايي اشتباهي ديديد حتما بگيد.

- اين سيستم رو تقريبا بدون هيج امكاناتي توضيح دادم.اگه خودتون بيشتر ميخواين ميتونين به منبع اصلي كدها سايت وبنگار مراجعه كنيد.

- با اين حال كه ميدونم اين مقاله زياد ارزشي نداره ولي براي من خيلي ارزش داره چون اين تلاش ۲ هفته كار من روي اين سيستم بوده(به اين توجه كنيد كه من زياد از PHP چيزي نميدونم...)پس حق مقاله براي من محفوظ بوده و نقل اين مطلب فقط با ذكر منبع بي مانع است.

- در اخر هم اميدوارم اين مطلب براي بعضي ها مفيد بوده!!



-----------------------------------------------------------------------------


در اخر چند سوال داشتم :
اين اموزش براي كساني داده شده كه يك فضا با cPanel دارن...
حالا سوال من اينه كه اگه بخوايم همين سيستم رو روي يك سايت FreeHost نصب كنيم كه phpو mysql رو پشتيباني ميكنه در مورد ديتابيس و يوزر و پسوردش بايد چي كار كرد؟؟ (منظورم اينه كه مثلا مثل ASP-RIDER يك ديتابيس داشته باشه كه با خودش حمل كنه)

راستي ميخواستم بدونم از اين ساده تر هم سورس براي وبلاگ وجود داره يا اين ديگه ساده ترينه؟!


راستي شما ميتونيد نسخه save شده اون از اينجا دريافت كنيد (امكان فارسي نويسي بهش اضافه شده!)
 

iwd_admin

Member
با اينكه به گفته خودتون از برنامه نويسي چيزي نميدونيد ولي خوب تونستيد شرح بديد.
البته من كد ها رو تست نكردم ولي همينكه منطق برنامه رو متوجه شدين خيلي خوبه.
در مورد سوالات هم بايد بگم بله از اين ساده تر هم ميشه يعني همه چي تو يه فايل !
Mysql اگه نباشه ميشه اطلاعات رو تو فايل تكست هم ذخيره كرد.
 
iwd_admin گفت:
با اينكه به گفته خودتون از برنامه نويسي چيزي نميدونيد ولي خوب تونستيد شرح بديد.
البته من كد ها رو تست نكردم ولي همينكه منطق برنامه رو متوجه شدين خيلي خوبه.
در مورد سوالات هم بايد بگم بله از اين ساده تر هم ميشه يعني همه چي تو يه فايل !
Mysql اگه نباشه ميشه اطلاعات رو تو فايل تكست هم ذخيره كرد.

- ممنون
- منظورم اينه كه روش احاطه ندارم ولي ميتونم يه چيزهايي بفهمم...
- راستي ميشه يكم بيشتر درمورد اون جمله اخر توضيح بديد (مثلا يوزر و پسورد چي ميشه)
 

iwd_admin

Member
براي گذاشتن پسورد روي فايلي كه مي نويسه يا همون بخش ادمين ، ميشه بوسيله چند خط دستور permission رو داد و پسورد رو داخل خود فایل قرار داد.
 
ممنون
اون تيكشو فهميدم (من بيشتر روي ديتابيسش مشكل دارم)
ولي مثلا اگه بخوام همين سيستم رو روي يك FreeHost نصب كنم اون فايل تكست چگونه بايد باشه تا سيستم كار كنه؟ (يه جا شنيده بودم بايد با پسوند SQl ذخيره بشه , ايا درسته؟)
ممنون ميشم
 
پس يعني اگر جايي كه اسم ديتابيس رو قرار ميديم ادرس اون تكست فايل رو قرار بديم وبلاگ كار خواهد كرد؟؟؟
 
بازم ممنون
يه زحمت ديگه:

من اينو با همين سيستم امتحان كردم ولي كار نكرد:

کد:
<?php 
 $file = "fopen(database.txt, 'r+b)"; 
 $mysqlhost="localhost";
 $mysqldb= $file ;
 $tb_posts=" posts ";
 $limit="5";
 $conn = mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die(mysql_error()); 
 mysql_select_db($mysqldb, $conn) or die(mysql_error());
 ?>

ميشه يه راهنمايي بكنيد؟؟
واقعا ممنون ميشم
 

iwd_admin

Member
آخه وقتي رو تكست مينويسين ديگه با mysql كاري ندارين كه كد هاي مربوط به اون رو نوشتين.
 

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

بالا