Php et l'organisation de taille des photos

Résolu
flo39400 Messages postés 659 Statut Membre -  
flo39400 Messages postés 659 Statut Membre -
Bonjour,

L'idée serai que pendant l'envoie je puisse sélectionner le type d'image si sais en format paysage ou portrait.

Et qui sois compatible avec mon "while" pour afficher les images.

envoie.php
<?php
//Demarrage des sessions
session_start();

//connexion à la BDD (on inclus le fichier)
require_once "cnxBDD.php";

if(isset($_SESSION['id']))
 {
  if($_SESSION['statut'] == "3")
  {
   

   //Récupération 'propre' des varialbes
   $legende = isset($_POST['legende']) ? $_POST['legende'] : '';
   $s_msg = !empty($_SESSION['message']) ? $_SESSION['message'] : '';
   $files = !empty($_FILES['fichier']) ? $_FILES['fichier'] : NULL;

   //traitement du formulaire
   if(isset($_POST['envoie'])) {

   $tmpName = $files['tmp_name'];
   $fileName = $files['name'];
 
   if(!move_uploaded_file($tmpName, 'upload/'.$fileName)){
   echo "<br>Move error ! " . $tmpName . "-->".'upload/'.$fileName;
   }else{
   $info = $fileName. " Importé avec avec succès";
   }
   echo '<br /><font color="blue">'.$info."</font><br />";
 
    $sql = "INSERT INTO photo(adresse, text) VALUES(:adresse, :text)";
    $datas = array(':adresse'=>$fileName ,':text'=> $legende);
   try{
    $insertmbr = $bdd->prepare($sql);
    $insertmbr->execute($datas);
    }catch(Exception $e){
    echo "Erreur ! ".$e->getMessage();
    }
    $info = "La photo et le commentaire a était inscrit au serveur ! <a href=\"/sites/site7.php\">Aller voir !<a/>";
 
    }else{
    $erreur = "La photo et le commentaire n'ont pas était envoyer !";
    }
 
?>

   <html>
   <head>
   <title>TUTO PHP</title>
   <meta charset="utf-8">
   <link href="style.css" type="text/css" rel="stylesheet" media="screen" />
   </head>
   <body>
   <br /> <br />
   <div align="center">
   <form action="envoie.php" method="post" enctype="multipart/form-data">
   <table>
    <tr>
     <td>
      <p>La taille maximum de la photo doit être de 20 MO !</p>
     </td>
    </tr>
    <br />
    <tr>
     <td>
      <label for="fichier">Votre photo :</label>
      
     </td>
     <br />
     <td>
      <input type="file" name="fichier" id="fichier" /><br />
     </td>
    </tr>
    <br />
    <br />
    <br />
    <tr>
     <td>
      <label for="legende">Commentaire sous la photo :</label><br /><br />
     </td>
     <td>
      <textarea name="legende" id="legende" rows="10" cols="40">Saisir un texte ici.</textarea>
     </td>
    </tr>
    <tr>
     <td>
      <input type="submit" name="envoie" value="Envoyer le fichier" />
     </td>
    </tr>
   </table>
   </form>
   <br />
   <br />
   <br />
   <div align="center">
    <form method="POST" action="index.php?id=<?php echo $_SESSION['id']; ?>">
    <input type="submit" value="Retour" />
    </form>
   </div>
   </div>
   </body>
   </html>
<?php
  }
 }
 else{
?>
<p><font color="red">Vous n'êtes pas administrateur !</font></p>
<?php
 }
?>



Une partie du code de ma page qui serre a afficher les photos et le texte associer.

<div id="centre_page">
   <!-- Ceci sont les photos -->
    <table>
     <form method="POST" action="" enctype="multipart/form-data">
      <tr>
      <td align="center">
      
      <?php
       $reponse = $bdd->query('SELECT * FROM photo LIMIT 1,5');

 
       // On affiche chaque entrée une à une

       while ($donnees = $reponse->fetch())

      {
   
      ?>
       <p><img src="upload/<?php echo $donnees['adresse']; ?>" height="800" width="700 alt="" title="" /></p>
       <br />
       <p class="presentation"><?php echo $donnees['text']; ?></p>
      <?php   
      }
      ?>
     </form>
    </table>
   
   </div>



Merci d'avance de votre aide.

