Enregistrer vidéos dans base de données

Fermé
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 - 25 juil. 2018 à 15:08
jadu29 Messages postés 44 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 17 juillet 2023 - 16 nov. 2022 à 20:25
Bonjour, excusez-moi j'ai un soucis. Je cherche à enregistrer des vidéos dans ma base de données mais je n'y parviens pas d'abord. Je ne sais pas ce qui ne marche pas. J'ai une page que j'appelle categories.php à travers laquelle je sélectionne (upload) les vidéos, j'ai egalement une page info.php qui doit faire l'enregistrement dans la base de données et ensuite afficher les vidéos sur la page. Voici les codes des 2 pages:

categories.php
      <!DOCTYPE html>   
   <html id="bloc_page">
        <head>
	        <title>FORMULAIRE D'ENREGISTREMENT D'UNE VIDEO</title>
			<link rel="stylesheet" href="sogim.css" />
			<link rel="stylesheet" href="css/bootstrap.min.css"/>
            <link rel="stylesheet" href="css/bootstrap-theme.min.css"/> 			
		</head>
		    <header>
			    <?php  include('entete.php'); ?>
			</header>
	        <body>	
                <center><h2><u>Enregistrement d'une vidéo</u></h2></center>
				<form method="POST" action="info.php" enctype="multipart/form-data">
				    <div class="row">
					    <div class="col-md-4 col-sm-12 col-xs-12 form-group">
						    Titre<input type="text" name="titre" class="form-control" />
						</div>
						
						<div class="col-md-4 col-sm-12 col-xs-12 form-group">
						    Genre<input type="text" name="genre" class="form-control"/>
						</div>
						
						<div class="col-md-4 col-sm-12 col-xs-12 form-group">
						    Description<input type="text" name="description" class="form-control"/>
						</div>
					</div>
					
					<div class="row">
						<div class="col-md-4 col-sm-12 col-xs-12 form-group">
						    Vidéo 1<input type="file" name="video1"  class="form-control"/> <br/>
						</div>
						<div class="col-md-4 col-sm-12 col-xs-12 form-group">
							Vidéo 2<input type="file" name="video2"  class="form-control"/> <br/>
						</div>
						<div class="col-md-4 col-sm-12 col-xs-12 form-group">
							Vidéo 3<input type="file" name="video3" class="form-control"/> <br/>
						</div>
					</div>
					
					<div class="row">
                        <div class="col-md-3 col-sm-12 col-xs-12 form-group">
						    <input type="submit" name="valider" value="valider" class="form-control btn btn-primary"/>
						</div>						
					    <div class="col-md-3 col-sm-12 col-xs-12 form-group">
						    <input type="reset" name="annuler" value="Annuler" class="form-control btn btn-primary"/>
						</div>
					</div>
				</form>
			        
					<?php
					    // location::header(index.php);
					?>
					        <footer>
				                <?php  include('new_footer.php'); ?>
				            </footer>
			    <script src="js/jquery.js">	</script>
				<script src="js/bootstrap.min.js"></script>
				</body>
	</html>


