Probleme upload image dans mysql [Résolu]

Signaler
Messages postés
2
Date d'inscription
mercredi 14 avril 2010
Statut
Membre
Dernière intervention
4 mai 2011
-
Messages postés
2
Date d'inscription
mercredi 14 avril 2010
Statut
Membre
Dernière intervention
4 mai 2011
-
bonjour a tous

je travail sur un projet personnel et je suis bloqué sur un problème.
j ai creer un formulaire qui permet a un users de telecharger une image, ensuite j ai pu mettre cette image dans un dossier sur le disque dur. mon probleme c est que maintenant j aimerai bien enregistrer l' id, le nom et l url de cette image dans ma base de données.mais mon script ne marche il enregistre la photo dans le dossier mais pas les informations dans ma base de données

voici mon code:
<?php
session_start() ;
if(!isset($_SESSION["email"]) || $_SESSION["email"] == "")
{
header("Location: index.php") ;
}
//fin if
?>

<?php

if(isset($_FILES['photo']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max = 100000;
$dest_dossier = '../img/';
// vérifications
if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
}
elseif( file_exists($_FILES['photo']['tmp_name'])
and filesize($_FILES['photo']['tmp_name']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 500Ko !';
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['photo']['name']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-1]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);




//connexion au serveur
$cnx = mysql_connect("localhost", "root", "");
//sélection de la base de données
$db = mysql_select_db("225connexion");
$za = $_SESSION['email'];
//création de la requête SQL
$sql "SELECT nom,prenom FROM user WHERE email '$za'";

//exécution de la requête SQL
$req = @mysql_query($sql, $cnx) or die($sql."
".mysql_error());
$data = mysql_fetch_assoc($req);

//si la requête s'est bien passé, on affiche un message de succès
if($data)
{
echo ''.$data['nom'].' '.$data['prenom'].'';
}

mysql_query("INSERT INTO images VALUES('',''".$data['nom']."'','".$dest_dossier . $dest_fichier."')");
//table images champ id, prenom,chemin



}

}

?>


<html>

<!-- Erreur ? -->
<?php
if(isset($erreur)){
echo '', $erreur ,'

';
}
?>
<!-- Formulaire -->
<!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" -->
<form method="POST" action="transfert.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 500Ko -->

<fieldset>
<legend>Envoi de fichiers</legend>
<!-- champs d'envoi de fichier, de type file -->
<label for="photo">Photo :</label>


<label for="photo_2">Photo 2 :</label>


<!-- bouton d'envoi -->


</legend>
</fieldset>
</form>

</html>

merci d avance..
A voir également:

2 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
bonsoir
sans doute la query
les apostrophes mal positionnés ...
a++

essaie ...
<?php 
session_start() ; 
if(!isset($_SESSION["email"]) || $_SESSION["email"] == "") 
{ 
header("Location: index.php") ; 
} 
//fin if 
?> 

<?php 

if(isset($_FILES['photo'])){ 
// params 
unset($erreur); 
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg'); 
$taille_max = 100000; 
$dest_dossier = '../img/'; 
// vérifications 
if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) ) 
{ 
$erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !'; 
} 
elseif( file_exists($_FILES['photo']['tmp_name']) 
and filesize($_FILES['photo']['tmp_name']) > $taille_max) 
{ 
$erreur = 'Votre fichier doit faire moins de 500Ko !'; 
} 
// copie du fichier 
if(!isset($erreur)) 
{ 
$dest_fichier = basename($_FILES['photo']['name']); 
// formatage nom fichier 
// enlever les accents 
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); 
// remplacer les caracteres autres que lettres, chiffres et point par _ 
$dest_fichier = preg_replace('/([^.a-z0-1]+)/i', '_', $dest_fichier); 
// copie du fichier 
move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier); 
$image=$dest_dossier . $dest_fichier;
}else{
$image="";
}
 

//connexion au serveur 
$cnx = mysql_connect("localhost", "root", ""); 
//sélection de la base de données 
$db = mysql_select_db("225connexion"); 
$za = $_SESSION['email']; 
//création de la requête SQL 
$sql "SELECT nom,prenom FROM user WHERE email '$za'"; 
//exécution de la requête SQL 
$req = @mysql_query($sql, $cnx) or die($sql."
".mysql_error()); 
$data = mysql_fetch_assoc($req); 
//si la requête s'est bien passé, on affiche un message de succès 
if($data){ 
echo ''.$data['nom'].' '.$data['prenom'].''; 
}else{
} 

$sql="INSERT INTO `images` VALUES('','".$data['nom']."','".$image."')";
if(mysql_query($sql)){
echo 'insert ok';
}else{
echo 'insert pas ok';
} 
//table images champ id, prenom,chemin 

} 
?> 


<html> 
 
<!-- Erreur ? --> 
<?php 
if(isset($erreur)){ 
echo '', $erreur ,'

'; 
} 
?> 
<!-- Formulaire --> 
<!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" --> 
<form method="POST" action="transfert.php" enctype="multipart/form-data"> 
<!-- Limiter la taille des fichiers à 500Ko --> 
 
<fieldset> 
<legend>Envoi de fichiers</legend> 
<!-- champs d'envoi de fichier, de type file --> 
<label for="photo">Photo :</label>

 
<label for="photo_2">Photo 2 :</label>

 
<!-- bouton d'envoi --> 

 
</legend> 
</fieldset> 
</form> 
 
</html>



Bonne programmation !
Messages postés
2
Date d'inscription
mercredi 14 avril 2010
Statut
Membre
Dernière intervention
4 mai 2011

merci jc ca marche parfaitement merci encore...