Sauvegarde image et texte dans bdd
- Accueil
- Forum
- Programmation
- SQL
- Sauvegarde image et texte dans bdd
salutlacompagnie Le 18 mai 2017 à 18:59 (Édité le 25 janvier 2019 à 17:53)
Je souhaite sauvegarder une image ainsi que deux autres champs de type texte.
Si quelqu'un peut m'aider je lui en serais très reconnaissant =)
if(isset($_POST['news'])) {
if(isset($_FILES['image']) AND!empty($_FILES['image']['name']))
{
$taillemax = 2097152;
$extensionsValides = array('jpg' , 'jpeg', 'gif', 'png');
if($_FILES['image']['size'] <= $taillemax)
{
$extensionUpload = strtolower(substr(strrchr($_FILES['image']['name'], '.'), 1));
if(in_array($extensionUpload, $extensionsValides))
{
$chemin = "../../image/".$_SESSION['id'].".".$extensionUpload;
$resultat = move_uploaded_file($_FILES['image']['tmp_name'], $chemin);
if($resultat)
{
$contenu = htmlspecialchars($_POST['contenu']);
$categorie = htmlspecialchars($_POST['categorie']);
if(!empty($_POST['contenu'])){
if(!empty($_POST['categorie'])){
$contenulength = strlen($contenu);
if($contenu) {
$categorielength = strlen($categorie);
if($categorie) {
$reqnews= $bdd->prepare('INSERT INTO statut (id_client, image, contenu, categorie, heure_post)
(?, :image, ?, ?, NOW()) WHERE id = :image');
$reqnews->execute(array($_SESSION['id'],
'image' => $_SESSION['id'].".".$extensionUpload,
'id' => $_SESSION['id'], $contenu, $categorie));
header('Location: '.$_SERVER['HTTP_REFERER'].'');
} else {
$erreur = "Votre categorie ne doit comporter que du texte";
}
} else {
$erreur = "Votre statut ne doit comporter que du texte";
}
} else {
$erreur = "Vous n'avez pas séléctionné de categorie";
}
} else {
$erreur = "Votre statut n'est pas complété";
}
}
else
{
$erreur = "Votre image principale n'a pas été téléchargé correctement!";
}
}
else
{
$erreur = "Votre photo doit être au format jpeg, jpg, gif ou png";
}
}
else
{
$erreur = "Votre photo ne doit pas dépasser 2MO";
}
}
}
Cordialement =) Balatharas Le 19 mai 2017 à 23:33 (Édité le 1 janvier 1970 à 01:00)
ok
mais c'est quoi le problème ???
salutlacompagnie Le 20 mai 2017 à 12:33 (Édité le 1 janvier 1970 à 01:00)
Le problème c'est que l'image ne s'enregistre pas dans la base donnée avec les autres champs ..
Pourtant la retrouve bien dans le dossier ou je stock les images des utilisateurs..
Donc que dois-je faire pour pouvoir sauvegarder mais 3 données en même temps?
Merci
Balatharas Le 20 mai 2017 à 23:13 (Édité le 1 janvier 1970 à 01:00)
if(isset($_POST['news'])) {
if(isset($_FILES['image']) AND!empty($_FILES['image']['name'])) {
$taillemax = 2097152;
$extensionsValides = array('jpg' , 'jpeg', 'gif', 'png');
if($_FILES['image']['size'] <= $taillemax) {
$extensionUpload = strtolower(substr(strrchr($_FILES['image']['name'], '.'), 1));
if(in_array($extensionUpload, $extensionsValides)) {
$nomfichier = $_SESSION['id'].".".$extensionUpload;
$chemin = "../../image/".$nomfichier;
$resultat = move_uploaded_file($_FILES['image']['tmp_name'], $chemin);
if($resultat) {
$contenu = htmlspecialchars($_POST['contenu']);
$categorie = htmlspecialchars($_POST['categorie']);
if(!empty($contenu)) {
if(!empty($categorie)) {
$contenulength = strlen($contenu);
if($contenu) {
$categorielength = strlen($categorie);
if($categorie) {
$reqnews = $bdd->prepare('
INSERT INTO
statut(id_client, image, contenu, categorie, heure_post)
(?, ?, ?, ?, NOW())
WHERE id = :id
');
$reqnews->execute([
$_SESSION['id'],
$nomfichier,
$contenu,
$categorie
'id' => $_SESSION['id'],
]);
header('Location: '.$_SERVER['HTTP_REFERER']);
} else {
$erreur = "Votre catégorie ne doit comporter que du texte";
}
} else {
$erreur = "Votre statut ne doit comporter que du texte";
}
} else {
$erreur = "Vous n'avez pas séléctionné de categorie";
}
} else {
$erreur = "Votre statut n'est pas complété";
}
} else {
$erreur = "Votre image principale n'a pas été téléchargé correctement!";
}
} else {
$erreur = "Votre photo doit être au format jpeg, jpg, gif ou png";
}
} else {
$erreur = "Votre photo ne doit pas dépasser 2MO";
}
}
}
Si ton problème est résolu avec ce code, je t'expliquerai mes modifications 😋 salutlacompagnie Le 28 mai 2017 à 13:48 (Édité le 1 janvier 1970 à 01:00)
Merci de m'avoir fournit un code mais celui ci ne fonctionne pas, il y a une erreur ligne 35.. j'ai modifié ça dans tout les sens mais il n'y a rien à faire je n'arrive pas à la faire fonctionné correctement =(