IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Enregistrer dans la BDD photo+titre+légende


Sujet :

PHP & Base de données

Vue hybride

LaPotato Enregistrer dans la BDD... 20/05/2021, 18h25
Sergio_zero Bonjour, <?php try {... 11/06/2021, 18h11
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2021
    Messages : 3
    Par défaut Enregistrer dans la BDD photo+titre+légende
    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"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  2. #2
    Membre éclairé
    Homme Profil pro
    Educateur spécialisé
    Inscrit en
    Janvier 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Educateur spécialisé
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 238
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?php
    try
    {
    	$bdd = new PDO('mysql:host=Localhost;dbname=nom de la bdd;charset=utf8', 'nom de la bdd', 'mot de passe', 
    	array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
    }
    catch (Exception $e)
    {
        die('Erreur : ' . $e->getMessage());
    }
    $sql = $bdd->prepare('INSERT INTO image (IdUser, IdD, Titre, Legende) VALUES(:idu,:idd,:tittle,:leg)');
    									$sql->bindValue('idu', $_SESSION['ID'], PDO::PARAM_INT);
    									$sql->bindValue('idd', $Destination, PDO::PARAM_STR);
    									$sql->bindValue('tittle', $_FILES["photo"]["name"], PDO::PARAM_STR);
    									$sql->bindValue('leg', $Titre, PDO::PARAM_STR);
    									try {
    											$sql->execute();
    											echo'<p>La page a bien été enregistrée.</p>';
    										}
    									catch (PDOException $e)
    										{
    											echo'<p>Erreur : '.$e->getMessage().'<br />N° : '.$e->getCode().'</p>';
    											$bdd->rollback();
    											die();
    										}
    									$sql->closeCursor();
    ?>

Discussions similaires

  1. Incrémenter une lettre pour enregistrement dans une bdd
    Par baggie dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/03/2008, 16h26
  2. Réponses: 2
    Dernier message: 11/06/2007, 23h23
  3. Réponses: 2
    Dernier message: 17/04/2007, 11h44
  4. [MySQL] Savoir le nombre d'enregistrements dans la BDD
    Par achos dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 14/02/2007, 12h55
  5. [C#] Supprimer un enregistrement dans une BDD
    Par Filippo dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/07/2006, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo