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

saalek110

Well-Known Member
صفحه ۳۲:

فروم الان کار می کنه و کمی باید فکر کنم تگ ها چی باشه تا دکمه ها را به ادیتور اضافه کنم.

قسمتهای مدیریت را هم تلاش می کنم کار کنیم.
 

saalek110

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

PHP:
$sql = "DELETE FROM posts WHERE number=$post_number";

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

PHP:
mysqli_set_charset($conn, "utf8");     // yaftane topici ke bodim
$sql = "SELECT * FROM posts WHERE  number=$post_number";
$result = mysqli_query($conn ,$sql );
while($info = mysqli_fetch_array( $result ))
        {
             $topic_number=$info['topic'];
        }//while

این شد چهارمین فایلی که پیام میده:

Screenshot_16.png
 

saalek110

Well-Known Member
موقع نمایش پست ستون user را هم بخوان . بعد ببین سسیون خواننده با اون برابره یا نه. اگر برابر باشه یعنی اون پست متعلق به خواننده است. و لینک به فایل دیلت یا ادیت را بهش بده.

PHP:
$str="delete";
     if ( $_SESSION["username"] == $user )   
           echo'<a href="delete_post.php?number='.$post_number.'">'.$str.'</a>';
 

saalek110

Well-Known Member
داخل فایل دیلت و ادیت را هم این چک را بکن:

PHP:
if ( $_SESSION["username"] == $user )   //aya khode saheb posteh
{// Auth
 if(  !   isset($_POST['act']))
{
     ....
         .....
         .....
         ......

سلب مسولیت:
سالک: اینها ساخته های ذهن من است ، از جای معتبری نیست ، تضمین امنیت ندارد.

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

یعنی آماده باش که هک بشی و برای بعد هک هم برنامه داشته باش.


سالک: من متخصص امنیت نیستم. و نظری دراین مورد ندارم.
 
آخرین ویرایش:

saalek110

Well-Known Member
ادمین هم باید بتواند هر پستی را ادیت و دیلت کند:
PHP:
if ( $_SESSION["username"] == $user  || $_SESSION["username"] == "َAdmin" )   //aya khode saheb posteh
{// Auth
 if(isset($_POST['act'])) 
 {// if action
 

saalek110

Well-Known Member
Div داخل div :

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

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

PHP:
                   echo"<div id='forum'>";



    echo"<div id='forum_inner'>";
echo"<a href='http://saalek110.is-great.net/forum/forum.php?number=$forum_number'>".$forum_name."</a>";

         echo"<div id='forum_desc'>";
              echo $forum_sharh;
         echo"</div'>";

    echo"</div'>";
                     echo"</div'>";
در بالا ، کدش را گذاشتم. و مسلما ۳ تا css داره هر div که من بالای صفحه css ها را می نویسم. بین همون تگ استیل و هد.
 

saalek110

Well-Known Member
چاپ div اگر شرایطی برقرار بود:

PHP:
if ($user=="hamid")
{
    echo"<div id='user_darajeh'>";
    echo"Active";
    echo"</div>";
}

در کد بالا ، اگر یوزر حمید باشه ، زیر اسمش نوشته میشه Active.
نکته اش اینه که باز و بسته شدن div هم در کروشه گذاشته شده. اگر این طوری ننویسیم ، برای همه غیرحمید ها یک کادر خالی ایجاد خواهد شد و این خوب نیست. کد زیر اشتباه است:

PHP:
    echo"<div id='user_active'>";


if ($user=="hamid")  echo"Active";
   

    echo"</div>";

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

کلا منظورم اینه ادوات بصری و چاپ را هم باید کروشه داخل شرط گذاشت تا اگر شرط برقرار نبود چیزهای قاب و حاشیه خالی چاپ نشود،
 

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

بالا