<?php if(isset($_POST['send'])){
$post_title = $_POST['post_title'];
$post_category_id = $_POST['post_category_id'];
$post_auteur = $_POST['post_author'];
$post_status = $_POST['post_status'];
$post_image = $_FILES['image']['name'];
$image_temp = $_FILES['image']['tmp_name'];
$post_tags = $_POST['post_tags'];
$post_content = $_POST['post_content'];
$post_date = date('d-m-y');
$post_comment_count = 4;
$uploadDir = '../../images/sample/';
$filePath = $uploadDir . $post_image;
move_uploaded_file($image_temp, $filePath);
$req =$dbh->prepare("INSERT INTO posts(post_category_id,post_title,post_author,post_date,post_image,post_content,post_tags,post_comment_count,post_status) VALUES ({$post_category_id},'{$post_title}','{$post_auteur}',now(),'{$post_image}','{$post_content}','{$post_tags}','{$post_comment_count}','{$post_status}')");
$req->execute();
if(!$req){
echo "echec de la requete";
}
} ?>
<form action="" method="POST" role="form" enctype="multipart/form-data">
<legend>Form title</legend>
<div class="form-group">
<label for="">Titre</label>
<input name="post_title" type="text" class="form-control" id="" placeholder="Input field">
</div>
<div class="form-group">
<label for="">Id categorie Article</label>
<input name="post_category_id" type="text" class="form-control" id="" placeholder="Input field">
</div>
<div class="form-group">
<label for="">Auteur</label>
<input name="post_author" type="text" class="form-control" id="" placeholder="Input field">
</div>
<div class="form-group">
<label for="">Status</label>
<input name="post_status" type="text" class="form-control" id="" placeholder="Input field">
</div>
<div class="form-group">
<label for="">Tags</label>
<input name="post_tags" type="text" class="form-control" id="" placeholder="Input field">
</div>
<div class="form-group">
<label for="post_image">Image</label>
<input class="form-control" name="image" type="file" id="post_image">
</div>
<div class="form-group">
<label for="">Contenue</label>
<textarea class="form-control" name="post_content" id="" cols="30" rows="10"></textarea>
</div>
<button name="send" type="submit" class="btn btn-primary">Submit</button>
</form>
voice une image de labase de données pour voir le chemin qui est stoqués
https://drive.google.com/open?id=0B71aciSV4jAIdUJBaGVJbHBfT1k
Et tu voudrais que ça soit quoi ? Le chemin entier avec le ../../images/sample/ ?
Dans ta requête tu envois :
{$post_image}
Qui ne contient que le nom de l'image et pas le chemin, remplace peut-être par $filePath qui lui contient le chemin et le nom ?
Ou alors j'ai pas compris ta demande
ah desole alors quand j'upload l'image le chemin sur la base de données n'est pas le meme que celui que j'ai precisé sur la code je ne sais pas pourquoi
le probleme n'est pa là le fichier s'upload bien dans le bon dossier mais dans la basse de donnés le chemin n'est pas bon je ne comprend pas
Salut,
Il me semble que Genki a bien répondu.
Si tu veux uploader ton image à un certain endroit,
il faut sauvegarder ce même endroit (chemin) en BDD.
Comme tu l'upload à l'emplacement $filePath
, c'est bien cette valeur qu'il faut sauvegarder en BDD (et non $post_image
).
Autre chose, juste par curiosité :
Est-ce que ça fonctionne bien ça ?
$req = $dbh->prepare("INSERT INTO...");
$req->execute();
if (!$req) {
echo "echec de la requete";
}
Je crois que non (je ne suis pas sûr de moi, c'est pour ça que je demande),
il faudrait stocker le resultat pour le vérifier ensuite :
$req = $dbh->prepare("INSERT INTO...");
$response = $req->execute();
if (!$response) {
echo "echec de la requete";
}
ah merci pour beaucoup oui effectivement j'avis oublié de la stocké dans une variable on fait pas attention des fois