Ajouter une video dans une base de données

Bonjour,
J'ai un formulaire pour ajouter une video et d'autres informations dans une base de données mais ça n'a pas marché. Je n'ai aucune erreur affichée mais les données ne sont pas ajoutées dans la base de données.

<?php
 
include '../components/connect.php';
 
if(isset($_COOKIE['tutor_id'])){
   $tutor_id = $_COOKIE['tutor_id'];
}else{
   $tutor_id = '';
   header('location:login.php');
}
 
if(isset($_POST['submit'])){
 
   $id = create_unique_id();
   $status = $_POST['status'];
   $status = filter_var($status, FILTER_SANITIZE_STRING);
   $title = $_POST['title'];
   $title = filter_var($title, FILTER_SANITIZE_STRING);
   $description = $_POST['description'];
   $description = filter_var($description, FILTER_SANITIZE_STRING);
   $playlist_id = $_POST['playlist'];
   $playlist_id = filter_var($playlist_id, FILTER_SANITIZE_STRING);
 
   $thumb = $_FILES['thumb']['name'];
   $thumb = filter_var($thumb, FILTER_SANITIZE_STRING);
   $thumb_ext = pathinfo($thumb, PATHINFO_EXTENSION);
   $rename_thumb = create_unique_id().'.'.$thumb_ext;
   $thumb_size = $_FILES['thumb']['size'];
   $thumb_tmp_name = $_FILES['thumb']['tmp_name'];
   $thumb_folder = '../uploaded_files/'.$rename_thumb;
 
   $video = $_FILES['video']['name'];
   $video = filter_var($video, FILTER_SANITIZE_STRING);
   $video_ext = pathinfo($video, PATHINFO_EXTENSION);
   $rename_video = create_unique_id().'.'.$video_ext;
   $video_tmp_name = $_FILES['video']['tmp_name'];
   $video_size= $_FILES['video']['size'];
   $video_folder = '../uploaded_files/'.$rename_video;
 
   $verify_content=$conn->perepare("select *  from  'content' where tutor_id= ?  and title=?and description=? ");
   $verify_content->execute([$tutor_id,$title,$description]);
 
 
   if($verify_content->rowCount()>0){
      $message[] = 'content already created!';
   }else{
      $add_content = $conn->prepare("INSERT INTO `content`(id, tutor_id, playlist_id, title, description, video, thumb, status) VALUES(?,?,?,?,?,?,?,?)");
      $add_content->execute([$id, $tutor_id, $playlist_id, $title, $description, $rename_video, $rename_thumb, $status]);
      move_uploaded_file($thumb_tmp_name, $thumb_folder);
      move_uploaded_file($video_tmp_name, $video_folder);
      $message[] = 'new course uploaded!';
   }
}
 
?>
 
<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Dashboard</title>
 
   <!-- font awesome cdn link  -->
   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css">
 
   <!-- custom css file link  -->
   <link rel="stylesheet" href="../css/admin_style.css">
 
</head>
<body>
 
<?php include '../components/admin_header.php'; ?>
 
<section class="video-form">
 
   <h1 class="heading">upload content</h1>
 
   <form action="" method="post" enctype="multipart/form-data">
      <p>video status <span>*</span></p>
      <select name="status" class="box" required>
         <option value="" selected disabled>-- select status</option>
         <option value="active">active</option>
         <option value="desactive">desactive</option>
      </select>
      <p>video title <span>*</span></p>
      <input type="text" name="title" maxlength="100" required placeholder="enter video title" class="box">
      <p>video description <span>*</span></p>
      <textarea name="description" class="box" required placeholder="write description" maxlength="1000" cols="30" rows="10"></textarea>
      <p>video playlist <span>*</span></p>
      <select name="playlist" class="box" required>
         <option value="" disabled selected>--select playlist</option>
         <?php
         $select_playlists = $conn->prepare("SELECT * FROM `playlist` WHERE tutor_id = ?");
         $select_playlists->execute([$tutor_id]);
         if($select_playlists->rowCount() > 0){
            while($fetch_playlist = $select_playlists->fetch(PDO::FETCH_ASSOC)){
         ?>
         <option value="<?= $fetch_playlist['id']; ?>"><?= $fetch_playlist['title']; ?></option>
         <?php
            }
         ?>
         <?php
         }else{
            echo '<option value="" disabled>no playlist created yet!</option>';
         }
         ?>
      </select>
      <p>select thumbnail <span>*</span></p>
      <input type="file" name="thumb" accept="image/*" required class="box">
      <p>select video <span>*</span></p>
      <input type="file" name="video" accept="video/*" required class="box">
      <input type="submit" value="upload video" name="submit" class="btn">
   </form>
 
