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

saalek110

Well-Known Member
صفحه ۲۴:
در صفحه قبلی قسمت مدیریت کامنت تا حدی انجام شد...

حالا باید در جدول کامنت ها دکمه های تغییر ستون approve کامنت ها را قرار دهیم.

همچنین در قسمت نمایش ، باید فقط کامنتهایی که در ستون approve اونها free باشه چاپ بشوند.
 
آخرین ویرایش:

saalek110

Well-Known Member
کد نمایش کامنت ها این طوری میشه حالا:
PHP:
$sql = "SELECT  *  FROM nazarat WHERE post_number=$post_number";
 $result = mysqli_query($ccoonn ,$sql);

  
echo"<center>";           
echo"<table border=1>";   
while($info = mysqli_fetch_array( $result ))
        {
     echo"<tr>";
    $number=$info['number'];
   $approve=$info['approve'];

    $poster=$info['poster'];

      $time=$info['time'];
      $nazar=$info['nazar'];
      
     if ($approve=="free") 
     {
echo"<tr><td >";   echo $number;  echo"</td>";
echo"<td >";  echo $poster;   echo"</td>";
echo"<td >"; 

echo $time; 

 echo"</td>";
echo"<td id='t4'>";

 echo"</td><tr>";

echo"<tr><td colspan='4' >";
echo nl2br($nazar);
 echo"</td></tr>";
echo"<tr><td colspan='4' >";

 

  echo"</td></tr>";

             echo"</tr>";   
        }// if approve==free 
                                                                                                                                   } //while
echo"</table>"; 

  echo"</center>";
در کد بالا ، با شرط approve برابر با free بودن ، بقیه ستون ها چاپ می شوند.

در کوئری ، یک متغیر $post_number داریم ، این متغیر با GET از فایل index.php گرفته شده:
PHP:
   $post_number=$_GET['number'];
دیگه چیزی نداره توضیح بدهم ، یک کوئری است و چاپ ستون ها.
 

saalek110

Well-Known Member
حالا باید کدهای تغییر ستون approve را در قسمت مدیریت کامنت ها بنویسیم.



در جدول کامنت ها ، در یک ستون یک لینک گذاشتم، شکل زیر:

Screenshot_۲۰۲۴-۰۲-۰۵_۱۸۳۵۲۲.jpg

و به یک صفحه دیگر پاس دادم:
PHP:
   $str=writeMsg(35);
   echo '<a href="query/myfree.php?number='.$ss_number.'">'.$str.'</a>';

و با این کد ، شماره کامنت را دریافت کردم:
PHP:
 $comment_number=$_GET['number'];


و این هم کوئری free کردن است:

PHP:
 $sql = "UPDATE nazarat SET approve='free' WHERE number=$comment_number ";
 
آخرین ویرایش:

saalek110

Well-Known Member
شکل صفحه جدول پیامها:

Screenshot_۲۰۲۴-۰۲-۰۵_۱۸۴۴۰۶.jpg


لینک به صفحه دیلت:
PHP:
   $str=writeMsg(37);
      echo '<a href="query/mydelete.php?number='.$ss_number.'">'.$str.'</a>';

کد دریافت شماره کامنت همان مثل پست قبلی:
PHP:
 $comment_number=$_GET['number'];


کوئری دیلت:

SQL:
      $sql = "DELETE FROM nazarat WHERE number=$comment_number ";
 

saalek110

Well-Known Member
برای چی عبارت wait را در ستون approve وارد می کنیم؟
چون اگر need باشد ، در صفحه اول آلارم می دهد، تبدیل به wait برای اینه که شامل آلارم نشه. ولی در صفحه نمایش داده نمی شود.



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

در ستون approve ، عبارت wait وارد می کنیم.



لینک دادن به صفحه دارای کوئری wait :

PHP:
   $str=writeMsg(38);
         echo '<a href="query/mywait.php?number='.$ss_number.'">'.$str.'</a>';


کدی که شماره کامنت ر دریافت می کند:
PHP:
 $comment_number=$_GET['number'];



کوئری:
PHP:
      $sql = "UPDATE nazarat SET approve='wait' WHERE number=$comment_number ";
 

