IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Gestion images


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Points : 114
    Points
    114
    Par défaut Gestion images
    Bonjour,

    Alors là je rame trop, je souhaiterais faire une gestion de liste de jeux. C'est à dire par un formulaire d'ajout du titre du genre, une petite description, une note et surtout l'upload d'une photo, mais je crois que je me suis compliqué la tâche et je suis paumé

    Mon formulaire:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <form method="POST" action="./fonctions/fonc_ajout_jeu.php" enctype="multipart/form-data"> 
    	<table>	
    		<tr>
    		        <td><!-- On limite le fichier à 100Ko -->			      <input type="hidden" name="MAX_FILE_SIZE" value="100000"> 
    	                      Nom de la photo : <input type="text" name="nomphoto">
    			</td>
    		</tr>
    		<tr>
    			<td><!-- On limite le fichier à 100Ko -->
    			      <input type="hidden" name="MAX_FILE_SIZE" value="100000"> 
    			      Titre du jeu : <input type="text" name="titre">
    			</td>
    		</tr>
    		<tr>
    		        <td><!-- On limite le fichier à 100Ko -->
    			      <input type="hidden" name="MAX_FILE_SIZE" value="100000"> 
    			      Genre du jeu : <input type="text" name="genre">
    			</td>
    		</tr>
    		<tr>
    			<td><!-- On limite le fichier à 100Ko -->
    			      <input type="hidden" name="MAX_FILE_SIZE" value="100000"> 
    			      Description du jeu : <input type="text" name="description">
    			</td>
    		</tr> 
    		<tr>
    			<td><!-- On limite le fichier à 100Ko -->
    			      <input type="hidden" name="MAX_FILE_SIZE" value="100000"> 
    			      Configuration du jeu : <input type="text" name="configuration">
    			</td>
    		</tr>
    		<tr>
    			<td><!-- On limite le fichier à 100Ko -->
    			      <input type="hidden" name="MAX_FILE_SIZE" value="100000"> 
    			      Note du jeu : <input type="text" name="note">
    			</td>
    		</tr>
    		<tr>
    			<td></td>
    			<td><input type="submit" name="envoyer" value="Envoyer le fichier"></td> 
    		</tr>
    	</table>
    </form>

    Mon script d'insertion des données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <?PHP  
    	require ("../connect.php");
    	mysql_connect (SERVEUR, NOM, PASSE) or die(mysql_error);
    	mysql_select_db (BASE) or die(mysql_error);
     
    	$nomphoto = addslashes($_POST['nomphoto']);
    	$titre = addslashes($_POST['titre']);
    	$genre = addslashes($_POST['genre']);
    	$desc = addslashes($_POST['description']); 
    	$conf = addslashes($_POST['configuration']); 
    	$note = addslashes($_POST['note']);
     
    	$requete = "INSERT INTO jeux VALUES (null, '".$titre."', '".$genre."', '".$desc."', '".$conf."', '".$note."');";
    	$res = @mysql_query ($requete);
     
    	$req = "INSERT INTO photo VALUES (null, '".$nomphoto."', '');";	
    	$resreq = @mysql_query ($req);
     
    	if (!$res && !$resreq)
    	       {
    	           echo '<P align=center><FONT face="Comic Sans MS" size="3" color=#000000>Ajout film</FONT><BR>'
    			  . '<P align=center><FONT face="Comic Sans MS" size="3" color=#000000>Impossible d\'exécuter la requête :</FONT> ' . mysql_error();
    	           exit;
    	      }
    	else
    	      {
    		   echo '<P align=center><FONT face="Comic Sans MS" size="3" color=#000000>Ajout réussi<BR><BR><A HREF="../films.php">Liste</A></FONT>'
    			. '<form method="POST" action="fonc_upload_jeu.php" enctype="multipart/form-data">' 
    			. '<table>'
    												. '<tr>'
    													. '<td><!-- On limite le fichier à 100Ko -->'
    							     						  . '<input type="hidden" name="MAX_FILE_SIZE" value="100000">' 
    							     						  . 'Photo : <input type="file" name="photo">'
    													. '</td>'
    													. '<td><input type="submit" name="envoyer" value="Envoyer le fichier"></td>' 
    												. '</tr>'
    												. '<tr>'
    													. '<td><!-- On limite le fichier à 100Ko -->'
    										 				  . '<input type="hidden" name="MAX_FILE_SIZE" value="100000">' 
    										 				  . 'Screen : <input type="file" name="screen">'
    													. '</td>'
    													. '<td><input type="submit" name="envoyer" value="Envoyer le fichier"></td>' 
    												. '</tr>'
    										. '</table>'
    									. '</form>';				
    		   					}
    	   			 ?>
    Mon script d'upload
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    <?PHP  
    	require ("../connect.php");
    	mysql_connect (SERVEUR, NOM, PASSE) or die(mysql_error);
    	mysql_select_db (BASE) or die(mysql_error);
     
    	$dossier = '../upload/';
    	$fichier = basename($_FILES['photo']['name']);
    	$taille_maxi = 100000;
    	$taille = filesize($_FILES['photo']['tmp_name']);
    	$extensions = array('.png', '.gif', '.jpg', '.jpeg');
    	$extension = strrchr($_FILES['photo']['name'], '.'); 
    	//Début des vérifications de sécurité...
    	if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    		{
    		      $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
    		}
    	if($taille>$taille_maxi)
    		{
    		      $erreur = 'Le fichier est trop gros...';
    		}
    	if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    		{
    			 //On formate le nom du fichier ici...
    			$fichier = strtr($fichier, 
    		    'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
    		   'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    		   $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    		   if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
    			{
    				echo 'Upload effectué avec succès !';
    			}
    		else //Sinon (la fonction renvoie FALSE).
    			{
    				echo 'Echec de l\'upload !';
    			}
    		}
    	else
    		{
    			echo $erreur;
    		}
     
    		$fichier = basename($_FILES['screen']['name']);
    		$taille_maxi = 100000;
    		$taille = filesize($_FILES['screen']['tmp_name']);
    		$extensions = array('.png', '.gif', '.jpg', '.jpeg');
    		$extension = strrchr($_FILES['screen']['name'], '.'); 
    		//Début des vérifications de sécurité...
    		if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    			{
    			       $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
    			}
    		if($taille>$taille_maxi)
    			{
    				$erreur = 'Le fichier est trop gros...';
    			}
    		if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    			{
    				//On formate le nom du fichier ici...
    				$fichier = strtr($fichier, 
    		'ÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
    		'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    				$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    		if(move_uploaded_file($_FILES['screen']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
    			{
    			       echo 'Upload effectué avec succès !';
    			}
    		else //Sinon (la fonction renvoie FALSE).
    			{
    				echo 'Echec de l\'upload !';
    	                }
    		}
    	else
    		{
    			echo $erreur;
    		}
    ?>
    Quelqu'un peut m'aider à trouver une solution fonctionnelle et moins brouillon parce que là et si quelqu'un a une idée en ce qui concerne la base, moi j'ai une table "jeux" et une table "photo" mais je ne suis pas certain que ce soit la meilleure solution

    SVPPPPPPPPPPPPPPPPPPPPPP

    Merci d'avance...

  2. #2
    NoT
    NoT est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Points : 280
    Points
    280
    Par défaut
    Pour les tables ça me semble correct de faire comme ça.
    Qu'est-ce qui ne va pas dans ton script ?

  3. #3
    Membre régulier Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Points : 114
    Points
    114
    Par défaut
    Citation Envoyé par NoT
    Pour les tables ça me semble correct de faire comme ça.
    Qu'est-ce qui ne va pas dans ton script ?
    Ben le problème c'est que je n'arrive pas à m'etre mes deux formulaires sur la meme page. Je m'explique, sur mon formulaire, je rempli les champs, j'exécute, ça crée dans ma base un nouveau jeu. Ensuite, ça me propose d'uploader les images. Alors que moi j'aimerais avoir un seul formulaire sur la meme page demandant de remplir les infos du jeu et en plus, d'uploader les images. De plus, je trouve que ce serait moins fastidieux de n'avoir qu'un script pour exécuter les données du formulaire, mais est-ce possible svp ?

    Merci d'avance...

  4. #4
    NoT
    NoT est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Points : 280
    Points
    280
    Par défaut
    Ui c'est possible, suffit d'imbriquer correctement tes conditions et d'avoir une variable qui te permettent de savoir si tu as validé ton formulaire ou non ( en général on passe par un champs hidden sur le formulaire ) après ya plusieurs façons de faire, à toi de trouver la tienne

  5. #5
    Membre régulier Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Points : 114
    Points
    114
    Par défaut
    Citation Envoyé par NoT
    Ui c'est possible, suffit d'imbriquer correctement tes conditions et d'avoir une variable qui te permettent de savoir si tu as validé ton formulaire ou non ( en général on passe par un champs hidden sur le formulaire ) après ya plusieurs façons de faire, à toi de trouver la tienne
    Oki merci pour tes réponses, j'ai changé mon code

    Le formulaire:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <form method="POST" action="./fonctions/fonc_ajout_jeu.php" enctype="multipart/form-data"> 
    	<table>	
    		<tr>
    			<td align="left">Titre du jeu :</td>
    			<td align="left"><input type="text" name="titre"></td>
    		</tr>
    		<tr>
    			<td align="left">Genre du jeu :</td>
    			<td align="left"><input type="text" name="genre"></td>
    		</tr>
    		<tr>
    			<td align="left">Description du jeu :</td>
    			<td align="left"><input type="text" name="description"></td>
    		</tr>
    		<tr>
    			<td align="left">Configuration du jeu :</td>
    			<td align="left"><input type="text" name="configuration"></td>
    		</tr> 
    		<tr>
    			<td align="left">Photo du jeu :</td>
    			<td align="left"><input type="file" name="photo"></td>
    		</tr>
    		<tr>
    			<td align="left">Image du jeu :</td>
    			<td align="left"><input type="file" name="image"></td>
    		</tr>  
    		<tr>
    			<td align="left">Note du jeu :</td>
    			<td align="left"><input type="text" name="titre"></td>
    		</tr>
    		<tr>
    			<td align="left"></td>
    			<td algn="left"><input type="submit" name="ajout" value="Ajouter"></td>
    	</table>
    </form>

    Le script d'ajout et d'upload:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
    require ("../connect.php");
    mysql_connect (SERVEUR, NOM, PASSE) or die(mysql_error);
    mysql_select_db (BASE) or die(mysql_error);
     
    //$nomphoto = addslashes($_POST['nomphoto']);
    //$titre = addslashes($_POST['titre']);
    //$genre = addslashes($_POST['genre']);
    //$desc = addslashes($_POST['description']); 
    //$conf = addslashes($_POST['configuration']); 
    //$note = addslashes($_POST['note']);	
     
    if( isset($_POST['ajout']) ) // si formulaire soumis 
         {
    	$dossier = '../upload/';
    	$fichier = basename($_FILES['photo']['name']);
    	$taille_maxi = 100000;
    	$taille = filesize($_FILES['photo']['tmp_name']);
    	$extensions = array('.png', '.gif', '.jpg', '.jpeg');
    	$extension = strrchr($_FILES['photo']['name'], '.'); 
    	//Début des vérifications de sécurité...
    	if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    		{
    			$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
    		}
    	if($taille>$taille_maxi)
    		{
    			$erreur = 'Le fichier est trop gros...';
    		}
    	if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    		{
    			//On formate le nom du fichier ici...
    			$fichier = strtr($fichier, 
    		    'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
    		   'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    			$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    			if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
    				{	
    					echo 'Upload de la photo réussi';
    					$dossier = '../upload/';
    					$fichier = basename($_FILES['image']['name']);
    					$taille_maxi = 100000;
    					$taille = filesize($_FILES['image']['tmp_name']);
    					$extensions = array('.png', '.gif', '.jpg', '.jpeg');
    					$extension = strrchr($_FILES['image']['name'], '.'); 
    					//Début des vérifications de sécurité...
    					if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    						{
    							$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
    						}
    						        if($taille>$taille_maxi)
    								{
    									$erreur = 'Le fichier est trop gros...';
    								}
    							if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    								{
    									//On formate le nom du fichier ici...
    									$fichier = strtr($fichier, 
    		    'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
    		   'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    						                        $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    			                                                 if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
    												     {
    													 	  echo 'Upload de l\image réussi';
    												     }
    												     else //Sinon (la fonction renvoie FALSE).
    												     {
    												          echo 'Echec de l\'upload !';
    												     }
    												} 
    											else
    												{
    												     echo $erreur;
    												} 
    									}
    							}
    Je n'ai pas intégré le code pour l'insertion des données parce que j'ai déjà du mal avec ça donc bon lol

    J'obtiens ce message d'erreur:
    Parse error: parse error, unexpected $end in c:\program files\easyphp1-7\www\test films+jeux+mangas\fonctions\fonc_ajout_jeu.php on line 120
    Et je ne trouve pas l'erreur, de plus s'il y a des critiques constructives sur le script je suis preneur svp

    Merci d'avance...

  6. #6
    Membre régulier Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Points : 114
    Points
    114
    Par défaut
    Est-ce possible de récupérer tous les noms de fichiers contenus dans un dossier "images" sur le serveur d'une manière simple sans fioriture svp ?

    Merci d'avance...

  7. #7
    Membre régulier Avatar de zamanika
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 106
    Points : 102
    Points
    102
    Par défaut
    Pour récupèrer les noms de fichiers dans un repertoire, regarde du coté des fonctions :

    opendir();readdir();closedir();

Discussions similaires

  1. [débutant] Gestion images pour un jeu
    Par superpigeon dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 17/11/2006, 15h05
  2. Quel langage pour logiciel gui/gestion image ?
    Par Invité(e) dans le forum Langages de programmation
    Réponses: 12
    Dernier message: 18/10/2006, 10h38
  3. gestion images
    Par lynyrd dans le forum Access
    Réponses: 2
    Dernier message: 01/03/2006, 13h23
  4. [état] gestion images
    Par OliveT1 dans le forum IHM
    Réponses: 19
    Dernier message: 03/01/2006, 21h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo