Bonjour à tous !
Pour commencer le contexte : Je dois faire un site web, il a été choisi une agence de voyage.
Sur la page d'une destination, il est possible pour l'utilisateur de poster une image avec un titre et une légende. Mon problème est que je n'arrive pas à faire ma requête pour chaque champ aille dans la BDD et que cela enregistre le poste.
Je ne sais pas comment doivent être définie des variables dans ce cas-ci (le code fonctionne bien lorsque je voulais uniquement poster une image)
Notre MLD :
Destination (IdD, NomD, Tarif, Photo, Resume)
Avis (IdAvis, commentaire,Note,#IdD,#IdUser)
Utilisateur (IdUser, Pseudo, Mdp, Mail)
Image (IdImage, Titre, Légende, PhotoUser, #IdD, #IdUser)
Voici le code de la page "posterimage_tm2.php"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| <?php
session_start() ;
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" media="all">
<?php
if (isset($_SESSION['pseudo']) AND $_SESSION['pseudo'] != "") {
echo '<a href="deconnexion_tm.php">Se déconnecter (connecté en tant que '.$_SESSION['pseudo'].')</a>';
$connect = 1;
}
else {
echo '<a href="inscription_tm.php">S\'inscrire</a> - <a href="connexion_tm.php">Se connecter</a>';
$connect = 0;
}
?>
</br></br>
<h1 align="center">Poster son image - 2</h1>
</head>
<?php
// Vérifier si le formulaire a été soumis
if($_SERVER["REQUEST_METHOD"] == "POST"){
// Vérifie si le fichier a été uploadé sans erreur.
if(isset($_FILES["photo"]) && $_FILES["photo"]["error"] == 0){
$allowed = array("jpg" => "image/jpg", "jpeg" => "image/jpeg", "gif" => "image/gif", "png" => "image/png");
$filename = $_FILES["photo"]["name"];
$filetype = $_FILES["photo"]["type"];
$filesize = $_FILES["photo"]["size"];
// Vérifie l'extension du fichier
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if(!array_key_exists($ext, $allowed)) die("Erreur : Veuillez sélectionner un format de fichier valide.");
// Vérifie la taille du fichier - 5Mo maximum
$maxsize = 5 * 1024 * 1024;
if($filesize > $maxsize) die("Error: La taille du fichier est supérieure à la limite autorisée.");
// Vérifie le type MIME du fichier
if(in_array($filetype, $allowed)){
// Vérifie si le fichier existe avant de le télécharger.
if(file_exists("upload/" . $_FILES["photo"]["name"])){
echo $_FILES["photo"]["name"] . " existe déjà.";
} else{
move_uploaded_file($_FILES["photo"]["tmp_name"], "images_destination/" . $_FILES["photo"]["name"]);
echo "Votre fichier a été téléchargé avec succès.";
}
} else{
echo "Error: Il y a eu un problème de téléchargement de votre fichier. Veuillez réessayer.";
}
} else{
echo "Error: " . $_FILES["photo"]["error"];
}
$Destination = $_POST["destination"];
$connexion=mysqli_connect("localhost", "root", "") ;
mysqli_select_db($connexion,"tourmonde");
//on vérifie que la connexion se fait bien
if(!$connexion){
die('Erreur : ' .mysqli_connect_error());
}
//echo 'Connexion réussie';
$req='INSERT INTO image (IdUser, IdD, Titre, Legende) VALUES ("'.$_SESSION['ID'].'","'.$Destination.'", "'.$_FILES["photo"]["name"].'","'.$Titre.'","'.$Legende.'")'; --> c'est ici que j'ai essayé
echo $req;
mysqli_query($connexion, $req);
//Fermeture de la connexion
mysqli_close($connexion) ;
}
?>
</br></br></br>
<a href="lired_tm.php?Destination=<?php echo $Destination;?>">Retour au sujet</a>
</html> |
Merci pour votre aide !
Bonne journée à tous !
Partager