Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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 03/12/2007, 12h38   #1
Membre à l'essai
 
Inscription : décembre 2006
Messages : 95
Détails du profil
Informations personnelles :
Âge : 37

Informations forums :
Inscription : décembre 2006
Messages : 95
Points : 21
Points : 21
Par défaut [Upload] Uploader photo et données en même temps

Bonjour à tous,

J'ai utilisé Php Upload de Sephirot... ce comportement de serveur m'écrit une partie du code dont j'ai besoin... Je peux ainsi uploader une photo sur un serveur...
Mais j'aimerais ajouter d'autres données liées à cette photo, dans la même table... Tout à l'air de se passer parfaitement, aucun message d'erreur, mais pourtant, au final, rien ne s'est inséré dans ma table...

je suis un peu perdu, j'imagine que ma faute est grosse comme une maison, mais là, j'ai le nez dedans et je ne vois pas... Si une bonne âme pouvait m'aider...

voici mon code

ps: merci d'avance...

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
<?php require_once('Connections/connexionsite2008.php'); ?>
<?php
$theme='themetest';
//	---------------------------------------------
//	Pure PHP Upload version 1.1
//	-------------------------------------------
if (phpversion() > "4.0.6") {
	$HTTP_POST_FILES = &$_FILES;
}
define("MAX_SIZE",300000);
define("DESTINATION_FOLDER", "./Pictures/");
define("no_error", "succes.php");
define("yes_error", "error.php");
$_accepted_extensions_ = "gif,jpeg,jpg";
if(strlen($_accepted_extensions_) > 0){
	$_accepted_extensions_ = @explode(",",$_accepted_extensions_);
} else {
	$_accepted_extensions_ = array();
}
/*	modify */
if(!empty($HTTP_POST_FILES['Photo'])){
	if(is_uploaded_file($HTTP_POST_FILES['Photo']['tmp_name']) && $HTTP_POST_FILES['Photo']['error'] == 0){
		$_file_ = $HTTP_POST_FILES['Photo'];
		$errStr = "";
		$resume = $_POST['ResumePhoto'];
		$numpho = $_POST['NumPhoto'];
		$titrep	= $_POST['TitrePhoto'];
		$themep = $_POST['ThemePhoto'];
		$datein = $_POST['DateInsert'];
		$userin = $_POST['UserInsert']; 
		$_name_ = $_file_['name'];
		$_type_ = $_file_['type'];
		$_tmp_name_ = $_file_['tmp_name'];
		$_size_ = $_file_['size'];
		if($_size_ > MAX_SIZE && MAX_SIZE > 0){
			$errStr = "Fichier trop lourd";
		}
		$_ext_ = explode(".", $_name_);
		$_ext_ = strtolower($_ext_[count($_ext_)-1]);
		if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
			$errStr = "Extension non valide";
		}
		if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
			$errStr = "Repertoire de destination non valide";
		}
		if(empty($errStr)){
			if(@move_uploaded_file($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)) 
{header("Location: " . no_error); 
//enregistrement dans la base de l'édito  
mysql_select_db($database_Site2008, $Site2008); 
$insertEdito = "INSERT INTO photo (ResumePhoto, Photo, NumPhoto, TitrePhoto, ThemePhoto, DateInsert, UserInsert )  
VALUES ('$resume', '$_name_', '$numpho', '$titrep', '$themep', '$datein', '$userin')"; 
mysql_query($insertEdito, $Site2008) or die(mysql_error()); 
} else { 
header("Location: " . yes_error); 
} 
} else { 
header("Location: " . yes_error); 
} 
}
 
}
?>
<head>
<title>ma page</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data" name="Saisie" id="Saisie">
  <table width="100%" border="0" cellspacing="0" cellpadding="5">
    <tr>
      <td>Theme </td>
      <td><label>
        <input type="text" name="ThemePhoto" id="ThemePhoto" />
      </label></td>
    </tr>
    <tr>
      <td>Titre de la photo</td>
      <td><label>
        <input type="text" name="TitrePhoto" id="TitrePhoto" />
      </label></td>
    </tr>
    <tr>
      <td>Resume</td>
      <td><label>
        <textarea name="ResumePhoto" cols="40" rows="4" id="ResumePhoto"></textarea>
      </label></td>
    </tr>
    <tr>
      <td>Numéro</td>
      <td><label>
        <input type="text" name="NumPhoto" id="NumPhoto" />
      </label></td>
    </tr>
    <tr>
      <td>Chemin de la photo</td>
      <td><label>
        <input type="file" name="Photo" id="Photo" />
      </label></td>
    </tr>
    <tr>
      <td>Date d'insertion</td>
      <td><input type="hidden" name="DateInsert" id="DateInsert" value="<?php echo date('Y-m-d H:i:s'); ?>" /><?php echo date('Y-m-d H:i:s'); ?></td>
    </tr>
    <tr>
      <td>Login de l'utilisateur</td>
      <td><input type="hidden" name="UserInsert" id="UserInsert" value="Moi" /></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><label>
        <input type="submit" name="button" id="button" value="Envoyer" />
      </label></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
  </table>