saalek110

Well-Known Member
اگر مثل من پوشه درست کردید کنار فایل ، باید اینکلود عمیق تری بسازید:
PHP:
    require "../../base/ccoonn.php";

در کد بالا ، دو بار ، دونقطه زدیم تا دو طبقه بیاییم بالا، بعد برویم به پوشه base.
برای فایل فانکشنز هم همین طور.
PHP:
     include "../../functions/functions.php";
 

saalek110

Well-Known Member
کد جاوا اسکریپت چشمک زدن متن:
این کارها دیگه ربطی به وظایف php نداره.

CSS:
#blink {
     font-size: 20px;
   font-weight: bold;
     color: #ff0000;
    transition: 0.5s;                                          
   }
در کد بالا ، اون transition فکر کنم کار نمی کنه..و کد جاوا اسکریپت پایین باعث چشمک زدن است.‌
کد بالا ، css است ، در head بین تگهای style قرار دهید.


PHP:
echo"<div id='blink'>";
echo" hi";
 echo"</div>";

با تغییر عدد نزدیک انتهای کد ، سرعت چشمک زدن را تنظیم کنید.
JavaScript:
        <script type="text/javascript">
            var blink = document.getElementById('blink');
            setInterval(function() {
                blink.style.opacity = (blink.style.opacity == 0 ? 1 : 0);
            }, 1500);
        </script>
توجه کنید که قبل قرار دادن کدهای جاوا اسکریپت ، قسمت php را ببیندید، و بعد کد جاوا اسکریپت را دوباره باز کنید.

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

saalek110

Well-Known Member
Css:

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

PHP:
  include"css/index.php";
در فایل index.php اینو نوشتم.... یعنی یک فایل همنامش در پوشه css ، حاوی css اون است.
با مثلا محتوای زیر:
CSS:
<?php
?>

<style>

body
{
background-color:rgba(220,220,200,1);
}
#blink {
     font-size: 20px;
   font-weight: bold;
   color: #ff0000;
   transition: s;        }

</style>


<?php
?>
همان طور که در کد بالا می بینید ، در اول و آخر فایل مناطق php داریم ولی در وسط با تگ style منطقه نوشتن css درست کردم.

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

شما می توانید در فایل منیجر هاست بروید به پوشه css و این فایلها ا ادیت کنید.
و تلاش می کنم یک ادیتور هم در ادمین مان ایجاد کنم تا این فایلها را ادیت کنی.
با نرم افزار ftp هم می توانید فایل را بیاورید در گوشی و با یک ادیتور مناسب css ادیت کنید و دوباره با همان نرم افزار ftp فایل را سر جای خودش برگردانید.

حالا اگر ادیتور من خوب درنیامد ، حداقلش اینه که css ها همه در یک پوشه اند ، و شاید این جوری کار کردن با css راحت تر باشه.
 
آخرین ویرایش:

saalek110

Well-Known Member
یک فایلی را من از index.php اینکلود کردم این جوری:
PHP:
   include "parts_of_index/show_posts.php";

این اینکلود وسط های فایل index.php است و همون ستون ۲ یعنی پستها را نمایش می دهد.
داخل این فایل به شکل داخل خطی css نوشتم مثلا این طوری:
CSS:
 echo'<td style="background: #ddaa88; padding:5px;">';

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

چون این فایل show_posts.php از فایل index.php اینکلود شده ، از اینکلودها و css فایل مادر یعنی index.php استفاده می کنه. یعنی می توانیم این css های داخل خطی را منتقل کنیم به فایل css صفحه index.php
 
آخرین ویرایش:

saalek110

Well-Known Member
برای انتقال css های داخل خطی یا inline به فایل مربوطه اش،

به جای :
PHP:
 echo'<td style="background: #ddaa88; padding:5px;">';

من نوشتم:
PHP:
 echo'<td id="sotone_shomareh_post">';

و در فایل مربوطه نوشتم:
CSS:
 #sotone_shomareh_post
{
background:#ddaa88;
padding:5px;
}

Screenshot_۲۰۲۴-۰۲-۰۶_۰۸۵۲۲۸.jpg
و کل فایل css فایل index.php الان این طوری شد:
PHP:
<?php
?>

