8722 sujets

Développement web côté serveur, CMS

Bonjour,

je suis en examen en ce moment et je dois faire un site web vitrine en crud mvc pour un groupe de musique bref...

J'ai crée un formulaire pour que l'administrateur du site web poste les photos pour sa galerie image. La connections dans l'espace admin marche...

Pour le moment je veux juste que lorsque on envoie une image, qu'elle soit stocké dans la bdd. Et ça ne fonctionne pas. Mon navigateur me signal aucune erreur et si tout va bien comment dois-je faire pour avoir une liste d'image modifiable dans l'espace admin que j'ai crée ?

Voici mes fichiers et code

Connexion.php

<?php
// Ce modèle va servir à gérer l'instance de connexion à la BDD.

/*
fonction connect() permettant de retourner une instance de la classe PDO, qui sera utilisée pour toutes nos requêtes.
*/
function connect() {
  // Déclaration des variables de connexion à la BDD
  $user = "root";
  $pass = "";
  // On va utiliser la structure try {} catch pour instancier notre connexion à la base.
  // Cette structure permet d'intercepter les erreurs PDO et de les traiter selon nos propres règles de gestion.
  try {
    // Instanciation de notre objet PDO qui va gérer la connexion vers la BDD.
    $db = new PDO('mysql:host=localhost;dbname=hardup;charset=UTF8', $user, $pass);
    // Définition du mode de gestion d'erreur de PDO : En cas d'erreur, PDO va envoyer des erreurs de type PDOException permettant une gestion plus fine de ces erreurs.
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // si la connexion a fonctionné, $db est retourné par la fonction.
    return $db;
  } catch (PDOException $erreur) {
    die("Problème : ".$erreur->getMessage());
  }
}


addimage.php

<?php
require_once("connexion.php");
?>


<?php

function getimage() {
	$db = connect();
	$lienImg=$_POST["lien"];
   $sql = "INSERT INTO image VALUES ('', '$lienImg')";

try {

    $req = $db->prepare($sql); //prépare la requete
    $req->execute();//ça exécute
    $image = $req->fetchAll();//ca te crée un tableau avec toutes les colonnes de ton image et leur valeur
    return $image;
}

    catch (PDOException $erreur) {
    throw new Exception ($erreur->getMessage()); } //Pour choper l'erreur
 } 

?>



modifimage.php



<?php
require_once ("connexion.php");
?>


<?php

function getimage() {
	$db = connect();
   $sql = 'SELECT urlimage FROM image WHERE id = 1';

try {

    $req = $db->prepare($sql); //prépare la requete
    $req->execute();//ça exécute
    $image = $req->fetchAll();//ca te crée un tableau avec toutes les colonnes de ton image et leur valeur
    return $image;
}

    catch (PDOException $erreur) {
    throw new Exception ($erreur->getMessage()); } //Pour choper l'erreur
 } 

?>


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
 <title>Stock d'images</title>
</head>
<body>

<div class="imageconcert">
  <img src="img/picture.png">
</div>

<div class="flyerhome">
	<h1>Envoi d'une image</h1>
</div>

<div class="envoie">
  <form action="addimage.php" method="post">
    <input type="file" name="lien" size=50 />
    <input type="submit" value="Envoyer" />
  </form>
</div>

</body>
</html>


Bonjour.

Rajoutez au formulaire :
<form action="addimage.php" method="post" enctype="multipart/form-data">

pour voir...

Ensuite, il y a quelque chose dans la variable $_POST["lien"] ?

Dernier point : c'est important de savoir dire non.

Smiley smile