Page 1 sur 1

Upload fichier

Posté : 13 oct. 2005, 11:10
par betman
Bonjour à tous,

Je souhaiterai insérer une fonction upload dans une page. J'ai suivi le tutorial que vous proposé mais pas mal de choses restes flous.

Faut-il créer de nouveaux champ dans la bdd ?
ai je bien inserer le script ^^

Voici le code du formulaires

Code : Tout sélectionner

<TD><form name="form1" method="post" action="ajout_anomalies.php" enctype="multipart/form-data"> <table width="650" border="0" cellpadding="0" cellspacing="0" class="texte_gras"> <tr valign="middle"> <td>Nom : <br> <input name="nom" type="texte" id="nom"> <br> <br></td> <td>&nbsp;</td> </tr> <tr valign="middle"> <td width="316">Type d'anomalie<br> <select name="anomalies" id="anomalies"> <option selected>cliquez ici</option> <option>Anomalies tarifaires</option> <option>Agent manquant</option> <option>Moto manquante</option> <option>Autre</option> </select> </td> <td width="334">Date :<br> <input type="texte" name="date"> (j/m/ann&eacute;e)</td> </tr> <tr valign="middle"> <td colspan="2"> <br> <br></td> </tr> <tr> <td colspan="2">Pr&eacute;cisez l'anomalie : </td> </tr> </table> <textarea name="desc_anom" cols="90" rows="8" wrap="VIRTUAL" id="desc_anom"></textarea> <br> <br> <table width="100%" border="0" cellpadding="0" cellspacing="3"> <tr valign="middle"> <td><img src="../../images/nature_fiche.gif" width="360" height="20"></td> </tr> <tr valign="middle"> <td height="1" bgcolor="f9c9c6"></td> </tr> </table> <table width="100%" border="0" cellspacing="5" cellpadding="5"> <tr class="texte"> <td><p>Pour une meilleure analyse, merci de joindre une copie &eacute;cran &agrave; l'envoi de l'anomalie : </td> </tr> <tr class="texte"> <td> <!-- Erreur ? --> <?php if(isset($erreur)){ echo '<p>', $erreur ,'</p>'; } ?> <!-- Formulaire --> <!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" --> <!-- Limiter la taille des fichiers à 500Ko --> <input type="hidden" name="MAX_FILE_SIZE" value="500000" /> <fieldset> <legend>Envoi de fichiers</legend> <!-- champs d'envoi de fichier, de type file --> <p><label for="photo">Photo :</label><input type="file" name="photo" /></p> <p><label for="photo_2">Photo 2 :</label><input type="file" name="photo_2" /></p> <!-- bouton d'envoi --> <p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p> </legend> </fieldset> </form>

et le code qui ajoute les infos à la bdd
<?

include('connection.inc.php');



$query = "INSERT INTO anomalies(id_anom,nom,date,anomalies,desc_anom) VALUES ('','".$_POST['nom']."','".$_POST['date']."','".$_POST['anomalies']."','".$_POST['desc_anom']."')"; 
$result = mysql_query($query) or die ('Erreur SQL !<br>'.mysql_error());

mysql_close();

header('location: anomalies2.php');
?>

si vous pouvez m'eclairer

Posté : 13 oct. 2005, 11:20
par mere-teresa
Il faut que les champs et la table existent dans la BDD, effectivement.
Et ces champs là : anomalies(id_anom,nom,date,anomalies,desc_anom)

Est-ce que ça ne fonctionne pas ? As-tu un message d'erreur ?

Mon conseil : tu mets pour le moment le header en commentaire et tu affiches ta requête pour la tester dans PHPMyAdmin ou Eskuel.
if(include('connection.inc.php'))
{/*on teste que le fichier soit là*/
$query = "INSERT INTO anomalies(id_anom,nom,date,anomalies,desc_anom) VALUES ('','".$_POST['nom']."','".$_POST['date']."','".$_POST['anomalies']."','".$_POST['desc_anom']."')";
$result = mysql_query($query) or die ('Erreur SQL !<br>'.mysql_error());
echo $query;
mysql_close();// est-ce indispensable ?
//mettre en commentaire
//header('location: anomalies2.php'); 
}
else
{/*pas de fichier inclus*/
echo "Pas de fichier connection.inc.php";
}


Posté : 13 oct. 2005, 11:27
par betman
Ca ne fais aucun message d'erreur.

Je pense avoir mal creer mes champ dans la bdd

j'ai creer un champ

erreur (text)
photo : (text)
photo_2 (text)

pour les champs photos je ne sais pas de quel type il s'agit

Posté : 13 oct. 2005, 11:44
par betman
bon j'ai changer de script ^^

la pareil je n'ai aucun message d'erreur

mais l'image ne s'enregistre pas ...
<?

include('connection.inc.php');

	$image_name = strtolower($image_name);
	$image_name = strtr($image_name," ","_");
	$image_name = strtr($image_name,"à","a");
	$image_name = strtr($image_name,"é","e");
	$image_name = strtr($image_name,"è","e");
	$image_name = strtr($image_name,"ù","u");
	$image_name = strtr($image_name,"ç","c");
	$image_name = strtr($image_name,"â","a");
	$image_name = strtr($image_name,"ä","a");
	$image_name = strtr($image_name,"ê","e");
	$image_name = strtr($image_name,"ë","e");
	$image_name = strtr($image_name,"î","i");
	$image_name = strtr($image_name,"ï","i");
	$image_name = strtr($image_name,"ô","o");
	$image_name = strtr($image_name,"ö","o");
	$image_name = strtr($image_name,"û","u");
	$image_name = strtr($image_name,"ü","u");

if (is_uploaded_file($image))
	{
		move_uploaded_file($image, "img/$image_name");
	}
	else
	{
		print "Veuillez recommencer, le téléchargement a échoué";
	}

$query = "INSERT INTO anomalies(id_anom,nom,date,anomalies,desc_anom,image) VALUES ('','".$_POST['nom']."','".$_POST['date']."','".$_POST['anomalies']."','".$_POST['desc_anom']."','".$_POST['image_name']."')"; 
$result = mysql_query($query) or die ('Erreur SQL !<br>'.mysql_error());



header('location: anomalies2.php');
?>

mais pareil j'ai un gros doute sur le type champ que doit image (blob) ?

Posté : 13 oct. 2005, 14:41
par Invité
je comprends pas, je n'ai aucun message d'erreru et les images ne s'enregistre pas.

Quelqu'un vois d'ou ca pourrais venir?

Posté : 13 oct. 2005, 15:57
par jeanpierre949
Salut.
Ca ne serait pas les [input type "file"] qu'il faudrait enregistrer dans la table pour avoir le nom des images?

Posté : 14 oct. 2005, 10:48
par betman
Franchement, je ne vois.

Désolé mais je débute, et je suis sur ce problème depuis hier et je n'arrive pas à enregistrer mon image ds la base. Et je n'ai pas de message d'erreur, et les autres champs s'enregistrent .