<style>

body
{

}
#blink {
     font-size: 20px;
   font-weight: bold;
   color: #ff0000;
   transition: s;                                                  }
 #sotone_shomareh_post
 {
background:#ddaa88;
padding:5px;
 }
</style>


<?php


?>

بقیه خطوط هم باید ، مثل خط بالا ، css ها خارج بشوند بروند داخل اون فایل.
 

saalek110

Well-Known Member
وقتی که css ها ، همه یک جا جمع باشه و شما مقداری css یاد بگیرید..

با ادیت اون فایل ها ، رنگ و سایز و محل همه چیز ، دست خودتونه.
:rose: :clap::)


همچنین داخل فایلها هم خلوت تر میشه ، و کار من هم راحت تر میشه.در عکس زیر داخل کدهای php حالا این طوری شد:
Screenshot_۲۰۲۴-۰۲-۰۶_۰۹۰۸۲۲.jpg

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

saalek110

Well-Known Member

نکته: به css هایی که من نوشتم بسنده نکنید. من ممکنه یک خط نوشتم ، شما می توانید ۱۰ خط یا بیشتر بنویسید.

برای زیباسازی می توانید صفات زیادی اضافه کنید، من حواسم بیشتر به ساختن سایت بود نه ظاهر سایت، خودتان روی زیباییش کار کنید.
ممکنه جاهایی من اشتباه یا غلط داشته باشم، چون گفتم css بعدا دست خودتونه عوضش می کنید.
 
آخرین ویرایش:

saalek110

Well-Known Member
این شد css صفحه اول سایت:

(نگاه کنید اسمها ، واضح انتخاب شده تا راحت تر پیدایشان کنید.)


PHP:
<?php
?>

<style>

body
{
background-color:rgba(220,220,200,1);
}
#blink {
     font-size: 20px;
   font-weight: bold;
   color: #ff0000;
   transition: s;                                                  }
 #sotone_shomareh_post
 {
background:#ddaa88;
padding:5px;
 }
 #sotone_matne_post
 {
background:#ffcc99;
padding-left:10px;
padding-right:10px;
padding-top:10px;

 }
 #sotone_payam_bezarid
 {
    width:30%;
 }
 #sotone_chand_nazar
 {
        width:30%;
padding-right:20px;
padding-left:20px;

 }
 #sotone_dokmeye_edit
 {
        width:30%;
        padding-right:20px;
 }
 #bala_tarin_table
 {
border:1;
width:100%;
 }
#soton1_az_table_aval
{
background: #55cc99;
}
#soton2_az_table_aval
{
background: #ddaa88;
}
#soton3_az_table_aval
{
background: #ddff00;
}

#table_e_satre_dovom
{
border:1;
width:100%;
text-align:center;
}
#sotone_table_dovom
{
background: #ffbbbb;
}

#table_bozorge_vasate_safeh
{
    border:0;
}



#sotone_avale_table_bozorge_vasat_safhe
{
vertical-align:top;
background: #f68899;
}

#table_e_soton_1
{
 margin-top:20px;
 border:1px;
 background:#ccaa78;
}

#sotone_sevome_table_bozorge_vasat_safhe
{
 vertical-align:top;
 background: #cc8899;
}
#avalin_table_e_footer
{
border:1;
width:100%;
background:#aabb44;
}
#sotone_avale_table_avale_footer
{
background:#aa8899;
width:50%;
text-align: center;
}
#sotone_dovome_table_avale_footer
{
 background:#992255;
 width:10%;">';
}
#dovomin_table_e_footer
{
 border:1;
 width:100%;
}
#sotone_avale_table_dovome_footer
{
background:#aa8899;
width:20%;
text-align: center;
}

#sotone_dovome_table_dovome_footer
{
background:#aa8899;
width:20%;
text-align:
center;padding:14px;">';
}
#sotone_sevome_table_dovome_footer
{
background:#aa8899;
width:20%;
text-align: center;
}
</style>


<?php


?>
 

saalek110

Well-Known Member
معماری پوشه ها:

