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 :

Comment rendre la photo cliquable et rediriger vers l'envoi de message (id de celui qui clic et id de photo)


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2015
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2015
    Messages : 405
    Par défaut Comment rendre la photo cliquable et rediriger vers l'envoi de message (id de celui qui clic et id de photo)
    Bonjour Messieurs;

    mon concept consiste de rendre cliquable l'affichage des photos des users et en cliquant sur photo, l'id de user qui est entrain de cliquer et l'id de user dont on a cliqué sur sa photo sont placés automatiquement dans les champs emeteur et recepteur de la table message. car celui qui clic veut envoyer le message à celui dont il a cliqué sur sa photo. puis il est dirigé vers la page envoi message, il remplit le contenu puis clic sur envoi.

    à titre d'essai j'ai trouvé ça:

    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
    <?php
     
     
     
    // Connexion à MySQL
     
    require 'db.php';
     
    $pseudo = empty($_SESSION['pseudo']) ? '' : $_SESSION['pseudo'];
     
     
     
    $timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes
     
    $req = $db->query('SELECT* FROM personne WHERE timestamp >' .$timestamp_5min );
     
      while ($donnees = $req->fetch())
     
     
     
          {
     
          echo $donnees['pseudo'] ;
     
     
     
          echo $donnees['nom_personne'] ;
     
          echo $donnees['prenom_personne']?><br/>
     
          <?php
     
          $ID_user=$donnees['num_personne'];
     
          echo "<a href='detail.php?num_personne=<?php echo $ID_user ?>'><img src='images/photominiature/". $donnees['num_personne']."_".$donnees['photo_personne']."'></a>";
     
     
     
          };
     
     
     
     
     
     ?>
    le détail permet juste d'affiché le détail de la personne car le css me fatigue d'abord;je n'ai pas encore préparer l’écran d'envoi message.

    voici ce détail:

    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
    <? php
     
    session_start();
     
        require 'db.php'; // tu inclus ton fichier avec la connexion à la base de donnée
     
     
     
                    $ID_user = $_SESSION['num_personne'];         
     
                 // Vérification des identifiants
     
                $req = $db->prepare('SELECT* FROM personne WHERE num_personne= :num_personne');
     
             $req->execute(array(
     
             'num_personne' => $ID_user));        
     
              while ($resultat = $req->fetch();)
     
     
     
          {
     
           echo "<a href='images/photo/".$donnees['num_personne' ]."_".$donnees['photo_personne']."'><img src='images/photominiature/". $donnees['num_personne']."_".$donnees['photo_personne']."'></a>";
     
     
     
          };
     
     
     
     
     
     ?>
    mais quand je clic; au lieu d'afficher le détail de la personne, il affiche le code que j'ai écris dans détal.ph.

    j'ai pensé faire une requête comme ça: select* from message where est_lu=false et num_personne=recepteur_message sur le traitement des message.

    évidement on peut faire aussi avec la clause where est_lu=false et num_personne=emeteur_message car il peut être récepteur d'1 message ou expéditeur d'autre messages.

    voici les champs de ma table message:

    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
    contenu_message
     
     
     
    date_message
     
     
     
    emeteur_message
     
     
     
    est_lu
     
     
     
    num_message
     
     
     
    num_personne
     
     
     
    object_message
     
     
     
    recepteur_message
    La table personne est reliée directement à la table message avec num_personne.

    Donc je compte sur les bonnes volontés pour me decaler.

    merci d'avance.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    c'est <?php et pas <? php
    c'est pour ça que tu vois le code.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2015
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2015
    Messages : 405
    Par défaut la partie detail est corrigée;
    merci pour cette intervention;
    maintenant comment pourriez vous copier l'id des deux users( celui qui clic et sur la photo de celui il clic) dans les champs expéditeur et récepteur de la table message.
    merci!

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Celui qui clique c'est $_SESSION['num_personne'] ; celui sur la photo c'est $_GET['num_personne'].
    Tu fais une requête INSERT avec ces deux valeurs.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2015
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2015
    Messages : 405
    Par défaut merci
    je vais travailler sur ça d'abord.

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2015
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2015
    Messages : 405
    Par défaut j'ai passé tout ce temps à essayé cela.
    Bonjour;

    -j'ai traité par plusieurs manières je trouve que $_GET['num_personne'] est obtenus si num_personne est envoyé par GET ou $_POST['num_personne'] s'il est envoyé par post.

    mais ici ce n'est pas le cas; si on clic sur la photo elle ne passe pas par get ou post.

    j'aimerai comprendre aussi car même le premier code j'ai fais une erreur dans détail.php en récupérant num_personne dans la session.

    num_personne dans la session est l'id de la personne qui clic et non celle sur la photo.

    -voyant donc le code, comment mettre $ID_user dans la session qui est l'id de la personne sur la photo.

    ainsi je pourrais récupérer dans la page détail.php.

    - je mets le code de detail.php à nouveau en bas:

    mais pour comprendre je mets un commentaire code par code.
    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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    <?php 
    session_start();
        require 'db.php'; // j'ai inclus mon fichier avec la connexion à la base de donnée
     
                    $emeteur_message = $_SESSION['num_personne']; 
                    $ID_user=$_POST['num_personne'];	// l'id de la pesonne sur la photo.			
                 // Vérification des identifiants
                $req = $db->prepare('SELECT* FROM personne WHERE num_personne= :num_personne');
             $req->execute(array(
             'num_personne' => $ID_user));	// l'id de la pesonne sur la photo.			  
    		  while ($donnees = $req->fetch())
     
          { 
    	   echo "<a href='images/photo/".$donnees['num_personne' ]."_".$donnees['photo_personne']."'><img src='images/photominiature/". $donnees['num_personne']."_".$donnees['photo_personne']."'></a>";
     
    	  };
      // insertion des deux id dans la base de donnée; si cela marche, apres avoir remplir le champ contenu_message; je ferai un update pour l'envoi de message.
     // en haut de cette page je ferai un teste pour savoir s'il ya un num_message créer avec les deux id.
     // si c'est le cas il n'en creera plus et saute l'etape insertion;
     $req = $db->prepare('INSERT INTO message(num_message, emeteur_message, recepteur_message) VALUES(:emeteur_message, :recepteur_message)');
    $req->execute(array(
    	'emeteur_message' => $emeteur_message,
    	'recepteur_message' => $ID_user // l'id de la pesonne sur la photo.		
     
    		));
     ?>    
      <!--préparation de l'ecran de saisie message-->
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <link rel="stylesheet" href="styl1.css" />
            <title>Hello World</title>
    		<style>				
        </style>
        </head>
        <body>	
           <div id="bloc_page">
     
    			<section>
             <article>		 
    		 <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" integrity="sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ==" crossorigin="anonymous">
    <a href="#">Inbox <span class="badge">42</span></a>
    <!-- ou -->
    <button class="btn btn-primary" type="button">
      Messages <span class="badge">4</span>
    </button>
    <link rel="stylesheet" href="css/font-awesome.min.css">
    <a href="#"><i class="fa fa-envelope"></i> Boîte de réception <span class="badge">42</span></a>
     
    		 <form action="envoie_message.php" method="post" enctype="multipart/form-data" >
    					<!--<fieldset>-->	
    					    <h1><legend>Votre message</legend> <!-- Titre du fieldset --> </h1>                        
    						<label for="object_message">Object:</label>
    						<input type="text" name="object_message" id="object_message" autofocus /><br/>
    						<label for="contenu_message">Texte:</label>
    						<input type="textera" name="contenu_message" id="contenu_message" autofocus /><br/>
    					   	<input type="submit" name="submit" value="Envoyer" />
    			</form> 
     
             </article>		
     
     
    		</section>	
    <footer>
                    <div id="tweet">
                        <h1>aller sur facebook</h1>
                    </div>
                    <div id="mes_photos">
                        <h1>Mes photos</h1> 
                     <p><img src="daffephoto/daf11.jpg" alt="Photographie" /><img src="images/daf12.jpg" alt="Photographie"/><img src="images/daf13.jpg" alt="Photographie" /><img src="images/daf14.jpg" alt="Photographie" /></p>
                    </div>
     
                    <div id="mes_amis">
                        <h1>L'équipe de Hello World</h1>
                        <ul>
     
    					    <li><a href="#">sandou 1 DAFFE</a></li>
                            <li><a href="#">aminata KEITA</a></li>
     
                        </ul>
     
                    </div>
                </footer>				
    		 </div>
        </body>
    </html>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CS3] Comment rendre une animation cliquable ..
    Par phreakeur dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 27/03/2011, 17h36
  2. Comment rendre arrière plan cliquable ?
    Par hellreaperdd dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 19/02/2010, 19h21
  3. [2.0] Comment rendre champ gridview cliquable ?
    Par quanou dans le forum ASP.NET
    Réponses: 4
    Dernier message: 10/03/2009, 14h44
  4. [HTML] Comment rendre une image cliquable?
    Par Nixar dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/03/2008, 09h58
  5. Comment rendre un background cliquable
    Par yule dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 11/02/2008, 17h26

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