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 :

uploade des images avec php et uploadify


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Intégrateur Web
    Inscrit en
    Août 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Août 2011
    Messages : 15
    Points : 14
    Points
    14
    Par défaut uploade des images avec php et uploadify
    Bonjour ,

    j'ai créer un script qui fait l'enregistrement des images dans un dossier et au même temps enregistrer leurs noms sur la BDD.

    le problème c'est que les noms des imgs n'enregistrer pas dans ma BDD, et je n’arrive pas a résoudre ce problème.

    voila le script php de formulaire d'ajout
    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
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
     
    <?php session_start(); 
    //include('uploadify.php');
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>formulaire</title>
    <style type="text/css" rel="stylesheet">
    .formulaire{
    	border:2px solid #C1E1FF;
    	border-radius:5px;
    	padding:20px;
    	margin:0 auto; 
    	width:400px;
    	height:auto;
    	position:relative;}
    .up{
    	position: absolute;
        right: 2px;
        top: 165px;
    	}
    .formulaire .zone{
    	position:absolute;
    	right:20px;
    	width: 210px;}
    h2{ 
    	color:#999;
    	margin:0 auto;
    	width:400px;
    	height:auto;
    	text-align:center;
    	padding:20px 0;
    	}
    </style>
     
    <link href="css/uploadify.css" type="text/css" rel="stylesheet" />
      <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
      <script type="text/javascript" src="js/swfobject.js"></script>
      <script type="text/javascript" src="js/jquery.uploadify.v2.1.4.min.js"></script>
      <script type="text/javascript">
      $(document).ready(function() {
    	$('#file_upload').uploadify({
    		  'uploader'  : 'js/uploadify.swf',
    		  'script'    : 'uploadify.php',
    		  'cancelImg' : 'js/cancel.png',
    		  'folder'    : 'img/',
    		  'auto' : true, //us for auto upload
    		  'multi' : true,
    		  'fileExt' : '*.jpg;*.gif;*.png',
    		  'fileDesc' : 'Image Files (.JPG, .GIF, .PNG)',
    		  'onSelectOnce' : function(event,data) {
    		  alert(data.filesSelected + ' files have been added to the queue.');
    		  },
    		  'onAllComplete' : function(event, ID, fileObj, response, data) {
    		  //alert(data.filesUploaded + ' files uploaded, ' + data.errors + ' errors.');
    		  //alert("Filename: " + fileObj.name + "\nSize: " + fileObj.size + "\nFilepath: " + fileObj.filePath);
     
    		  $.post("formulaire.php", { name: fileObj.name }, function(info) {
    			alert(info); //alert uploaded file name
    		  });
     
    		  }  
    	});
      });
      </script>
    </head>
     
    <body>
    <?php
     
    if(isset($_POST['submit']))
    {
    		if( !empty($_POST['title'])&&!empty($_POST['date_debut'])
    		&&!empty($_POST['date_fin'])&&!empty($_POST['lien'])&&!empty($_POST['style'])
                &&!empty($_POST['free_text'])&&!empty($_POST['par_defaut']))
    		{
    			//connection au BDD
    			$connect=mysql_connect('localhost','root','');
    			mysql_select_db('images_pub');
    			//end connection au BDD
     
    			$title=$_POST['title'];
    			$date_debut=$_POST['date_debut'];
    			$date_fin=$_POST['date_fin'];
    			$lien=$_POST['lien'];
    			$fichier=$_SESSION['img'];
    			$style=$_POST['style'];
    			$free_text=$_POST['free_text'];
    			$par_defaut=$_POST['par_defaut'];
    			//$path='img/".$fichier"';
    			//$fichier = basename($_FILES['fichier']['name']);
    			$inserted_id=mysql_insert_id($connect);
    			//requette d'insertion des données aux champs
    			$query = mysql_query("INSERT INTO images VALUES('".$title."','".$date_debut."','".$date_fin."','".$lien."',
    			'".$fichier."','".$style."','".$free_text."','".$par_defaut."','') ")
                or die ("erreur sql  0" . mysql_error());
    			if($inserted_id>0)
    			{ 
    				echo "Uploaded files: ".$fichier;
    			}
    			echo'Les informations sont transmaitre avec succes';
    		}else
    		{
    			echo'veuillez remplir tous les champs';
    		}
    }
     
     
     
    ?>
    <h2>Formulaire D'ajout</h2>
    <form action="" method="post" name="frm" class="formulaire" enctype="multipart/form-data">
     
    Titre de l'image:<input class="zone" type="text" name="title" 
    				 value="<?php if(isset($_POST['title'])){echo $_POST['title'];} ?>" /><br /><br />
     
    Date de debut d'affichage: <input class="zone" type="date" name="date_debut" 
    					value="<?php if(isset($_POST['date_debut'])){echo $_POST['date_debut'];} ?>"/><br /><br />
     
     
    Date de fin d'affichierage: <input class="zone" type="date" name="date_fin" 
    						value="<?php if(isset($_POST['date_fin'])){echo $_POST['date_fin'];} ?>"/><br /><br />
     
     
    Ajoutez une image: 	<!-- bien vérifier que c'est le bon fichierier -->
    					<input class="zone" type="file" name="fichier" id="file_upload"
    					value="<?php if(isset($_POST['fichier'])){echo $_POST['fichier'];} ?>">
    					<a href="javascript:$("#file_upload").uploadifyupload();">Uploader les fichiers</a><br />
    					<!--<input class="up" type="submit" value="Uploader" name="upload"><br /><br />-->
     
    Lien: <input class="zone" type="text" name="lien" 
    			value="<?php if(isset($_POST['lien'])){echo $_POST['lien'];} ?>"/><br /><br />					
     
    Style: <input class="zone" type="text" name="style" 
    			value="<?php if(isset($_POST['style'])){echo $_POST['style'];} ?>"/><br /><br />
     
    Free text: <input class="zone" type="text" name="free_text" 
    			value="<?php if(isset($_POST['free_text'])){echo $_POST['free_text'];} ?>"/><br /><br />
     
    Par defaut: <select name="par_defaut" class="zone">
                    <option value="oui">Oui</option>
                    <option value="non" selected="selected">Non</option>
                </select><br /><br />
     
    <input type="submit" name="submit" value="Envoyer" />
    </form>
    </body>
    </html>
    j'ai utilise un script pour uploader les imgs nommé Uploadify voila le code

    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
     
    <?php
     
    session_start();
     
    	if (!empty($_FILES)) {
     
    		$tempFile = $_FILES['Filedata']['tmp_name'];
    		$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
    		$targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
    		move_uploaded_file ($tempFile, $targetFile);
     
    		$_SESSION["img"] .= $_FILES['Filedata']['name']."-";
     
    	}
     
    ?>
    Cordialement.

  2. #2
    Membre éprouvé Avatar de Marc3001
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2008
    Messages
    829
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2008
    Messages : 829
    Points : 1 275
    Points
    1 275
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $query = mysql_query("INSERT INTO images VALUES('".$title."','".$date_debut."','".$date_fin."','".$lien."',
    			'".$fichier."','".$style."','".$free_text."','".$par_defaut."','') ")
                or die ("erreur sql  0" . mysql_error());
    Le die il affiche une erreur ?

    Dans ta table images, tu as des enregistrements ?

    A ta place j'ajouterais les noms des colonnes dans la requete INSERT comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO MaTable (colonne1,colonne2) VALUES (Value1,Value2);

  3. #3
    Membre confirmé
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Points : 498
    Points
    498
    Par défaut
    Bonjour,

    Pourquoi ne pas mettre ta requête dans la fenêtre uploadify.php ? Comme ça si vraiment l'image est sauvegardé ça enregistre en même temps. Plus besoin de refaire de l'ajax qui au final ne sert pas à grand chose.

    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
     
    <?php
     
    session_start();
     
    	if (!empty($_FILES)) {
     
    		$tempFile = $_FILES['Filedata']['tmp_name'];
    		$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
    		$targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
    		move_uploaded_file ($tempFile, $targetFile);
     
    		$_SESSION["img"] .= $_FILES['Filedata']['name']."-";
                    $query = mysql_query("INSERT INTO images VALUES('".$title."','".$date_debut."','".$date_fin."','".$lien."',
    			'".$fichier."','".$style."','".$free_text."','".$par_defaut."','') ")
    	}
    ?>
    ça donnera un truc dans ce genre là, bien sur n'oublie pas d'ajouter les paramètre de connexion à la BdD.

Discussions similaires

  1. upload des fichier avec php
    Par xuraville dans le forum Langage
    Réponses: 2
    Dernier message: 02/02/2015, 15h42
  2. [MySQL] Gestion des images avec PHP et MySQL
    Par helio500 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/06/2013, 09h39
  3. [Web Service] Peut-on créer des dossiers et y uploader des images avec un webservice ?
    Par andrianiaina dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 11/08/2011, 15h01
  4. [Upload] Upload d'image avec PHP !
    Par King_T dans le forum Langage
    Réponses: 2
    Dernier message: 15/04/2008, 02h21
  5. [MySQL] Affichage des images avec PHP
    Par dasou dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 06/02/2007, 19h44

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