Screenshot_۲۰۲۴-۰۲-۰۶_۱۰۲۳۰۶.jpg
و من الان دارم در پوشه css فایلها را قرار می دهم.
همچنین توجه کنید یک فایل admin داریم که کنار فایل index است و یک پوشه admin داریم که فایل ادمین به فایلهای پوشه ادمین لینک می دهد. البته این ساختار سلیقه من بوده و اجباری نیست.
 

saalek110

Well-Known Member
من جداول دیتابیس را پیشوند s110 دادم:
(تا از جداول دیگر مشخص شود)

Screenshot_۲۰۲۴-۰۲-۰۶_۱۶۵۵۳۱.jpg
 

saalek110

Well-Known Member
من می خواستم قسمتهای مخفی در سایت بزارم ، ولی چون امنیت قالب کم است ، این کار عاقلانه نیست.
 

saalek110

Well-Known Member
ساخت فایل منیجر:
وقتی در هاست لوگین می کنید ، فایل منیجر هم در اختیار شما هست ، ولی می توانید در سایت خود فایل منیجر بسازید.

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




ولی باز من همین جا کدهایی را قرار می دهم و شرح می نویسم.

کد زیر برای لیست گیری است:



PHP:
$fileList = glob('./../css/*');
     echo'<table border="1">';
     foreach($fileList as $filename){//99
      echo'<tr><td>';
      if(is_file($filename)){//88
//  echo"<br>naame file hast: ".$filename;
     $filename=  str_replace("./../css/","",$filename);
 echo"<br>".$filename;
     echo"<br>";
           echo '<a href="css_file_edit/css_edit.php?name='.$filename.'">'.$filename.'</a>';
                                                                     
     //---------------
 if (file_exists($filename)) {//777



                              }//777
                     echo'</td></tr>';
                                  }//88  
                              }//99
               echo'</table>';

اول باید مسیر پوشه را بدهیم. در خط زیر:
PHP:
$fileList = glob('./../css/*');
خود فایل در یک پوشه بوده کنار پوشه css و من می خواستم پوشه css را لیست کنم.
پس اول باید با نوشتن دو نقطه کنار هم یعنی این طوری ((..)) ، از پوشه فعلی خارج شوم و بعو ب نوشتن css وارد پوشه css شوم. پس مسیر یابی را یاد گرفتید ، اول از پوشه خود خارج می شوید و بعد وارد پوشه مورد نظر می شوید.

خط بعدی foreach حلقه ساخته تا روی محتوای fileList که در خط قبلی ایجاد شده ، کار کند.
تابع is_file فقط با فایلها کار دارد. یعنی باقی چیزها را در نظر نمی گیرد.
بعد می بینید که $filename چاپ شده...همونی که در حلقه foreach اسم داده بودیم..در خطی که کلمه foreach هست اگر نگاه کنید کلمه $filename را می بینید. در چند خط پایین تر ، ما $filename را چاپ کردیم(البته در کد بالا به حالت کامنت درومده ، می توانید از حالت کامنت خارج کنید خودتون)... ولی زوائدی داشت که با تابع str_replace زوائدش را زدودیم. بعدش فایل بی زوائد را اسمش را چام کردیم.
بعد من یک لینک ساختم و اسم فایل را به یک فایل دیگر در پوشه css_file_edit پاس دادم. اسم فایل هست css_edit.php
حالا اون فایل که اسم فایل را تحویل گرفته می تواند روی اون فایل کار کند. در پست بعد کارهای اون فایل را می گم.
 

saalek110

Well-Known Member
کد دریافت اسم فایل در فایل دوم:

PHP:
$filename=$_GET['name']


PHP:
echo"<br>";
//echo"<center>";
echo "<br>filename= ".$filename;
$addr_file="../../css/".$filename;
//echo"<br>".$addr_file;
echo"<br><br>";

echo"<table border=1>";
echo"<tr><td>";
$my_string="";
$myfile = fopen($addr_file, "r") or die("Unable to open file!");

while(!feof($myfile)) {
$a=fgets($myfile);
         $a = htmlspecialchars($a);
$my_string .=$a;
 // echo $a . "<br>";
  }
  fclose($myfile);


echo  nl2br ($my_string);
 