1 réponse

  1. flo39400 Messages postés 659 Statut Membre 21
     
    Donc j'ai trouvé comment faire voila la solution:

    envoie.php
    <?php
    //Demarrage des sessions
    session_start();
    
    //connexion à la BDD (on inclus le fichier)
    require_once "cnxBDD.php";
    
    if(isset($_SESSION['id']))
    	{
    		if($_SESSION['statut'] == "3")
    		{
    			
    
    			//Récupération 'propre' des varialbes
    			$legende = isset($_POST['legende']) ? $_POST['legende'] : '';
    			$s_msg = !empty($_SESSION['message']) ? $_SESSION['message'] : '';
    			$files = !empty($_FILES['fichier']) ? $_FILES['fichier'] : NULL;
    			$format = isset($_POST['format']) ? $_POST['format'] : '';
    			
    
    			//traitement du formulaire
    			if(isset($_POST['envoie'])) {
    
    			$tmpName = $files['tmp_name'];
    			$fileName = $files['name'];
     
    			if(!move_uploaded_file($tmpName, 'upload/'.$fileName)){
    			echo "<br>Move error ! " . $tmpName . "-->".'upload/'.$fileName;
    			}else{
    			$info = $fileName. " Importé avec avec succès";
    			}
    			echo '<br /><font color="blue">'.$info."</font><br />";
     
    				$sql = "INSERT INTO photo(adresse, text, format) VALUES(:adresse, :text, :format)";
    				$datas = array(':adresse'=>$fileName ,':text'=> $legende, ':format'=> $format);
    			try{
    				$insertmbr = $bdd->prepare($sql);
    				$insertmbr->execute($datas);
    				}catch(Exception $e){
    				echo "Erreur ! ".$e->getMessage();
    				}
    				
     
    				}else{
    				$erreur = "La photo et le commentaire n'ont pas était envoyer !";
    				}
    	
    ?>
    
    			<html>
    			<head>
    			<title>TUTO PHP</title>
    			<meta charset="utf-8">
    			<link href="style.css" type="text/css" rel="stylesheet" media="screen" />
    			</head>
    			<body>
    			<br /> <br />
    			
    			<form action="envoie.php" method="post" enctype="multipart/form-data">
    			<div class="envoiephoto">
    			<table>
    				<tr>
    					<td>
    						<p>La taille maximum de la photo doit être de 20 MO !</p>
    					</td>
    				</tr>
    				<tr><td></td></tr>
    				<tr>
    					<td>
    						<label for="fichier">Votre photo :</label>
    						<input type="file" name="fichier" id="fichier" /><br />
    					</td>
    				</tr>
    			</table>
    			</div>
    			<div class="formatphoto">
    			<table>
    				<tr>
    					<td>
    						<p>Format de la photo :</p>
    					</td>
    				</tr>
    				<tr>
    						<td>
    							<label for="portrait">Portrait :</label>
    							<input type="radio" name="format" id="portrait" value="height='800' width='700'" />
    							<label for="paysage">Paysage :</label>
    							<input type="radio" name="format" id="paysage" value="height='550' width='700'" />
    						</td>
    					</tr>
    			</table>
    			</div>
    			<div class="legende">
    			<table>
    				<tr>
    					<td>
    						<label for="legende">Commentaire sous la photo :</label><br /><br />
    					</td>
    				</tr>
    					
    				<tr>		
    					<td>
    						<textarea name="legende" id="legende" rows="10" cols="40">Saisir un texte ici.</textarea>
    					</td>
    				</tr>
    				<tr>
    					<td>
    						<input type="submit" name="envoie" value="Envoyer le fichier" />
    					</td>
    				</tr>
    			</table>
    			</form>
    			</div>
    			<br />
    			<br />
    			<br />
    			<div class="retour">
    			<table>
    				<tr>
    					<td>
    						<form method="POST" action="index.php?id=<?php echo $_SESSION['id']; ?>">
    						<input type="submit" value="Retour" />
    						</form>
    					</td>
    				</tr>
    				
    			</table>
    			</div>
    			
    			</body>
    			</html>
    <?php
    		}
    	}
    	else{
    ?>
    <p><font color="red">Vous n'êtes pas administrateur !</font></p>
    <?php
    	}
    ?>
    
    
    


    La partie du code qui sert a afficher les images:

    
    <div id="centre_page">
    			<!-- Ceci sont les photos -->
    				<table>
    					<form method="POST" action="" enctype="multipart/form-data">
    						<tr>
    						<td align="center">
    						
    						<?php
    							$reponse = $bdd->query('SELECT * FROM photo LIMIT 0,5');
    
    	
    							// On affiche chaque entrée une à une
    
    							while ($donnees = $reponse->fetch())
    
    						{
       
    						?>
    							<p><img src="upload/<?php echo $donnees['adresse']; ?>" <?php echo $donnees['format']; ?> /></p>
    							<br />
    							<p class="presentation"><?php echo $donnees['text']; ?></p>
    							
    						<?php   
    						}
    						?>
    					</form>
    					
    				</table>
    			
    			</div>
    
    


    Voila qui est résolue grâce au travail.
    0