Probleme upload image dans mysql

Résolu
vetcho2paname Messages postés 2 Date d'inscription mercredi 14 avril 2010 Statut Membre Dernière intervention 4 mai 2011 - 4 mai 2011 à 17:25
vetcho2paname Messages postés 2 Date d'inscription mercredi 14 avril 2010 Statut Membre Dernière intervention 4 mai 2011 - 4 mai 2011 à 23:29
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..

2 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
4 mai 2011 à 20:14
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 !
3
vetcho2paname Messages postés 2 Date d'inscription mercredi 14 avril 2010 Statut Membre Dernière intervention 4 mai 2011
4 mai 2011 à 23:29
merci jc ca marche parfaitement merci encore...
0
Rejoignez-nous