كيفاش تصاوب php framework خاصة بك وتصاوب بها blog الجزء الأخير

imadbelasri PHP
PH

فهاد الجزء الأخير من كيفاش تصاوب php framework خاصة بك وتصاوب بها blog غادي نكملو الملفات لي بقاو ولي فيهم الملف الخاص بتعديل post وغادي نشوفوا أيضا كيفاش نعرضوا التفاصيل الخاصة ب post اختارو المستخدم وكيفاش نعرضوا روابط الحدف والتعديل للمستخدم لي زاد ل post فقط.


نظرة سريعة بالفيديو


1- الملف posts/edit.php

دائما ف app/views/posts كنزيد fichier جديد سميه edit.php  فيه كاين الفورم لي كتمكن المستخدم من تعديل post ديالو منبعد مكيترسلو les valeurs لي ف les champs لل fonction edit لي شفنا فل controller Posts منقبل  الكود ديال الملف هو :

                                                    
                                                        <?php require APPROOT.'/views/includes/header.php';?>
    <div class="row">
        <div class="col-md-6 mx-auto mt-4">
            <div class="card text-black bg-light">
                <div class="card-body">
                    <h4 class="card-title">Modifier un article</h4>
                    <hr>
                    <p class="card-text text-info">Veuillez remplir tous les champs*</p>
                    <form method="post" action="<?php echo BASEURL;?>/posts/edit/<?php echo $data['id'];?>">
                        <div class="form-group row">
                            <label for="title" class="col-sm-1-12 col-form-label"></label>
                            <div class="col-sm-12">
                                <input type="text" class="form-control <?php echo (!empty($data['title_err']) ? 'is-invalid' : '');?>" value="<?php echo $data['title'];?>" name="title" id="title" placeholder="Titre">
                                <span class="invalid-feedback">
                                    <?php echo $data['title_err'];?>
                                </span>
                            </div>
                        </div>
                        <div class="form-group row">
                            <label for="body" class="col-sm-1-12 col-form-label"></label>
                            <div class="col-sm-12">
                                <textarea name="body" id="body" cols="30" rows="10" class="form-control <?php echo (!empty($data['body_err']) ? 'is-invalid' : '');?>" placeholder="Déscription"><?php echo $data['body'];?></textarea>
                                <span class="invalid-feedback">
                                    <?php echo $data['body_err'];?>
                                </span>
                            </div>
                        </div>
                        <div class="form-group row">
                            <div class="col-sm-12">
                                <button type="submit" class="btn btn-primary">Valider</button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
<?php require APPROOT.'/views/includes/footer.php';?>
                                                    
                                                

2- الملف posts/show.php

دائما ف app/views/posts كنزيد fichier جديد سميه show.php  فيه كاين الكود لي كيمكن من عرض post اختارو المستخدم فكنستقبل ل post لي جاني من ل fonction show ديال ل controller Posts هو ولمستخدم صاحب ال post فكنتحقق يلا كان ل id ديال المستخدم صاحب ال post هو نفسو ل id ديال لمستخدم لي مسجل ف session كنعرض روابط التعديل والحدف ويلا مكانش مكنعرضهومش الكود ديال الملف هو :

                                                        
                                                            <?php require APPROOT.'/views/includes/header.php';?>
<div class="row">
    <div class="col-md-12">
        <a href="<?php echo BASEURL.'/posts/index';?>" class="btn btn-link mt-4 mb-4"><i class="fas fa-arrow-left"></i> Retour</a>
    </div>
</div>
<div class="row mt-4">
    <div class="col-md-12 mb-2">
        <div class="card text-dark bg-light">
            <div class="card-body">
                <h3 class="card-title"><?php echo $data['post']->title;?></h3>
                <h5 class="text-info">Ajouté par: <?php echo $data['user']->fullname;?></h5>
                <h7 class="text-danger">le: <?php echo $data['post']->created;?></h7>
                <p class="card-text"><?php echo $data['post']->body;?></p>
                <?php if($data['user']->id == $_SESSION['user_id']):?>
                    <a href="<?php echo BASEURL.'/posts/edit/'.$data['post']->id;?>" class="btn btn-warning btn-xs mt-4 mb-4"><i class="fas fa-pencil-alt"></i> Modifier</a>
                    <a href="<?php echo BASEURL.'/posts/delete/'.$data['post']->id;?>" class="btn btn-danger btn-xs mt-4 mb-4"><i class="fas fa-trash-alt"></i> Supprimer</a>
                <?php endif;?>
            </div>
        </div>
    </div>
<?php require APPROOT.'/views/includes/footer.php';?>
                                                        
                                                    

3- الملف style.css

ف public زيد dossier جديد سميه css فيه زيد ملف جديد سميه style.css غادي يكونوا فيه les styles css لي غادي نحتاجو الكود ديال الملف هو:

                                                        
                                                            a{
    color: aliceblue;
}
a:hover{
    color: aliceblue;
}
.navbar-toggler{
    background-color: aliceblue;
}
                                                        
                                                    

4- الملف .htacess

ف dossier ديال ل projet ديالنا لي هو php_mvc أو لي سميتيه نتا زيد ملف جديد سميه htaccess. فيه الكود لي به كنحيد public من ل url الكود ديال الملف هو :

                                                        
                                                            <IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule ^$ public/ [L]
  RewriteRule (.*) public/$1 [L]
</IfModule>