آموزش ساخت یک سی ام اس (سیستم خبری) ساده

ALI4GHA

Member
من یه چیز را متوجه نشدم

اینجا قراره آموزش ساخت یه cms قرار داده بشه یا یه cms نوشته بشه ؟ :-?

اگه قراره آموزش داده بشه پس هرکی هر کاری میکنه آموزش بده .

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

اینجوری که داره پیش میره تا دو روز دیگه خود امیر هم از این cms سر در نمیاره چه !
 

shnoit

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

SME

Banned
اول قرار بود آموزش باشه توسط آقا امیر.
بعد من و دوستان یک کمی سو استفاده کردیم و کم کم تبدیل شد به یک پرتال اوپن سورس. :D :lol:
دوست عزیز ، saidshp لطفا شما فقط کد قسمت مربوطه رو به صورت کد باز تو انجمن بزارید تا بقیه هم بتونن استفاده کنن.
طبق قرار آقا امیر زحمت یکی کردن کدها رو میکشه.
ممنون
 

SME

Banned
قوانین و مقررات دوستانه!

قوانون تاپیک برای اینکه سیستم کاری و نوشتن پورتال بهم نخوره:

گروه برنامه نویسا وطراحان:
Amir01
SME (خودم
Allahparast
saidshp
shnoit
ALI4GHA
(گروه تکمیل شد)

دوستان عزیزی که عضو گروه هستن هرچی ایده دارن قبل از اجرا تو تاپیک بگن تا دوباره کاری نشه و یک کار چند بار انجام نشه.
همه سورسها مانند این صفجه (صفحه 3 همین تاپیک-دوتا نوشته آخر) و این صفحه (صفجه یک نوشته اول-amir01) اول تو تاپیک قرار میگیره (داخل تگ PHP و برای مشخص بودن کدها) و هر چند وقت یکبار هم آقا امیر زحمت یکی کردن سورسها رو میکشه و برای دانلود به صورت فول میزاره تو تاپیک.
اگر دوستان همراه با قرار دادن سورس در تک PHP یک آموزش کوچولو هم بزارن خیلی خوب میشه.

خواهش میکنم رعایت کنید تا بتونیم یه سیستم خبری با یه اسم و امکانات خوب عرضه کنیم.
راستی برای اسم هم یه فکرایی باید بکنیم !! ترجیحا از این اسمهای ایرانی باشه و از این اسمهای قدیمی!
 
آخرین ویرایش:

SME

Banned
قوانون تاپیک برای اینکه سیستم کاری و نوشتن پورتال بهم نخوره:

گروه برنامه نویسا وطراحان:
Amir01
SME (خودم
Allahparast
saidshp
shnoit
ALI4GHA
(گروه تکمیل شد)
دوستان عزیزی که عضو گروه هستن هرچی ایده دارن قبل از اجرا تو تاپیک بگن تا دوباره کاری نشه و یک کار چند بار انجام نشه.
همه سورسها مانند این صفجه (صفحه 3 همین تاپیک-دوتا نوشته آخر) و این صفحه (صفجه یک نوشته اول-amir01) اول تو تاپیک قرار میگیره (داخل تگ PHP و برای مشخص بودن کدها) و هر چند وقت یکبار هم آقا امیر زحمت یکی کردن سورسها رو میکشه و برای دانلود به صورت فول میزاره تو تاپیک.
اگر دوستان همراه با قرار دادن سورس در تک PHP یک آموزش کوچولو هم بزارن خیلی خوب میشه.

خواهش میکنم رعایت کنید تا بتونیم یه سیستم خبری با یه اسم و امکانات خوب عرضه کنیم.
راستی برای اسم هم یه فکرایی باید بکنیم !! ترجیحا از این اسمهای ایرانی باشه و از این اسمهای قدیمی!
 
آخرین ویرایش:

ALI4GHA

Member
دوباره سلام

من نمی دونستم shnoit عزیز هم رو قالب کار می کنه ، یه کارایی کردم .

برای مثال صفحه لاگین ادمین :

2d41g9.gif


حالا دوستان هر کدوم از طرح ها را که می پسندند بگند تا ادامه بدیم .
 

SME

Banned
میشه Themplate Base ساختش!
به نظر من هر دو تا باشه...
پس نفر ششم گروه هم شد ALI4GHA ...
 

SME

Banned
راستی کسی چیزی به نظرش نمیرسه که به سیستم اضافه کنیم؟
نظرتون در مورد ایجاد امکان دسته بندی خبرها چیه؟
 

SME

Banned
آموزش ساخت سیستم رای گیری! برای سیستم در راه است... :d
 
آخرین ویرایش:

SME

Banned
نظر سنجی برای سایت...

براي اين كار ما فقط از يك جدول استفاده مي كنيم ،
جدول را مطابق اين دستورات مي سازيم :
PHP:
CREATE TABLE `poll` (
  `id` int(11) NOT NULL auto_increment,
  `topic` text NOT NULL,
  `type` char(1) NOT NULL default '',
  `count` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM COMMENT='My Web Poll' AUTO_INCREMENT=14 ;

اين جدول 4 تا فيلد داره كه id فيلد Auto increament است و topic سوال راي گيري و گزينه هاي راي گيري است همچنين در فيلد type مشخص میکنیم که این رکورد سوال ما است یا یکی از گزینه های ما است ... براي سوال راي گيري كه فقط يكي است در اين فيلد q قرار مي دهيم و براي گزينه ها s قرار مي دهيم .
فیلد count هم كه تعداد راي براي هر گزينه را در خود نگه مي دارد .
خوب بريم سراغ كد :

PHP:
<?php
$host = "localhost";
$db_name = "temp";
$db_user = "root";
$db_pass = "MyPassword";

$link = mysql_connect($host,$db_user,$db_pass) or die(musql_error());
   mysql_select_db($db_name,$link) or die("Can not select Data base!");

//Check Action Set ...
if(isset($_GET['action']))
{
   if($_GET['action'] == 'vote')
   {
      $poll_id = (isset($_POST['webpoll'])) ?  $_POST['webpoll'] : '';
      if($poll_id != '')
      {
         $sql = "UPDATE `poll` SET `count`=count+1 where `id`='".$poll_id."' AND `type`='s'";
         $result = mysql_query($sql) or die(mysql_error());
      }
   }
      $count = 0;
      $sql = "SELECT * FROM `poll` WHERE `type`='s'";
      $result = mysql_query($sql) or die(mysql_error());
      $n = mysql_num_rows($result);
      for ($i=0;$i<$n;$i++)
      {
         $count += mysql_result($result,$i,3);
      };
      if($count == 0){$count = 1;};
      $output = 'The Result of Vote<br><br>';
      for ($i=0;$i<$n;$i++)
      {
         $num = mysql_result($result,$i,3) * 100;
         $num /= $count;
         $num = (int) $num;
         $output .= mysql_result($result,$i,1).' '.$num.'%<table border="0" width="'.$num.'%" height="20" bgcolor="#0000FF"><tr><td></td></tr></table>';
      };

      $output .= '<br>The webPoll Result From '.$count.' Votes<br><a target="_self" href="'.$_SERVER['PHP_SELF'].'" >[Back]</a>';
}
else

{
//نظر سنجی درباره سایت...

$sql = "SELECT * FROM `poll` WHERE `type`='s'";
$poll = mysql_query($sql) or die(mysql_error());

$topic_sql = "SELECT `topic` FROM `poll` WHERE `type`='q'";
$poll_result = mysql_query($topic_sql) or die(mysql_error());
$poll_question = mysql_result($poll_result,0,0);

$poll_total = mysql_num_rows($poll);

$output = '<p align="center" dir="ltr">'.$poll_question.'</p><form method="POST" action="?action=vote">';

$vote_count = 0;

for ($i = 0; $i < $poll_total; $i++)
{
   $vote_count += mysql_result($poll,$i,3);

   $poll_value = mysql_result($poll,$i,0);
   $poll_name = mysql_result($poll,$i,1);

   $output .='<input type="radio" value="'.$poll_value.'" name="webpoll" style="CURSOR:Hand;" >'.$poll_name.'<br>';

}

$output .='<input type="ارسال نظر" value="vote" name="submit_poll" > <br><br><a title="نمایش نتایج" target="_self" href="?action=show_result" >Total Votes : '.$vote_count.'</a>';

}//End of Action Set

//----------------------------------------
//Print the output

print($output);

?>


اساس كار اين كد به اين صورت است كه تعداد آراي هر گزينه را بر تعداد كل آرا تقسيم مي كند و در صد آن را به دست مي آورد و بر اساس آن با استفاده از تگ <table> براي هر گزينه يك جدول ترسيم مي كند .

در خط 7 و 8 اتصال به هاست و انتخاب ديتا بيس را انجام مي دهيم.
از خط 10 تا 42 مربوط به ثبت آرا و نمايش نتايج مي باشد.
بقيه آنها هم براي ترسيم Radio Button ها و دكمه راي و ... است

بررسي ثبت راي ...
در خط 11 چك مي كنيم كه action ست شده است يا نه اگر ست شده باشد وارد شرط مي شويم
در خط 13 در صورتي شرط برقرار مي شود كه كاربر دكمه ارسال راي را كليك كرده باشد . پس از ورود به اين شرط در خط 15 poll_id كه كد منحصر به فرد هر گزينه است را به دست مي آوريم در صورتي كه poll_id مقداري نداشته باشد به اين معني است كه كاربر گزينه اي را انتخاب نكرده است پس ما فقط نتايج آرا را به او نمايش مي دهيم حالا فرض بر اين كه كاربر گزينه اي را انتخاب كرده باشد ... در خط 18 و 19 يك query را نوشته و اجرا مي كنيم ؛ اين query يك واحد به راي انتخاب شده اضافه مي كند .

خط 22 تا 41 مربوط به نمايش نتايج آرا است در اين قسمت همان طور كه گفته شد براي نمايش درصد هر گزينه تعداد آراي مربوط به آن را بر كل تعداد آرا تقسيم مي كنيم و در 100 ضرب مي كنيم و آنها را زير هم چاپ مي كنيم .

Question چرا فقط از يك دستور print استفاده كرديم ؟
Idea براي اين كه در برنامه هر چه كمتر از اين دستور استفاده كنيم سرعت آن بالاتر است.


امیر جان :oops: زحمت اضافه کردن این کد به سیستم رو بکشی ممنون میشم...
 

Allahparast

Member
آپلودر عکس با بعضی فایلها

خوب منم یه آپلودر عکس ساختم :sad:
فقط سطح دسترسی رو 77 کنید کمک امیر بود
 

پیوست ها

  • news.zip
    16.3 کیلوبایت · بازدیدها: 220
آخرین ویرایش:

SME

Banned
خوب منم یه آپلودر عکس ساختم :sad:
فقط سطح دسترسی رو 77 کنید کمک امیر بود
سلام.
ممنون. اما مثل آموزشی که من بالا قرار دادم بزارید.
اگه آموزش ندارید حداقل باز بزارید تا همه قبل از دانلود ببینن و استفاده کنن.
راستی یه سوال! آپلود عکس برای کجای سیستم؟ فکر کنم اگه برای مدیر سیستم باشه که بتونه بعدا برای خبرها عکس بزاره خیلی بهتره! نه؟؟
 

Allahparast

Member
آموزش آپلودر

خوب راحت شدم از مشکل تو فایر فاکس سه اه باعث می شد نه کپی کنم نه ادیت کنم نه پیست کنم خوب بی خیال
بریم سر آموزش به نام خدا و خدای پی اچ پی
این کد فرم آپلودر :
PHP:
<"form method="POST" enctype="multipart/form-data>
          <input type="hidden" value="51200" name="MAX_FILE_SIZE"><p align="center"><input type="file" name="fileupload" size="63"></p>
   <p align="center">
   <input type="submit" value=" آپلود" name="B1">&nbsp;
   <input type="reset" value="مجدد" name="B2"></p></form>
خوب در مرحله ی اول ما فرم رو راه می اندازیم متدش پست / نوعش مولتی پارت- فرم داده و و بدون اکشن action
در مر حله ی بد یه اینپات می سازیم و نوعش رو مخفی و نامش رو هم max_file_size ویه اینپات دیگه که این دفعه مخفی نباشه نامش رو fileupload سایزش رو 63 و دو سابمیت
بگید خوب:D
اینم کد آپلودر اصلی شاخه:
PHP:
<?php
/**
 * @in the name of good
 * @programing A.Allahparast // php code
 * @copyright  1387/5 /23
 */
 print'<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
$file_dir="img";
foreach($_FILES as $file_name=>$file_array)
{
 $upload = @copy ($file_array['tmp_name'], "$file_dir/".$file_array['name']);
 if ( $upload )
 {
 echo'<center><p>&nbsp;</p>';
echo'<table border="1" width="454" height="185" bordercolor="#C0C0C0">';
echo'<tr>';
echo'<td height="185" width="148" valign="middle">';
echo'<p align="center">';
echo'<img border="0" src="img/'.$file_array['name'].'" width="139" height="176"></td>';
echo'<td height="185" width="290" valign="top">فايل با موفقيت ارسال شد';
echo"<p align='right'><span lang='fa'>".$file_array['name'].":نام فايل</span>";
echo"<p align='right'><span lang='fa'>".$file_array['type'].": نوع فايل</span>";
echo"<p align='right'><span lang='fa'>".$file_array['size'].":سايز فايل</span>";
echo"<p align='right'><span lang='fa'>".$file_array['tmp_name'].": مسير فايل</span>";
echo'<p align="right"><span lang="fa"><a href="img/'.$file_array['name'].'">لينک دانلود</a></span>';
echo'</td>';
echo'</tr>';
echo'</table></center>';
 }else{
  echo "";
  echo'<center><table border="1" width="271" height="38" bordercolor="#C0C0C0">';
  echo'<tr>';
  echo'<p><td height="32" width="271">متاسفانه آپلود نشد</td></p>';
  echo'</tr>';
  echo'</table></center>';
 }
}
 
?>
خوب نمی خوام کلی بگم اون مهمها رو می گم یاعلی
متغیر نشان دهنده ی محل ذخیره ی موقت فایل در سرویس دهنده ی این متغییر به شکل زیر قابل دستیابی است:
PHP:
$userfile=$_FILES ['userfile'] ['tmp_name'];
متغیر نشان دهنده ی نام فایل که به صورت زیر قابل دستیابی می باشد
PHP:
$userfile_name=$_FILES['userfile']['name'];
متغیر نشان دهنده اندازه ی فایل به صورت زیر قابل دسترسی است
PHP:
$userfile_size=$_FILES['userfile']['size'];
متغیر نشان دهنده ی نوع فایل که به صورت زیر قابل دسترسی است
PHP:
$userfile_type=$_FILES['userfile']['type'];
متغیر نشان دهنده ی خطاهای احتمالی
PHP:
$userfile_error=$_FILES['userfile']['error'];
راستی تو پوشه ادمین یه پوشه به نام img بسازید چون بعضی وقت ها پی اچ پی این پوشه رو می سازه ممنون ببخشید یادم نبود چون img محل نگهداری آپلودها و یه ایندکس خالی هم درونش بگذارین که لو نره آپلودها
 

پیوست ها

  • news.zip
    16.3 کیلوبایت · بازدیدها: 206
آخرین ویرایش:

shnoit

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

اپلود عکس برای هر خبر، خیلی عالیه.

راستی یه گالری عکس هم چیز بدی نیس اضافه کنین.
با آرزوی سلامتی برای همه دوستان
 

SME

Banned
خوب راحت شدم از مشکل تو فایر فاکس سه اه باعث می شد نه کپی کنم نه ادیت کنم نه پیست کنم خوب بی خیال
بریم سر آموزش به نام خدا و خدای پی اچ پی
این کد فرم آپلودر :
PHP:
<"form method="post" enctype="multipart/form-data>
          <input type="hidden" value="51200" name="max_file_size"><p align="center"><input type="file" name="fileupload" size="63"></p>
   <p align="center">
   <input type="submit" value=" آپلود" name="b1">&nbsp;
   <input type="reset" value="مجدد" name="b2"></p></form>
خوب در مرحله ی اول ما فرم رو راه می اندازیم متدش پست / نوعش مولتی پارت- فرم داده و و بدون اکشن action
در مر حله ی بد یه اینپات می سازیم و نوعش رو مخفی و نامش رو هم max_file_size ویه اینپات دیگه که این دفعه مخفی نباشه نامش رو fileupload سایزش رو 63 و دو سابمیت
بگید خوب:d
اینم کد آپلودر اصلی شاخه:
PHP:
<?php
/**
 * @in the name of good
 * @programing a.allahparast // php code
 * @copyright  1387/5 /23
 */
 print'<meta http-equiv="content-type" content="text/html; charset=utf-8">';
$file_dir="img";
foreach($_files as $file_name=>$file_array)
{
 $upload = @copy ($file_array['tmp_name'], "$file_dir/".$file_array['name']);
 if ( $upload )
 {
 echo'<center><p>&nbsp;</p>';
echo'<table border="1" width="454" height="185" bordercolor="#c0c0c0">';
echo'<tr>';
echo'<td height="185" width="148" valign="middle">';
echo'<p align="center">';
echo'<img border="0" src="img/'.$file_array['name'].'" width="139" height="176"></td>';
echo'<td height="185" width="290" valign="top">فايل با موفقيت ارسال شد';
echo"<p align='right'><span lang='fa'>".$file_array['name'].":نام فايل</span>";
echo"<p align='right'><span lang='fa'>".$file_array['type'].": نوع فايل</span>";
echo"<p align='right'><span lang='fa'>".$file_array['size'].":سايز فايل</span>";
echo"<p align='right'><span lang='fa'>".$file_array['tmp_name'].": مسير فايل</span>";
echo'<p align="right"><span lang="fa"><a href="img/'.$file_array['name'].'">لينک دانلود</a></span>';
echo'</td>';
echo'</tr>';
echo'</table></center>';
 }else{
  echo "";
  echo'<center><table border="1" width="271" height="38" bordercolor="#c0c0c0">';
  echo'<tr>';
  echo'<p><td height="32" width="271">متاسفانه آپلود نشد</td></p>';
  echo'</tr>';
  echo'</table></center>';
 }
}
 
?>
خوب نمی خوام کلی بگم اون مهمها رو می گم یاعلی
متغیر نشان دهنده ی محل ذخیره ی موقت فایل در سرویس دهنده ی این متغییر به شکل زیر قابل دستیابی است:
PHP:
$userfile=$_files ['userfile'] ['tmp_name'];
متغیر نشان دهنده ی نام فایل که به صورت زیر قابل دستیابی می باشد
PHP:
$userfile_name=$_files['userfile']['name'];
متغیر نشان دهنده اندازه ی فایل به صورت زیر قابل دسترسی است
PHP:
$userfile_size=$_files['userfile']['size'];
متغیر نشان دهنده ی نوع فایل که به صورت زیر قابل دسترسی است
PHP:
$userfile_type=$_files['userfile']['type'];
متغیر نشان دهنده ی خطاهای احتمالی
PHP:
$userfile_error=$_files['userfile']['error'];
لطفا لینک کل سیستم رو نزارید...
این کار آقا امیره.
چون باید کدها رو باهم جمع کنه و یه سیستم کلی هر چند وقت یک بار تحویل بده برای دانلود.
ممنون
 

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

بالا