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."<br>".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 '<span style="color: #2277a3;">'.$data['nom'].' '.$data['prenom'].'</span>';
}
mysql_query("INSERT INTO images VALUES('',''".$data['nom']."'','".$dest_dossier . $dest_fichier."')");
//table images champ id, prenom,chemin
}
}
?>
<html>
<body>
<!-- Erreur ? -->
<?php
if(isset($erreur)){
echo '<p>', $erreur ,'</p>';
}
?>
<!-- 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 -->
<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>
</body>
</html>
merci d avance..