Ensuite la page info.php

                <html id="bloc_page">
        <head>
	        <title>FORMULAIRE D'ENREGISTREMENT D'UNE VIDEO</title>
			<link rel="stylesheet" href="sogim.css" />
			<link rel="stylesheet" href="css/bootstrap.min.css"/>
            <link rel="stylesheet" href="css/bootstrap-theme.min.css"/> 			
		</head>
		    <body>
	<?php 
	    /* include('fonctions.php');  */
	?>  	
				    <?php 
					
					                    try
		                                                    {
		                                                        //On se connecte à mysql
																$bdd = new PDO ('mysql:host=localhost;dbname=webtv','root','');
		                                                       //$bdd = new PDO ('mysql:host=mysql.hostinger.fr;dbname=u930130525_sogim','u930130525_sogim','MotDePass');
		                                                    }
		                                                        catch(Exception $e)
			                                                        {
				                                                        //En cas d'erreur, on affiche un message et on arrète tout
				                                                        die('Erreur:'.$e->get_Message());
				                                                    } 
																	
					if (isset($_POST['valider']))
					/* if (isset($_POST['model']) and (!empty($_POST['model']))) */
					{
					    $titre=$_POST['titre'];
					    $genre=$_POST['genre'];
						$description=$_POST['description']; 
					    //On construit la date d'aujourd'hui strictement comme sql la construit
						$today = date("y-m-d");
							// teste de l'envoi du fichier PHOTO 1
                        if (isset($_FILES['video1'])  and  $_FILES['video1']['error']== 0 )
                            {
                                // teste de la grandeur de l'image
                                if ($_FILES['video1']['size'] <= 500000000)
                                  {
                                    // teste de la prise en compte du chemin et de l'extention du fichier
                                    $infosfichier = pathinfo($_FILES['video1']['name']);//on prend le nom du fichier
                                    $extension_upload = $infosfichier['extension']; //on prend l'extension du fichier
                                    $extensions_autorisees = array('mp4', 'avi', 'vob', 'flv','rmvb', 'wmv', 'swf','mpg','MP4', 'AVI','VOB','FLV','RMVB', 'WMV', 'SWF','MPG'); 
									//on prend les extensions autorisées            
									if (in_array($extension_upload, $extensions_autorisees))
                                        {
			                                move_uploaded_file($_FILES['video1']['tmp_name'], 'videos/mesvideos/'.basename($_FILES['video1']['name']));
                                            $video1=$_FILES['video1']['name'];
											/* echo "L'envoi de la video a bien réussi. Merci!"; */
                                        }
                                  }
                            }
							// teste de l'envoi du fichier
                        if (isset($_FILES['video2'])  and  $_FILES['video2']['error']== 0 )
                            {
                                // teste de la grandeur de l'image
                                if ($_FILES['video2']['size'] <= 500000000)
                                  {
                                    // teste de la prise en compte du chemin et de l'extention du fichier
                                    $infosfichier = pathinfo($_FILES['video2']['name']);//on prend le nom du fichier
                                    $extension_upload = $infosfichier['extension']; //on prend l'extension du fichier
                                    $extensions_autorisees = array('mp4', 'avi', 'vob','flv','rmvb', 'wmv', 'swf','mpg','MP4', 'AVI','VOB','FLV','RMVB', 'WMV', 'SWF','MPG'); 
									//on prend les extensions autorisées            
									if (in_array($extension_upload, $extensions_autorisees))
                                        {
			                                move_uploaded_file($_FILES['video2']['tmp_name'], 'videos/mesvideos/'.basename($_FILES['video2']['name']));
                                            $video2=$_FILES['video2']['name'];
											
                                        }
                                  }
                            }
							// teste de l'envoi du fichier
                        if (isset($_FILES['video3'])  and  $_FILES['video3']['error']== 0 )
                            {
                                // teste de la grandeur de l'image
                                if ($_FILES['video3']['size'] <= 500000000)
                                  {
                                    // teste de la prise en compte du chemin et de l'extention du fichier
                                    $infosfichier = pathinfo($_FILES['video3']['name']);//on prend le nom du fichier
                                    $extension_upload = $infosfichier['extension']; //on prend l'extension du fichier
                                    $extensions_autorisees = array('mp4', 'avi', 'vob','flv','rmvb', 'wmv', 'swf','mpg','MP4', 'AVI','VOB','FLV','RMVB', 'WMV', 'SWF','MPG'); 
									//on prend les extensions autorisées            
									if (in_array($extension_upload, $extensions_autorisees))
                                        {
			                                move_uploaded_file($_FILES['video3']['tmp_name'], 'videos/mesvideos/'.basename($_FILES['video3']['name']));
                                            $video3=$_FILES['video3']['name'];
											/* echo "L'envoi de la video a bien réussi. Merci!"; */
                                        }
                                  }
                            }

							        echo "L'envoi de la vidéo a bien réussi. Merci!";
                                          if(empty($video1) /* OR empty($photo2) OR empty($photo3) */)
                                            {
	                                            $video="pasimage1.[/contents/1210-compression-jpeg jpeg]";
												
                                            }				        
													// Insertion des données à l'aide d'une requête preparée	
						                    $req = $bdd->prepare('INSERT INTO videos(titre, genre, description, today, video1, video2, video3) 
						                    VALUES(:titre, :genre, :description, :today, :video1, :video2, :video3)');
						 /*  var_dump($photo2); */
						                    $req->execute(array(
						                    'titre'=>$_POST['titre'], 'genre'=>$genre, 'description'=>$description, 'today'=>$today, 'video1'=>$video1, 'video2'=>$video2, 'video3'=>$video3)) 
											        or die (print_r($req->errorInfo())); 
						                    
											 if ($req)
											    {
												 echo 'Enregistrement effectue';
												}
												else
												    {
													echo 'Mauvais enregistrement!';
													} 
													
															    if (isset($_POST['video1']))
																    {
																	    echo ('operation.php');
																		echo 'Vous avez choisi '.$id_videos;
																	}															
					}		                                					
                 ?>                             
                                    <!--    PAGINATION NUMEROTATION DE PAGE     PAGINATION NUMEROTATION DE PAGE    -->				 
			                                        <?php 
														$page = isset($_GET['page']) ? $_GET['page'] : 1;
														$page_offset = ($page - 1) * 5;
														$total ='';
														$pagination ='';
                                                        
														//connect_bd();  CONNEXION A LA BASE DE DONNEES
														//include ('fonctions.php');
														$total_element = $bdd->query("SELECT * from videos");
														$total = $total_element->rowCount(); /* or die (print_r($total_element->errorInfo())) */
														$pagination = $total/5;
														 
													$req=$bdd->query("select * from videos ORDER BY id_videos DESC LIMIT $page_offset, 5 ") or die(print_r($bdd->errorInfo()));
                                                       
														 //var_dump();													
														 while($donnees = $req->fetch())
                                                            { 
															 echo '<table border="1px"; width:800px; height:500px; color="#999";>
															 <tr>
															 <td>     Numero: '.$donnees['id_videos'].'</br>Titre: '.$donnees['titre'].'</br>Genre: '.$donnees['genre'].'</br>Description:'.$donnees['description'].'</br>Date: '.$donnees['today'].'</br></td>'.'<td><a href="operation.php?id='.$donnees['id_videos'].'">
															 <:= "//SRV_files/videos/mesvideos/'.$donnees['video1'].'"style=" width:220px; height:150px; color="#0000"; /></a></br></br></td></tr></table>';
	
															echo '<a href="operation.php?id='.$donnees['id_videos'].'"> Regarder </a>               ';  
															echo '<a href="details.php?id='.$donnees['id_videos'].'"> LIRE </a>';
															}	
                                                                $req->closeCursor(); 
																
													echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
                                                    for($i=1; $i<=$pagination; $i++) //On fait notre boucle
                                                        {
                                                            if($i==$page) //Si il s'agit de la page actuelle...
                                                                {
                                                                    echo ' [ '.$i.' ] '; 
                                                                }	
                                                                else //Sinon...
                                                                    {
                                                                        echo ' <a href="index.php?page='.$i.'">'.$i.'</a> ';
                                                                    }
                                                        }
                                                    echo '</p>';													
			                                        ?>
        </body>
	<html>
										     

5 réponses

jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
25 juil. 2018 à 17:37
Bonjour,

Commence par lire et appliquer les conseils (consignes) données dans ces deux liens :
- https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

- https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code#ou-placer-son-code-php

Reviens nous voir avec ton code modifié si après cela ça ne fonctionne toujours pas.

1
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 1
25 juil. 2018 à 19:27
C'est fait Jordane45, j'ai fais les modifications que vous m'avez demandées mais c'est la même chose. Lorsque je fais upload la page me donne l'impression d'avoir uploadé la vidéo mais l'enregistrement ne se fait pas et la page qui doit afficher les vidéos sort vide sans toutefois afficher d'erreur.
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
25 juil. 2018 à 19:57
Comme indiqué. ..montre ton code
0
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 1
26 juil. 2018 à 02:30
Actuellement ça commence à aller, la page info.php affiche une seule vidéo après enregistrement tant bien même que j'ai déjà fait plusieurs enregistrements. Elle devrait normalement afficher tous mes enregistrements étant donné que j'ai fait une pagination, mais la page ne m'affiche qu'un seul enregistrement actuellement, chose anormale car si j'ai 10 enregistrements, la page devrait afficher les 10 enregistrements, ce qui n'est pas le cas pour l'instant. Voici donc les codes:

code de la page1 categories.php


<!DOCTYPE html>   
   <html id="bloc_page">
        <head>
	        <title>FORMULAIRE D'ENREGISTREMENT D'UNE VIDEO</title>
			<link rel="stylesheet" href="sogim.css" />
			<link rel="stylesheet" href="css/bootstrap.min.css"/>
            <link rel="stylesheet" href="css/bootstrap-theme.min.css"/> 			
		</head>
		    <header>
			    <?php  include('entete.php'); ?>
			</header>
	        <body>	
                <center><h2><u>Enregistrement d'une vidéo</u></h2></center>
				<form method="POST" action="info.php" enctype="multipart/form-data">
				    <div class="row">
					    <div class="col-md-4 col-sm-12 col-xs-12 form-group">
						    Titre<input type="text" name="titre" class="form-control" />
						</div>
						
						<div class="col-md-4 col-sm-12 col-xs-12 form-group">
						    Genre<input type="text" name="genre" class="form-control"/>
						</div>
						
						<div class="col-md-4 col-sm-12 col-xs-12 form-group">
						    Description<input type="text" name="description" class="form-control"/>
						</div>
					</div>
					
					<div class="row">
						<div class="col-md-4 col-sm-12 col-xs-12 form-group">
						    Vidéo 1<input type="file" name="video1"  class="form-control"/> <br/>
						</div>
						<div class="col-md-4 col-sm-12 col-xs-12 form-group">
							Vidéo 2<input type="file" name="video2"  class="form-control"/> <br/>
						</div>
						<div class="col-md-4 col-sm-12 col-xs-12 form-group">
							Vidéo 3<input type="file" name="video3" class="form-control"/> <br/>
						</div>
					</div>
					
					<div class="row">
                        <div class="col-md-3 col-sm-12 col-xs-12 form-group">
						    <input type="submit" name="valider" value="valider" class="form-control btn btn-primary"/>
						</div>						
					    <div class="col-md-3 col-sm-12 col-xs-12 form-group">
						    <input type="reset" name="annuler" value="Annuler" class="form-control btn btn-primary"/>
						</div>
					</div>
				</form>
			        
					<?php
					    // location::header(index.php);
					?>
					        <footer>
				                <?php  include('new_footer.php'); ?>
				            </footer>
			    <script src="js/jquery.js">	</script>
				<script src="js/bootstrap.min.js"></script>
				</body>
	</html>



Ensuite le code de la 2eme page, info.php

        <?php 
		    error_reporting(E_ALL);
            ini_set('display_errors', TRUE);
            ini_set('display_startup_errors', TRUE);
			
		    require_once('connectbd.php'); 
		?>
		 <html id="bloc_page">
        <head>
	        <title>FORMULAIRE D'ENREGISTREMENT D'UNE VIDEO</title>
			<link rel="stylesheet" href="sogim.css" />
			<link rel="stylesheet" href="css/bootstrap.min.css"/>
            <link rel="stylesheet" href="css/bootstrap-theme.min.css"/> 			
		</head>
		    <body>
 	
				    <?php 
																	
					if (isset($_POST['valider']))
					/* if (isset($_POST['model']) and (!empty($_POST['model']))) */
					{
					    $titre=$_POST['titre'];
					    $genre=$_POST['genre'];
						$description=$_POST['description']; 
					    //On construit la date d'aujourd'hui strictement comme sql la construit
						$today = date("y-m-d");
							// teste de l'envoi du fichier PHOTO 1
                        if (isset($_FILES['video1'])  and  $_FILES['video1']['error']== 0 )
                            {
                                // teste de la grandeur de la video
                                if ($_FILES['video1']['size'] <= 500000000)
                                  {
                                    // teste de la prise en compte du chemin et de l'extention du fichier
                                    $infosfichier = pathinfo($_FILES['video1']['name']);//on prend le nom du fichier
                                    $extension_upload = $infosfichier['extension']; //on prend l'extension du fichier
                                    $extensions_autorisees = array('mp4', 'avi', 'vob', 'flv', 'rmvb', 'wmv', 'swf','mpg','MP4', 'AVI','VOB','FLV','RMVB', 'WMV', 'SWF','MPG', 'jpeg'); 
									//on prend les extensions autorisées            
									if (in_array($extension_upload, $extensions_autorisees))
                                        {
			                                move_uploaded_file($_FILES['video1']['tmp_name'], 'videos/mesvideos/'.basename($_FILES['video1']['name']));
                                            $video1=$_FILES['video1']['name'];
											/* echo "L'envoi de la video a bien réussi. Merci!"; */
                                        }
                                  }
                            }
							// teste de l'envoi du fichier
                        if (isset($_FILES['video2'])  and  $_FILES['video2']['error']== 0 )
                            {
                                // teste de la grandeur de l'image
                                if ($_FILES['video2']['size'] <= 500000000)
                                  {
                                    // teste de la prise en compte du chemin et de l'extention du fichier
                                    $infosfichier = pathinfo($_FILES['video2']['name']);//on prend le nom du fichier
                                    $extension_upload = $infosfichier['extension']; //on prend l'extension du fichier
                                    $extensions_autorisees = array('mp4', 'avi', 'vob','flv','rmvb', 'wmv', 'swf','mpg','MP4', 'AVI','VOB','FLV','RMVB', 'WMV', 'SWF','MPG', 'jpeg'); 
									//on prend les extensions autorisées            
									if (in_array($extension_upload, $extensions_autorisees))
                                        {
			                                move_uploaded_file($_FILES['video2']['tmp_name'], 'videos/mesvideos/'.basename($_FILES['video2']['name']));
                                            $video2=$_FILES['video2']['name'];
											/* echo "L'envoi de la photo a bien réussi. Merci!"; */
                                        }
                                  }
                            }
							// teste de l'envoi du fichier
                        if (isset($_FILES['video3'])  and  $_FILES['video3']['error']== 0 )
                            {
                                // teste de la grandeur de l'image
                                if ($_FILES['video3']['size'] <= 500000000)
                                  {
                                    // teste de la prise en compte du chemin et de l'extention du fichier
                                    $infosfichier = pathinfo($_FILES['video3']['name']);//on prend le nom du fichier
                                    $extension_upload = $infosfichier['extension']; //on prend l'extension du fichier
                                    $extensions_autorisees = array('mp4', 'avi', 'vob','flv','rmvb', 'wmv', 'swf','mpg','MP4', 'AVI','VOB','FLV','RMVB', 'WMV', 'SWF','MPG', 'jpeg'); 
									//on prend les extensions autorisées            
									if (in_array($extension_upload, $extensions_autorisees))
                                        {
			                                move_uploaded_file($_FILES['video3']['tmp_name'], 'videos/mesvideos/'.basename($_FILES['video3']['name']));
                                            $video3=$_FILES['video3']['name'];
											/* echo "L'envoi de la photo a bien réussi. Merci!"; */
                                        }
                                  }
                            }
                                
										//echo "L'envoi de la vidéo a bien réussi. Merci!";
											  if(empty($video1) /* OR empty($photo2) OR empty($photo3) */)
												{
													$video1="pasimage1.jpeg";
													$photo2="pasimage2.jpeg";
													$photo3="pasimage3.jpeg"; 
												}	
										   									
														// Insertion des données à l'aide d'une requête preparée	
												$req = $bdd->prepare('INSERT INTO videos(titre, genre, description, today, video1, video2, video3) 
												VALUES(:titre, :genre, :description, :today, :video1, :video2, :video3)');
												
													$req->execute(array(
										'titre'=>$_POST['titre'], 
										'genre'=>$genre, 
										'description'=>$description, 
										'video1'=>$video1, 
										'video2'=>$video2, 
										'video3'=>$video3, 
										'today' =>  date('y-m-d' ))) or die (print_r($req->errorInfo()));
												
												 if ($req)
													{
													 echo 'Enregistrement effectue';
													}
													else
														{
														echo 'Mauvais enregistrement!';
														} 
														
																	if (isset($_POST['video1']))
																		{
																			echo ('operation.php');
																			echo 'Vous avez choisi '.$id_videos;
																		}															
					}		                                					
                 ?>                             
                                    <!--    PAGINATION NUMEROTATION DE PAGE     PAGINATION NUMEROTATION DE PAGE    -->				 
			                                        <?php 
														$page = isset($_GET['page']) ? $_GET['page'] : 1;
														$page_offset = ($page - 1) * 5;
														$total ='';
														$pagination ='';
                                                        
														//connect_bd();  CONNEXION A LA BASE DE DONNEES
														//include ('fonctions.php');
														$total_element = $bdd->query("SELECT * from videos");
														$total = $total_element->rowCount(); /* or die (print_r($total_element->errorInfo())) */
														$pagination = $total/5;
														 
													$req=$bdd->query("select * from videos ORDER BY id_videos DESC LIMIT $page_offset, 5 ") or die(print_r($bdd->errorInfo()));
                                                       
														 //var_dump();													
														 while($donnees = $req->fetch())
                                                            { 
																 echo '<table border="1px"; width:800px; height:500px; color="#999";>
																 <tr>
																 <td>  Vidéo: '.$donnees['id_videos'].'</br>Titre: '.$donnees['titre'].'</br>Genre: '.$donnees['genre'].'</br>Description:'.$donnees['description'].'</br>Date: '.$donnees['today'].'</br></td>'.'<td><a href="operation.php?id='.$donnees['id_videos'].'">
																 <iframe src="videos/mesvideos/'.$donnees['video1'].'"style=" width:220px; height:150px; color="#0000"; /iframe></a></br></br></td></tr></table>';
																/*
																echo '<a href="operation.php?id='.$donnees['id_videos'].'"> Regarder </a>               ';  
																echo '<a href="details.php?id='.$donnees['id_videos'].'"> LIRE </a>';
																*/
															}	
                                                                $req->closeCursor(); 
																
													echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
                                                    for($i=1; $i<=$pagination; $i++) //On fait notre boucle
                                                        {
                                                            if($i==$page) //Si il s'agit de la page actuelle...
                                                                {
                                                                    echo ' [ '.$i.' ] '; 
                                                                }	
                                                                else //Sinon...
                                                                    {
                                                                        echo ' <a href="index.php?page='.$i.'">'.$i.'</a> ';
                                                                    }
                                                        }
                                                    echo '</p>';													
			                                        ?>
        </body>
	<html>
										     

Base de données
create database webtv;
create table(id int(10), titre varchar(255), description varchar(255), video1 blob(255), video2 blob(255), video3 blob(255), today(date), primary key(id));
1
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
Modifié le 30 juil. 2018 à 16:15
J'ai remis ton code au propre en respectant ce qui est indiqué dans les liens que je t'ai donné et que tu n'as pas pris la peine de lire et d'appliquer visiblement.....

Voici
<?php 
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

require_once('connectbd.php'); 

//-------------------------------------------------------------------//
// Fonctions
//-------------------------------------------------------------------//
/**
* Fonction pour uploader les fichier
*/
function uploadFile($file,$uploadDir = "videos/mesvideos/",$fileMaxSize = 500000000, $extensions_autorisees = array('mp4', 'avi', 'vob', 'flv', 'rmvb', 'wmv', 'swf','mpg','MP4', 'AVI','VOB','FLV','RMVB', 'WMV', 'SWF','MPG', 'jpeg')){
  $result = false;
  // teste de l'envoi du fichier PHOTO 1
  if (isset($file) && $file['error']== 0 ) {
    // teste de la grandeur de la video
    if ($file['size'] <= $fileMaxSize){
      // teste de la prise en compte du chemin et de l'extention du fichier
      $infosfichier = pathinfo($file['name']);//on prend le nom du fichier
      $extension_upload = $infosfichier['extension']; //on prend l'extension du fichier
      //on prend les extensions autorisées            
      if (in_array($extension_upload, $extensions_autorisees)){
        if(move_uploaded_file($file['tmp_name'], $uploadDir.basename($file['name']))){
          $result=$file['name'];
          /* echo "L'envoi de la video a bien réussi. Merci!"; */
        }else{
          echo "<br>Erreur lors de l'upload du fichier ".$file['name'];
          if(!is_dir($uploadDir)){
            echo "<br>Le repertoire ".$uploadDir. " est introuvable";
          }else{
            if(!is_writable($uploadDir)){
              echo "<br>Vous n'avez pas l'autorisation d'écrire dans ce dossier : ".$uploadDir;  
            }
          }
        }
      }
    }
  }
  return $result;
}

//-------------------------------------------------------------------//
// Récupération PROPRE des variables AVANT de les utilser !
//-------------------------------------------------------------------//
$titre=!empty($_POST['titre']) ? $_POST['titre'] : NULL;
$genre=!empty($_POST['genre']) ? $_POST['genre'] : NULL;
$description=!empty($_POST['description']) ? $_POST['description']: NULL; 

//Autres variables
$today = date("y-m-d");
$result_import = "";

//Variables FILES
$F1 = !empty($_FILES['video1']) ? $_FILES['video1']: NULL
$F2 = !empty($_FILES['video2']) ? $_FILES['video2']: NULL
$F3 = !empty($_FILES['video3']) ? $_FILES['video3']: NULL


//-------------------------------------------------------------------//
//traitement du formulaire
//-------------------------------------------------------------------//
  if (isset($_POST['valider'])){
    //on upload les vidéos
    $upl_video1 = uploadFile($F1);
    $upl_video2 = uploadFile($F2);
    $upl_video3 = uploadFile($F3);
    
    $video1 = $upl_video1 ? $upl_video1 : "pasimage1.jpeg";
    $video2 = $upl_video2 ? $upl_video2 : "pasimage2.jpeg";
    $video3 = $upl_video3 ? $upl_video3 : "pasimage3.jpeg";
    
    //on fait l'insertion en BDD
    $sql = 'INSERT INTO videos(titre, genre, description, today, video1, video2, video3) 
                VALUES(:titre, :genre, :description, :today, :video1, :video2, :video3)',
    
    $datas = array(
            'titre'=>$titre, 
            'genre'=>$genre, 
            'description'=>$description, 
            'video1'=>$video1, 
            'video2'=>$video2, 
            'video3'=>$video3, 
            'today' =>$today);
    
    try{
      $req = $bdd->prepare($sql);
      //$req->execute($datas); // correction suite à commentaire
        $req->execute();
      $result_import = "Enregistrement effectué"
    }catch(Exception $e){
      $result_import = "Erreur lors de l'import".$e->getMessage();
    }   
  }
  
//-------------------------------------------------------------------//
//Traitement de l'affichage des vidéos
//-------------------------------------------------------------------//
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$page_offset = ($page - 1) + 5;

//nombre total de video dans la table
$sql = "select count(id_videos) as NB from videos ";
try{
  $req = $bdd->prepare($sql);
  $req->execute($datas)
  $res =  $req->fetch(); //on stocke dans un array
  
}catch(Exception $e){
  echo "Erreur ".$e->getMessage();
}
$total = !empty($res) ? $res['NB'] : 0;
$pagination = $total/5;

//liste des videos à afficher
$sql = "select * from videos ORDER BY id_videos DESC LIMIT $page_offset, 5 ";
try{
  $req = $bdd->prepare($sql);
  $req->execute($datas)
  $listeVideos =  $req->fetchAll(); //on stocke dans un array
}catch(Exception $e){
  echo "Erreur ".$e->getMessage();
}  



?>
<html>
<head>
  <meta charset="utf-8">
  <title>FORMULAIRE D'ENREGISTREMENT D'UNE VIDEO</title>
  <link rel="stylesheet" href="sogim.css" />
  <link rel="stylesheet" href="css/bootstrap.min.css"/>
  <link rel="stylesheet" href="css/bootstrap-theme.min.css"/>    
</head>
<body  id="bloc_page">

    <?php 
      echo $result_import;                                      
    ?>                             
    <!--    PAGINATION NUMEROTATION DE PAGE     PAGINATION NUMEROTATION DE PAGE    -->     
    <?php 
      foreach($listeVideos as $donnees){
        echo '<table border="1px"; width:800px; height:500px; color="#999";>
              <tr>
              <td>  Vidéo: '.$donnees['id_videos'].'</br>Titre: '.$donnees['titre'].'</br>Genre: '.$donnees['genre'].'</br>Description:'.$donnees['description'].'</br>Date: '.$donnees['today'].'</br></td>'.'<td><a href="operation.php?id='.$donnees['id_videos'].'">
              <iframe src="videos/mesvideos/'.$donnees['video1'].'"style=" width:220px; height:150px; color="#0000"; /iframe></a></br></br></td></tr></table>';
              /*
              echo '<a href="operation.php?id='.$donnees['id_videos'].'"> Regarder </a>               ';  
              echo '<a href="details.php?id='.$donnees['id_videos'].'"> LIRE </a>';
              */
      } 

      echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
      for($i=1; $i<=$pagination; $i++){
        if($i==$page){ //Si il s'agit de la page actuelle...
          echo ' [ '.$i.' ] '; 
        } else {
          echo ' <a href="index.php?page='.$i.'">'.$i.'</a> ';
        }
      }
      echo '</p>';             
    ?>
</body>
<html>


Dis moi ce que ça donne.


0
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 1
26 juil. 2018 à 19:03
Merci pour l'aide le grand Jordane. Avec mon code j'arrive actuellement à afficher tous mes enregistrements, seulement qu'il se pose un problème avec les vidéos. D'autres de mes vidéos ne se lisent pas sur mon site je ne sais pas pourquoi. Ce sont des vidéos qui ont un height supérieur qui ne se lisent, je n'entend que leurs sons. Les films également ne se lisent pas. De plus je veux savoir savoir quel unité de mésure informatique l'on utilise pour tester la grandeur des vidéos(size[videos])? Cela me permettra de savoir à combien je dois mettre la taille pour pouvoir enregistrer même des films faisant des heures.
0
yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 1 471 > Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021
28 juil. 2018 à 19:21
je suggère d'abord d'ajouter un else correspondant à
if ($file['size'] <= $fileMaxSize)
et d'afficher un message indiquant que le fichier est trop grand, et sa taille.
si c'est bien cela qui bloque, je suggère ensuite d'augmenter la taille maximum (en octets), en modifiant:
$fileMaxSize = 500000000
0
Bonjour, comme je l'ai dit c'est toujours pareil. J'ai augmenté la taille de $fileMaxSize, mais pas de changement. Certaines vidéos ne s'affichent pratiquement pas.
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
5 août 2018 à 22:21
Quelles sont les limites definies dans la config de ton php ?
upload_max_filesize et post_max_size ?
0
Je les ai actuellement mis à 500000000000.
0
jadu29 Messages postés 44 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 17 juillet 2023 9
30 juil. 2018 à 15:26
Pardon, le sujet m'intéresse mais je me pose une question avant de copier-coller ce code ! ;-)

//nombre total de video dans la table
$sql = "select count(id_videos) as NB from videos ";
try{
$req = $bdd->prepare($sql);
$req->execute($datas)
$res = $req->fetch(); //on stocke dans un array

}catch(Exception $e){
echo "Erreur ".$e->getMessage();
}

d'où vient le $data ???
j'ai du louper un cours !

merci de l'éclaircissement !
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
Modifié le 30 juil. 2018 à 16:15
D'une erreur de copier coller.
Pour ton cas, le $datas doit être retiré ou alors initialisé à NULL.

Cela sert lorsque tu as des variables à transmettre
Par exemple :
//nombre total de video dans la table
$sql = "select * from videos  WHERE id_videos = :id";
$datas = array(':id'=>10);
try{
$req = $bdd->prepare($sql);
$req->execute($datas);
$res = $req->fetch(); //on stocke dans un array

}catch(Exception $e){
echo "Erreur ".$e->getMessage();
}



NB: Merci de bien vouloir utiliser LA COLORATION SYNTAXIQUE lorsque tu postes ton code.
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 1
13 sept. 2018 à 19:51
Jadu, tu te retrouves avec l'explication de Jordane???
0
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 1
13 sept. 2018 à 19:50
Je vous remercie, j'ai pu m'en sortir en créant une chaine Youtube pour y stocker mes vidéos et en enregistrant tout simplement les liens dans ma bdd. Encore merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Oui la réponse de Jordane était claire.

Mais j'ai tellement de chantiers en cours !
Là je remonte un PC et un portable !
La vie est un long long long fleuve parfois tranquille !

Busina, ta solution paraît très judicieuse, en fait !
Youtube stocke et toi tu n'as que des liens à mettre en base !
Nickel !
Tant que Youtube existe sans censure !!!!
0
jadu29 Messages postés 44 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 17 juillet 2023 9
16 nov. 2022 à 20:25

j'avais mis : Tant que Youtube existe sans censure !!!!

c'est pire que chez pire, en plus ( ou moins plutôt ) de la censure, il y a plein de pubs !!!

mieux vaut faire un serveur chez soi !

0