echo"</td></tr>";
echo"</table>";

ابندا باید چیزهایی به اسم فایل بیافزاییم تا مسیر ساخته شود...
فایل من داخل یک پوشه است و اون پوشه داخل پوشه ادمین است که پوشه ادمین کنار پوشه css است ...پس باید دو بار خروج کنم با دو نقطه..((..)) و سپس وارد پوشه css بشوم.

بعد ساختن مسیر فایل که به اسم فایل افزوده میشه .حالا اون متغیر که اسمش $addr_file است ، آماده خوندن است. از کلمه fopen تا fclose خوندن یک فایل است ، و می بینید متغیر $addr_file برای خوندن بهش داده شده.

یک متغیر دیگر من ساختم به نام $my_string تا خطهای خونده شده را درش بریزیم. اولش اون را خالی کردم و بعد با عملگر نقطه مساوی. ((=.)) خطوط را داخل این متغیر ریختم.
بعد کار خوندن فایل و fclose پروسه خوندن فایل این متغیر $my_string را من چاپ کردم. بعد چون دیدم همه را پشت سر هم چاپ کردم از تابع nl2br استفاده کردم ، تا هر خط از سر خط شروع شود.

البته چاپ $my_string آخر کار نیست... این متغیر $my_string باید داخل یک textarea خالی بشه ، تا قابل ادیت و ذخیره باشد.

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

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

saalek110

Well-Known Member
....ادامه ساخت فایل منیجر:

در دو پست قبل لیست گیری پوشه و خواندن فایل را دیدیم.
حالا کد زیر را ببینید:
PHP:
// echo  nl2br ($my_string);
?>
 <textarea id="mytextarea"  form="myform" name="news" rows="30" cols="70" style="direction:ltr;">
   <?php  echo ($my_string);  ?>
 </textarea><br><br>
<?php
محتویات فایل را در textarea انداختم.
دیگه تابع nl2br نباید استفاده بشه.
به direction دقت کنید که برای textarea به چپ به راست تنظیم شده. سایتهای فارسی ، از راست به چپ تنظیم شده اند ، ولی من می خواستم کدها از محتویات فایل که کدهای css است ، از چپ به راست باشه.

Screenshot_۲۰۲۴-۰۲-۰۷_۱۸۰۸۴۱.jpg

حالا ، محتویات فایل داخل textarea است ، و میشه ادیتش کرد و دوباره ذخیره اش کرد.
اگر من نوشتن در فایل را اینجا نگفتم ، در تاپیک زیر پیدا کنید:

 
آخرین ویرایش:

saalek110

Well-Known Member
یک ادیتور اینجاست:


دکمه Download snapshot را بزنید. در عکس زیر نشان دادم:

Screenshot_۲۰۲۴-۰۲-۰۷_۲۱۱۷۲۷.jpg

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

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

احتمالا میشه این پوشه ها را آپلود کرد درهاست و استفاده کرد.

در پوشه doc در فایل about نوشته:
کد:
About
General information
EditArea is a free javascript editor for source code.
 It allow to write well formated source code. That's no way a WYSIWYG editor.

EditArea is developed by Christophe Dolivet and is currently released under the "LGPL", "Apache" and "BSD" licenses (use the one you want), read the licenses agreement for details.

Features
Easy to integrate, only one script include and one function call
Tabulation support (allow to write well formated source code)
Customizable real-time syntax highlighting (currently: PHP, CSS, Javascript, Python, HTML, XML, VB, C, CPP, SQL, Pascal, Basic, Brainf*ck, and probably more...)
Word-wrap support
Search and replace (with regexp)
Auto-indenting new lines
Line numerotation
Multilanguage support (currently: Croatian, Czech, Danish, Dutch, English, Esperanto, French, German, Italian, Japanese, Macedonian, Polish, Portuguese, Russian, Slovak, Spanish, and probably more...)
Possible PHP gzip compression (compress the core files to one file of ~25Ko)
Allow multiple instances
Full screen mode
Possible plugin integration
Possible save and load callback functions
Possible dynamic content management
Can work in the same environment than "prototype" and "mootools"'s like libraries.
 
آخرین ویرایش:

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

بالا