</form>
</body>
</html>
godjojo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2007, 13h36   #2
Membre chevronné
 
Avatar de cadoudal56
 
Inscription : février 2005
Messages : 671
Détails du profil
Informations personnelles :
Âge : 40

Informations forums :
Inscription : février 2005
Messages : 671
Points : 646
Points : 646
Hello,

Il faut que tu apprennes a debugguer en arretant ton script....

Quand tu ecris dans ton script :
Le script s'arrete a l'endroit indiqué.
Si tu ecris :
Ta variable va s'afficher à l'ecran
Et si tu ecris :
Code :
1
2
 
echo print_r($myarray);
Le contenu de ton tableau va s'afficher.

Donc ce que je suggeres pour commencer, ce serait de voir ce qu'il y a dans ta requete SQL.
Donc ecris ceci :
Code :
1
2
3
4
5
6
 
$insertEdito = "INSERT INTO photo (ResumePhoto, Photo, NumPhoto, TitrePhoto, ThemePhoto, DateInsert, UserInsert )  
VALUES ('$resume', '$_name_', '$numpho', '$titrep', '$themep', '$datein', '$userin')"; 
 
echo "Ma requete SQL : ".$insertEdito."<br>";
exit;
Ensuite tu rafraichi la page et normalement tu va voir ce qu'il y a vraiment dans ta requete.... Cela te donnera pas mal d'élément sur ce qui peux poser probleme

@+
cadou
__________________
PHP Competition System
Script de gestion de coupes et championnats
http://phpcompet.free.fr

Mon jeu de foot
cadoudal56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2007, 15h44   #3
Membre à l'essai
 
Inscription : décembre 2006
Messages : 95
Détails du profil
Informations personnelles :
Âge : 37

Informations forums :
Inscription : décembre 2006
Messages : 95
Points : 21
Points : 21
Merci de ton aide

je viens de suivre tes conseils, mais lorsque j'envoyais le formulaire, il me renvoyait sur la page succes.php. Apparement, la photo était bien uploadée dans le repertoire, et cela suffisait à me renvoyer sur la page succes.
vu que cela ne fonctionnait pas, je me suis douté que la script n'arrivait pas jusque la... j'ai donc viré la ligne
Code :
{header("Location: " . no_error);
située ici
Code :
1
2
3
4
5
6
7
8
9
$_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)) 
{header("Location: " . no_error); 
//enregistrement dans la base de l'édito 
mysql_select_db($database_Utradream, $Utradream); 
$insertEdito = "INSERT INTO edito (resume, photo )  
VALUES ('$resume', '$_name_')"; 
mysql_query($insertEdito, $Utradream) 
 or die(mysql_error()); 
    } else {
et la, grace à ta méthode, ma requête s'est affichée... tout avait l'air de fonctionner d'ailleurs, hormis le fait que je nommais mal ma connexion à ma db...
Bref, cela fonctionne maintenant... Un grand merci à toi...
Je débute et c'est vraiment plaisant de trouver une épaule sur laquelle prendre appui de temps en temps...
encore merci et à bientot...
godjojo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h05.


 
 
 
 
Partenaires

Hébergement Web