Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2011, 11h59   #1
Invité de passage
 
Intégrateur Web
Inscription : août 2011
Messages : 14
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 : 14
Points : 2
Points : 2
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 :
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 :
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.
saibri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 15h18   #2
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
Code :
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 :
INSERT INTO MaTable (colonne1,colonne2) VALUES (Value1,Value2);
__________________
Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

Linus Torvalds
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 17h41   #3
Membre éclairé
 
Avatar de Nowwis
 
Homme
Développeur Web
Inscription : juin 2009
Messages : 363
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2009
Messages : 363
Points : 365
Points : 365
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 :
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.
Nowwis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h30.


 
 
 
 
Partenaires

Hébergement Web