</section>
 
<?php include '../components/footer.php'; ?>
 
<script src="../js/admin_script.js"></script>
 
</body>
</html>


Windows / Chrome 113.0.0.0

9 réponses

  1. Bonjour,

    Merci pour votre réponse

    J'ai essayé de corriger mon code et de gérer mes erreurs mais j'ai obtenu ce résultat:

    Array
    (
    )
    Array
    (
    )
    <?php
    
    include '../components/connect.php';
    
    if(isset($_COOKIE['tutor_id'])){
       $tutor_id = $_COOKIE['tutor_id'];
    }else{
       $tutor_id = '';
       header('location:login.php');
    }
    echo '<pre>'; print_r($_FILES); echo '</pre>'; // Valorisé ?
    echo '<pre>'; print_r($_POST); echo '</pre>'; // Valorisé ?
    if(isset($_POST['submit'])){
       echo "[DEBUG] tutor_id=[{$tutor_id}], title=[{$title}], description=[{$description}]";
       $id = create_unique_id();
       $status = $_POST['status'];
       $status = filter_var($status, FILTER_SANITIZE_STRING);
       $title = $_POST['title'];
       $title = filter_var($title, FILTER_SANITIZE_STRING);
       $description = $_POST['description'];
       $description = filter_var($description, FILTER_SANITIZE_STRING);
       $playlist_id = $_POST['playlist'];
       $playlist_id = filter_var($playlist_id, FILTER_SANITIZE_STRING);
    
       $thumb = $_FILES['thumb']['name'];
       $thumb = filter_var($thumb, FILTER_SANITIZE_STRING);
       $thumb_ext = pathinfo($thumb, PATHINFO_EXTENSION);
       $rename_thumb = create_unique_id().'.'.$thumb_ext;
       $thumb_size = $_FILES['thumb']['size'];
       $thumb_tmp_name = $_FILES['thumb']['tmp_name'];
       $thumb_folder = '../uploaded_files/'.$rename_thumb;
    
       $video = $_FILES['video']['name'];
       $video = filter_var($video, FILTER_SANITIZE_STRING);
       $video_ext = pathinfo($video, PATHINFO_EXTENSION);
       $rename_video = create_unique_id().'.'.$video_ext;
       $video_tmp_name = $_FILES['video']['tmp_name'];
       $video_size= $_FILES['video']['size'];
       $video_folder = '../uploaded_files/'.$rename_video;
       
       $sql="select *  from  'content' where tutor_id= ?  and title=?and description=? ";
       $description = [':description' => $description];
       try{
          $verify_content =$conn->prepare($sql);
          $verify_content->execute([$tutor_id,$title,$description]);
       }catch(Exception $e){
          // en cas d'erreur :
          echo " Erreur ! ".$e->getMessage();
          echo " Les datas : " ;
          print_r($description);
       }
    
       if($verify_content->rowCount()>0){
          $message[] = 'content already created!';
       }else{
          $sql2 = "INSERT INTO `content`(id, tutor_id, playlist_id, title, description, video, thumb, status) VALUES(?,?,?,?,?,?,?,?)";
          $datas2 = array(':valeur1'=>$id, ':valeur2'=>$tutor_id,':valeur3'=>$playlist_id,':valeur4'=>$title,':valeur5'=>$description,':valeur6'=>$rename_video,':valeur7'=>$rename_thumb,':valeur8'=>$status);
    
          try{
             $add_content = $conn -> prepare($sql2) ;
             $add_content->execute($datas2) ;
           }catch(Exception $e){
             // en cas d'erreur :
              echo " Erreur ! ".$e->getMessage();
              echo " Les datas : " ;
             print_r($datas2);
           }
          move_uploaded_file($thumb_tmp_name, $thumb_folder);
          move_uploaded_file($video_tmp_name, $video_folder);
          $message[] = 'new course uploaded!';
       }
    }
    
    ?>
    0
    1. Modérateur

      As tu activé l'affichage des erreurs PHP ?

      As tu regardé ta requête ?

         $sql="select *  from  'content' where tutor_id= ?  and title=?and description=? ";

      J'y vois deux erreurs ....

      0
  2. Bonjour,

    j'ai remplacé cette requête par ceci

    $sql="select *  from content where tutor_id= ?  and title=? and description=? ";

    J'ai utilisé "try" and "catch" pour afficher les erreurs mais ce qui est étonnant, c'est comme si mon formulaire n'était pas soumis parce que ces lignes sont affichées dès le chargement de la page. En cliquant sur le bouton rien n'est exécuté. J'obtiens toujours ces lignes

    Array
    (
    )
    Array
    (
    )
    0
    1. Modérateur

      1 - activer l'affichage des erreurs PHP

      error_reporting(E_ALL);
      ini_set('display_errors', TRUE);
      ini_set('display_startup_errors', TRUE);

      2 -  L'affichage des deux array vides vient de tes lignes de code

      echo '<pre>'; print_r($_FILES); echo '</pre>'; // Valorisé ?
      echo '<pre>'; print_r($_POST); echo '</pre>'; // Valorisé ?

      Tant que tu n'as pas "submit" normal qu'ils soient vides !

      Par contre, une fois ton formulaire envoyé, tu devrais avoir des valeurs dedans...


      0
      1. Bonjour, même en activant l'affichage des erreurs, j'obtiens le même résultat en haut de ma page dès son chargement et après la soumission du formulaire.

        <?php
        error_reporting(E_ALL);
        ini_set('display_errors', TRUE);
        ini_set('display_startup_errors', TRUE);
        include '../components/connect.php';
        
        if(isset($_COOKIE['tutor_id'])){
           $tutor_id = $_COOKIE['tutor_id'];
        }else{
           $tutor_id = '';
           header('location:login.php');
        }
        echo '<pre>'; print_r($_FILES); echo '</pre>'; // Valorisé ?
        echo '<pre>'; print_r($_POST); echo '</pre>'; // Valorisé ?
        if(isset($_POST['submit'])){
           echo "[DEBUG] tutor_id=[{$tutor_id}], title=[{$title}], description=[{$description}]";
           $id = create_unique_id();
           $status = $_POST['status'];
           $status = filter_var($status, FILTER_SANITIZE_STRING);
           $title = $_POST['title'];
           $title = filter_var($title, FILTER_SANITIZE_STRING);
           $description = $_POST['description'];
           $description = filter_var($description, FILTER_SANITIZE_STRING);
           $playlist_id = $_POST['playlist'];
           $playlist_id = filter_var($playlist_id, FILTER_SANITIZE_STRING);
        
           $thumb = $_FILES['thumb']['name'];
           $thumb = filter_var($thumb, FILTER_SANITIZE_STRING);
           $thumb_ext = pathinfo($thumb, PATHINFO_EXTENSION);
           $rename_thumb = create_unique_id().'.'.$thumb_ext;
           $thumb_size = $_FILES['thumb']['size'];
           $thumb_tmp_name = $_FILES['thumb']['tmp_name'];
           $thumb_folder = '../uploaded_files/'.$rename_thumb;
        
           $video = $_FILES['video']['name'];
           $video = filter_var($video, FILTER_SANITIZE_STRING);
           $video_ext = pathinfo($video, PATHINFO_EXTENSION);
           $rename_video = create_unique_id().'.'.$video_ext;
           $video_tmp_name = $_FILES['video']['tmp_name'];
           $video_size= $_FILES['video']['size'];
           $video_folder = '../uploaded_files/'.$rename_video;
           
           $sql="select *  from content where tutor_id= ?  and title=? and description=? ";
           $description = [':description' => $description];
           try{
              $verify_content =$conn->prepare($sql);
              $verify_content->execute([$tutor_id,$title,$description]);
           }catch(Exception $e){
              // en cas d'erreur :
              echo " Erreur ! ".$e->getMessage();
              echo " Les datas : " ;
              print_r($description);
           }
        
           if($verify_content->rowCount()>0){
              $message[] = 'content already created!';
           }else{
              $sql2 = "INSERT INTO `content`(id, tutor_id, playlist_id, title, description, video, thumb, status) VALUES(?,?,?,?,?,?,?,?)";
              $datas2 = array(':valeur1'=>$id, ':valeur2'=>$tutor_id,':valeur3'=>$playlist_id,':valeur4'=>$title,':valeur5'=>$description,':valeur6'=>$rename_video,':valeur7'=>$rename_thumb,':valeur8'=>$status);
        
              try{
                 $add_content = $conn -> prepare($sql2) ;
                 $add_content->execute($datas2) ;
               }catch(Exception $e){
                 // en cas d'erreur :
                  echo " Erreur ! ".$e->getMessage();
                  echo " Les datas : " ;
                 print_r($datas2);
               }
              move_uploaded_file($thumb_tmp_name, $thumb_folder);
              move_uploaded_file($video_tmp_name, $video_folder);
              $message[] = 'new course uploaded!';
           }
        }
        
        ?>
        <!DOCTYPE html>
        <html lang="en">
        <head>
           <meta charset="UTF-8">
           <meta http-equiv="X-UA-Compatible" content="IE=edge">
           <meta name="viewport" content="width=device-width, initial-scale=1.0">
           <title>Dashboard</title>
         
           <!-- font awesome cdn link  -->
           <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css">
         
           <!-- custom css file link  -->
           <link rel="stylesheet" href="../css/admin_style.css">
         
        </head>
        <body>
         
        <?php include '../components/admin_header.php'; ?>
         
        <section class="video-form">
         
           <h1 class="heading">upload content</h1>
         
           <form action="" method="post" enctype="multipart/form-data">
              <p>video status <span>*</span></p>
              <select name="status" class="box" required>
                 <option value="" selected disabled>-- select status</option>
                 <option value="active">active</option>
                 <option value="desactive">desactive</option>
              </select>
              <p>video title <span>*</span></p>
              <input type="text" name="title" maxlength="100" required placeholder="enter video title" class="box">
              <p>video description <span>*</span></p>
              <textarea name="description" class="box" required placeholder="write description" maxlength="1000" cols="30" rows="10"></textarea>
              <p>video playlist <span>*</span></p>
              <select name="playlist" class="box" required>
                 <option value="" disabled selected>--select playlist</option>
                 <?php
                 $select_playlists = $conn->prepare("SELECT * FROM `playlist` WHERE tutor_id = ?");
                 $select_playlists->execute([$tutor_id]);
                 if($select_playlists->rowCount() > 0){
                    while($fetch_playlist = $select_playlists->fetch(PDO::FETCH_ASSOC)){
                 ?>
                 <option value="<?= $fetch_playlist['id']; ?>"><?= $fetch_playlist['title']; ?></option>
                 <?php
                    }
                 ?>
                 <?php
                 }else{
                    echo '<option value="" disabled>no playlist created yet!</option>';
                 }
                 ?>
              </select>
              <p>select thumbnail <span>*</span></p>
              <input type="file" name="thumb" accept="image/*" required class="box">
              <p>select video <span>*</span></p>
              <input type="file" name="video" accept="video/*" required class="box">
              <input type="submit" value="upload video" name="submit" class="btn">
           </form>
         
        </section>
         
        <?php include '../components/footer.php'; ?>
         
        <script src="../js/admin_script.js"></script>
         
        </body>
        </html>
        0
        1. Modérateur

          A l'ouverture de la page c'est normal.

          A la limite, pour éviter de les avoir, tu peux déplacer tes print_r à l'intérieur de ton IF

          if(isset($_POST['submit'])){
            echo '<pre>'; print_r($_FILES); echo '</pre>'; // Valorisé ?
            echo '<pre>'; print_r($_POST); echo '</pre>'; // Valorisé ?

          Par contre, une fois ton formulaire rempli puis "submit" .. là tu devrais avoir quelque chose.

          Si ce n'est pas le cas, 

          Merci de nous donner le code source généré de ton formulaire ( que tu vas obtenir en faisant CTRL+u une fois ta page affichée dans ton navigateur internet)

          0
      2. Bonjour

        merci pour votre réponse

        voici le code obtenu

        <pre>Array
        (
        )
        </pre><pre>Array
        (
        )
        </pre><!DOCTYPE html>
        <html lang="en">
        <head>
           <meta charset="UTF-8">
           <meta http-equiv="X-UA-Compatible" content="IE=edge">
           <meta name="viewport" content="width=device-width, initial-scale=1.0">
           <title>Dashboard</title>
         
           <!-- font awesome cdn link  -->
           <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css">
         
           <!-- custom css file link  -->
           <link rel="stylesheet" href="../css/admin_style.css">
         
        </head>
        <body>
         
        
        <header class="header">
        
           <section class="flex">
        
              <a href="dashboard.php" class="logo">Admin.</a>
        
              <form action="search_page.php" method="post" class="search-form">
                 <input type="text" name="search" placeholder="search here..." required maxlength="100">
                 <button type="submit" class="fas fa-search" name="search_btn"></button>
              </form>
        
              <div class="icons">
                 <div id="menu-btn" class="fas fa-bars"></div>
                 <div id="search-btn" class="fas fa-search"></div>
                 <div id="user-btn" class="fas fa-user"></div>
                 <div id="toggle-btn" class="fas fa-sun"></div>
              </div>
        
              <div class="profile">
                          <img src="../uploaded_files/12GUzg5mFjLlnE0Af0kf.jpg" alt="">
                 <h3>haroun</h3>
                 <span>teacher</span>
                 <a href="profile.php" class="btn">view profile</a>
                 <div class="flex-btn">
                    <a href="login.php" class="option-btn">login</a>
                    <a href="register.php" class="option-btn">register</a>
                 </div>
                 <a href="../components/admin_logout.php" onclick="return confirm('logout from this website?');" class="delete-btn">logout</a>
                       </div>
        
           </section>
        
        </header>
        
        <!-- header section ends -->
        
        <!-- side bar section starts  -->
        
        <div class="side-bar">
        
           <div class="close-side-bar">
              <i class="fas fa-times"></i>
           </div>
        
           <div class="profile">
                          <img src="../uploaded_files/12GUzg5mFjLlnE0Af0kf.jpg" alt="">
                 <h3>haroun</h3>
                 <span>teacher</span>
                 <a href="profile.php" class="btn">view profile</a>
                       </div>
        
           <nav class="navbar">
              <a href="dashboard.php"><i class="fas fa-home"></i><span>home</span></a>
              <a href="playlists.php"><i class="fa-solid fa-bars-staggered"></i><span>playlists</span></a>
              <a href="contents.php"><i class="fas fa-graduation-cap"></i><span>contents</span></a>
              <a href="comments.php"><i class="fas fa-comment"></i><span>comments</span></a>
              <a href="../components/admin_logout.php" onclick="return confirm('logout from this website?');"><i class="fas fa-right-from-bracket"></i><span>logout</span></a>
           </nav>
        
        </div>
        
        <!-- side bar section ends --> 
        <section class="video-form">
         
           <h1 class="heading">upload content</h1>
         
           <form action="" method="post" enctype="multipart/form-data">
              <p>video status <span>*</span></p>
              <select name="status" class="box" required>
                 <option value="" selected disabled>-- select status</option>
                 <option value="active">active</option>
                 <option value="desactive">desactive</option>
              </select>
              <p>video title <span>*</span></p>
              <input type="text" name="title" maxlength="100" required placeholder="enter video title" class="box">
              <p>video description <span>*</span></p>
              <textarea name="description" class="box" required placeholder="write description" maxlength="1000" cols="30" rows="10"></textarea>
              <p>video playlist <span>*</span></p>
              <select name="playlist" class="box" required>
                 <option value="" disabled selected>--select playlist</option>
                          <option value="VbCKK1wGv1ietTIvgRAs">eeeee</option>
                                </select>
              <p>select thumbnail <span>*</span></p>
              <input type="file" name="thumb" accept="image/*" required class="box">
              <p>select video <span>*</span></p>
              <input type="file" name="video" accept="video/*" required class="box">
              <input type="submit" value="upload video" name="submit" class="btn">
           </form>
         
        </section>
         
        <footer class="footer">
        
           &copy; copyright @ 2023 by <span>mr. web designer</span> | all rights reserved!
        
        </footer> 
        <script src="../js/admin_script.js"></script>
         
        </body>
        </html>
        0
        1. Bonsoir,
          J'ai remarqué que dans ce code, en remplaçant accept="video/*" par accept="image/*", les données sont bien sauvegardées dans la base de données. Comment je peux filtrer seuls les fichiers vidéos

          <?php
          error_reporting(E_ALL);
          ini_set('display_errors', TRUE);
          ini_set('display_startup_errors', TRUE);
          include '../components/connect.php';
          
          if(isset($_COOKIE['tutor_id'])){
             $tutor_id = $_COOKIE['tutor_id'];
          }else{
             $tutor_id = '';
             header('location:login.php');
          }
          
          if(isset($_POST['submit'])){
          
             $id = unique_id();
             $title = $_POST['title'];
             $title = filter_var($title, FILTER_SANITIZE_STRING);
             $description = $_POST['description'];
             $description = filter_var($description, FILTER_SANITIZE_STRING);
             $status = $_POST['status'];
             $status = filter_var($status, FILTER_SANITIZE_STRING);
             $playlist_id = $_POST['playlist'];
             $playlist_id = filter_var($playlist_id, FILTER_SANITIZE_STRING);
          
             $image = $_FILES['image']['name'];
             $image = filter_var($image, FILTER_SANITIZE_STRING);
             $ext = pathinfo($image, PATHINFO_EXTENSION);
             $rename = unique_id().'.'.$ext;
             $image_size = $_FILES['image']['size'];
             $image_tmp_name = $_FILES['image']['tmp_name'];
             $image_folder = '../uploaded_files/'.$rename;
          
             $video = $_FILES['video']['name'];
             $video = filter_var($video, FILTER_SANITIZE_STRING);
             $ext2 = pathinfo($video, PATHINFO_EXTENSION);
             $rename_video = unique_id().'.'.$ext2;
             $video_size = $_FILES['video']['size'];
             $video_tmp_name = $_FILES['video']['tmp_name'];
             $video_folder = '../uploaded_files/'.$rename_video;
          
             $verify_content=$conn->prepare("select *  from  `content` where tutor_id= ?  and title=? and description=? ");
             $verify_content->execute([$tutor_id,$title,$description]);
           
           
             if($verify_content->rowCount()>0){
                $message[] = 'content already created!';
             }else{
             $add_playlist = $conn->prepare("INSERT INTO `content`(id, tutor_id, playlist_id, title, description, video, thumb, status) VALUES(?,?,?,?,?,?,?,?)");
             $add_playlist->execute([$id, $tutor_id, $playlist_id, $title, $description, $rename_video, $rename, $status]);
             move_uploaded_file($image_tmp_name, $image_folder);
             move_uploaded_file($video_tmp_name, $video_folder);
          
             $message[] = 'new content created!';  
             }
          }
          
          ?>
          
          <!DOCTYPE html>
          <html lang="en">
          <head>
             <meta charset="UTF-8">
             <meta http-equiv="X-UA-Compatible" content="IE=edge">
             <meta name="viewport" content="width=device-width, initial-scale=1.0">
             <title>Add Playlist</title>
          
             <!-- font awesome cdn link  -->
             <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css">
          
             <!-- custom css file link  -->
             <link rel="stylesheet" href="../css/admin_style.css">
          
          </head>
          <body>
          
          <?php include '../components/admin_header.php'; ?>
             
          <section class="playlist-form">
          
             <h1 class="heading">create playlist</h1>
          
             <form action="" method="post" enctype="multipart/form-data">
                <p>video status <span>*</span></p>
                <select name="status" class="box" required>
                   <option value="" selected disabled>-- select status</option>
                   <option value="active">active</option>
                   <option value="deactive">deactive</option>
                </select>
                <p>video title <span>*</span></p>
                <input type="text" name="title" maxlength="100" required placeholder="enter playlist title" class="box">
                <p>video description <span>*</span></p>
                <textarea name="description" class="box" required placeholder="write description" maxlength="1000" cols="30" rows="10"></textarea>
                <p>video playlist <span>*</span></p>
                <select name="playlist" class="box" required>
                   <option value="" disabled selected>--select playlist</option>
                   <?php
                   $select_playlists = $conn->prepare("SELECT * FROM `playlist` WHERE tutor_id = ?");
                   $select_playlists->execute([$tutor_id]);
                   if($select_playlists->rowCount() > 0){
                      while($fetch_playlist = $select_playlists->fetch(PDO::FETCH_ASSOC)){
                   ?>
                   <option value="<?= $fetch_playlist['id']; ?>"><?= $fetch_playlist['title']; ?></option>
                   <?php
                      }
                   ?>
                   <?php
                   }else{
                      echo '<option value="" disabled>no playlist created yet!</option>';
                   }
                   ?>
                </select>
                <p>video thumbnail <span>*</span></p>
                <input type="file" name="image" accept="image/*" required class="box">
                <p>Select video<span>*</span></p>
                <input type="file" name="video" accept="video/*" required class="box">
                <input type="submit" value="create playlist" name="submit" class="btn">
             </form>
          
          </section>
          
          
          <?php include '../components/footer.php'; ?>
          
          <script src="../js/admin_script.js"></script>
          
          </body>
          </html>
          0
          1. C pas pour expliquer mais [themb_tmp_name]

            Vous n'avez pas surnommé la vidéo ???!!!

            0