توضیحات

در این قسمت صفحه Single.php پروژه را توسط PHP داینامیک میکنیم


HTML CSS طراحی وب طراحی واکنشگرا Bootstrap بوت استرپ طراحی سایت پی اچ پی php mysql sql پایگاه داده

مدرس دوره علی شیخ
مدت دوره 07:50:58
تعداد ویدیو 47

وضعیت دوره : کامل شده
قیمت دوره : رایگان

نظرات ارزشمند شما:

برای ارسال نظر ابتدا باید وارد سایت شوید

  • باسلام و احترام سوالی که من دارم اینه:

    بعد از این که چک کردیم همه شرط ها برای ارسال کامنت رعایت شده
    صفحه رو با دستور زیر رفرش میکردیم :

    
    
    header("Location:path")


    اما چطوری میشه همزمان از یک Alert مانند sweetAlert استفاده کرد؟

    آیا راهی وجود داره در php مانند تابع setTimeout در js تا بتونیم تابع header رو کمی به تاخیر بندازیم تا Alert رو نمایش بدیم ؟

    شما در سایت webprog این کار رو انجام دادین ولی روشش رو نمیدونم !

    شایدم این کار رو باید با فریمورک Laravel انجام بدیم.

    باز ممنون میشم اگر توضیح بدین.

    • سلام وقت بخیر.
      پکیج sweetAlert برای لاراول هست که میشه ازش استفاده کرد و اگه اشتباه نکنم از session توی php استفاده میکنه برای نمایش

    • من با php شرط گذاشتم و درون شرط از کد js استفاده کردم و sweetAlert رو از js استفاده کردم به صورت زیر :

      
      
      if (isset($_POST['post_comment'])) {

      $name = $_POST['name'];
      $body = $_POST['comment'];

      if ( trim($name) != '' && trim($body) != '' ) {

      $comment_insert = $db->prepare("INSERT INTO `comments` ( `name`, `comment`, `post_id` ) VALUES (:name, :comment, :post_id)");
      $comment_insert->execute(['name' => $name, 'comment' => $body, 'post_id' => $post_id]);

      ?>
      <script>

      Swal.fire(
      'نظر شما ثبت شد',
      'پس از تایید نمایش داده میشود',
      'success'
      )

      </script>
      <?php
      header("Location:single.php?post=$post_id");
      exit();

      } else {

      $error_name = "<span style='color:red'>* فیلد نام الزامی است </span>";
      $error_comment = "<span style='color:red'>* فیلد کامنت الزامی است </span>";

      }


      اما مشکل اینه که وقتی که صفحه زود تر رفرش میشه و حتی اگر جای header رو با sweetAlert جابجا کنیم هم کار نمیکنه

      شما برای سایت webprog از چی استفاده کردین ؟

      البته هدف من اینه که بعدا برم به سمت API نویسی با لاراول و فرانت رو کلا با react یا فریم ورک react بزنم چون دوره هاشون رو دیدم .

    • سلام وقت بخیر.
      وبسایت وب پروگ با لاراول هست و از پکیج مربوطه استفاده شده و در این دوره هم اشاره شده که پروژه را با php خام نزنید و از فریمورک هاش مانند لاراول استفاده کنید و این دوره هدفش اینکه با php آشنا بشید برای لاراول
      اگه قراره از react استفاده کنید که اون میشه فرانت و بحثش جدا هست و از پکیج های اون میتوانید برای alert استفاده کنید.

  • سلام صفحه سینگل خالی نمایش داده میشه و فقط هدر را نمایش میده وقتی روی هر پست کلیک می کنم و لینکش هم اینجوریه
    single.php?post=2
    چیکار کنم؟
    ممنون از راهنمایی قبلیتون
    کد های سینگل
    ‍‍‍‍‍‍

     <?php
    
    include("./include/header.php");

    include("./include/svg.php");

    if(isset($_GET['post'])){
    $post_id = $_GET['post'];
    $post = "SELECT * FROM `posts` WHERE id = $post_id";

    $posts = $post->fetch();
    }
    if($_POST['post_comment']){
    if(trim($_POST['name']) != "" or trim($_POST['comment']) != ""){
    $name = $_POST['name'];
    $comment = $_POST['comment'];
    $comment_insert = $base->prepare("INSERT INTO `comments` (name , comment , post_id) VALUES ($name , $comment , $post_id)");

    header("location:single.php?post=$post_id");


    }else{
    ?>
    <div class="col">
    <div class="alert alert-danger d-flex align-items-center" role="alert">
    <svg class="bi flex-shrink-0 me-2" width="24" height="24" role="img" aria-label="Danger:"><use xlink:href="#exclamation-triangle-fill"/></svg>
    <div>
    همه ی فیلد ها الزامی است
    </div>
    </div>
    </div>
    <?php
    }
    }
    ?>

    <section class="py-3">

    <div class="container-fluid">
    <div class="row">

    <div class="col-md-8 mb-4">
    <div class="container">
    <?php

    if($posts){
    $category_id = $posts['category_id'];
    $query_post_category = "SELECT * FROM `categories` WHERE id = $category_id ";
    $category = $base->query($query_post_category)->fetch();
    $post_id = $posts['id'];
    $comments = $base->prepare("SELECT * FROM `comments` WHERE post_id = $post_id AND statues = '1'");

    ?>
    <div class="row">

    <div>
    <img src="./upload/posts/<?php echo $posts['image']; ?>" class="img-fluid mt-5" alt="">
    </div>

    <div class="p-3">

    <div class="d-flex align-items-center">
    <h2><?php echo $posts['title']; ?></h2>
    <div class="mr-2">
    <span class="badge bg-secondary"><?php echo $post_category['title']; ?></span>
    </div>
    </div>
    <p class="text-justify">
    <p><?php echo $posts['body']; ?></p>
    </p>

    <p>نویسنده : <?php $posts['author']; ?></p>
    </div>

    </div>

    <hr>
    <div class="row">
    <div class="col-12">

    <form method="post">
    <div class="form-group">
    <label class="form-label" for="name">نام</label>
    <input type="name" name="name" class="form-control">
    </div>

    <div class="form-group">
    <label class="form-label" for="comment">متن کامنت</label>
    <textarea name="comment" class="form-control" rows="5"></textarea>
    </div>

    <button type="submit" name="post_comment" class="btn btn-outline-primary mt-3">ارسال</button>
    </form>

    </div>
    </div>
    <hr>
    <div class="row p-md-3">
    <p>تعداد کامنت : <?php echo $comments->rowcount(); ?></p>
    <?php
    if($comments->rowcount() > 0){
    foreach($comments as $comment){
    ?>

    <div class="col-12 mb-3">

    <div class="card bg-light">

    <div class="card-body">
    <div class="d-flex align-items-center">
    <img src="./img/boy.svg" width="70" height="70" class="rounded-circle" alt="Cinque Terre">

    <div class="mr-3">
    <h5 class="card-title"> <?php echo $comment['name'] ?> </h5>
    </div>
    </div>

    <p class="card-text pt-3 pr-3">
    <?php echo $comment['comment'] ?>
    </p>

    </div>
    </div>
    </div>

    <?php

    }
    }
    ?>
    </div>
    <?php
    }else{
    ?>
    <div class="col">
    <div class="alert alert-danger d-flex align-items-center" role="alert">
    <svg class="bi flex-shrink-0 me-2" width="24" height="24" role="img" aria-label="Danger:"><use xlink:href="#exclamation-triangle-fill"/></svg>
    <div>
    مقاله مورد نظر یافت نشد
    </div>
    </div>
    </div>
    <?php
    }
    ?>
    </div>

    </div>


    <?php include("./include/sidebar.php") ?>


    </div>

    </div>

    </section>


    <?php
    include("./include/footer.php");
    ?>

    • سلام وقت بخیر.
      با سورس کدی که دراختیارتون هست مقایسه کنید.از طرفی زمانی که به مشکل میخورید باید دیباگ کنید و متغیر ها را بررسی کنید تا بهتر یادبگیرید از طرفی دقت خیلی مهم هست.الان توی یکی از شرط ها بجای || نوشتید or

  • سلام ببخشید علت این ارور چیه
    Parse error: syntax error, unexpected variable "$category" in C:\xampp\htdocs\finalblog\single.php on line 36
    کد ای من

                    $category_id = $post['category_id'];
    
    $query_post_category = "SELECT * FROM `categories` WHERE id = $category_id "
    $category = $base->query($query_post_category)->fetch();

    • سلام وقت بخیر.
      احتمالا بخاطر قرار ندادن سمیکالون(;) در انتهای خط دوم هست.

    • سلام وقت بخیر.
      در کل exit برای خروجی و عدم اجرای کد های بعدی هست.توی این مثال بله درست میفرمایید، نیازی بهش نیست چون از header استفاده شده.