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 :

afficher dans le commentaire la page d'où l'internaute vient


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    site perso
    Inscrit en
    Mars 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : site perso

    Informations forums :
    Inscription : Mars 2016
    Messages : 5
    Par défaut afficher dans le commentaire la page d'où l'internaute vient
    bonjour à tous
    voilà mon problème. j'ai un site de recettes de cuisine qui contient un page de commentaires sur son index
    mais chaque recette est sur une page individuelle. Lorsque l'internaute pose une question, je ne sais pas de quelle recette il parle
    j'ai une bdd aves une table commentaire et j'ai créé une table recette avec une id et le nom de la recette
    Lorsque l'internaute poste un commentaire il se met son nom, sa ville, la date
    Est-ce que je peux faire apparaître le nom de la recette d'où il vient
    et après le commentaire
    Merci de vos réponses

  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
    Une manière simple de le faire est de passer la valeur de la recette dans le lien qui amène au commentaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="commentaire.php?recette=xxxxx">Commentaire</a>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Femme Profil pro
    site perso
    Inscrit en
    Mars 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : site perso

    Informations forums :
    Inscription : Mars 2016
    Messages : 5
    Par défaut
    je te remercie au honnêtement j'ai pas compris comment il retrouve la page d'où vient l'internaute
    voilà le morceau du code où j'ai le lien
    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
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
     
    <?php
    if (isset($_POST['VALIDER']))
    {
    if ($_POST['PSEUDO'] AND $_POST['VILLE'] AND $_POST['MESSAGE'] AND $_POST['CODE'])
       {
       if (chk_crypt($_POST['CODE']))
          {
          $pseudo = htmlentities($_POST['PSEUDO'], ENT_QUOTES); // On utilise htmlentities par mesure de s�curit�
    	 $ville = htmlentities($_POST['VILLE'], ENT_QUOTES); // On utilise htmlentities par mesure de s�curit�
          $message = htmlentities($_POST['MESSAGE'], ENT_QUOTES); // De m�me pour le message
          $message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entr�es par des <br />
          $verif = mysql_query("SELECT * FROM cuisine ORDER BY ID DESC LIMIT 0,1");
          $double = mysql_fetch_array($verif);
     
          if ($pseudo == '' OR $pseudo == 'Entrer votre Pseudo')
             {
             echo"<span style='color: rgb(255, 0, 0); font-weight: bold;'>Entrer votre pseudo</span><br /><br />";
             }
             else
             {
             if ($pseudo!= $double['PSEUDO']) //On n'�crit le message que si les informations du dernier message sont diff�rents
                // On peut enfin enregistrer :o)
                {
                mysql_query("INSERT INTO cuisine VALUES('','". $pseudo ." ','" . $ville . "','" . $message . "','" . time(). "')");
                }
             }
          }
          else echo"<span style='color: rgb(255, 0, 0); font-weight: bold;'>Erreur de saisie du code securite</span><br /><br />";
       }
       else echo"<span style='color: rgb(255, 0, 0); font-weight: bold;'>Certaines zones ne sont pas renseignees</span><br /><br />";
    }
     
    ?>
    	  <fieldset>
          </fieldset>
     
      <fieldset><form action="recettes.php" method="post" name="formulaire" id="formulaire" >
     
     <label for="PSEUDO"> 
     <div align="center">Entrer votre speudo </div>
     </label>
     <div align="center">
       <input name="PSEUDO"  id="PSEUDO" value="Entrer votre Pseudo" size="25" maxlength="50" onFocus="this.value=''"/> 
       <!-- Size = longueur de la boite et maxlengh= le max de lettres -->
     </div>
     <label for="VILLE">
     <div align="center">Votre ville</div>
     </label> 
     <div align="center">
          <!--remettre le label si cela ne te convient pas -->
              <input name="VILLE"  id="VILLE" value="Votre ville" size="35" maxlength="70" onFocus="this.value=''"/>
    		  <br />  
    		 Votre Message :<br />
    		  <br />
    		  <textarea name="MESSAGE" rows="12" cols="90"></textarea>
    		  <br />
              <br />
     
          <table>
            <tr><td><?php dsp_crypt(0,1); ?></td></tr>
            <tr><td>Copier le code: <input size="10" type="text" name="CODE"></td></tr>
          </table>
              <input name="VALIDER" type="submit" value="Cliquez Ici pour Poster" style="background-color:#CC99FF" onClick="Verif();" />   
      </div>
        </form>
    </fieldset>
     
     
     
     
    <?php
     
    // --------------- Etape 2 -----------------
    // On �crit les liens vers chacune des pages
    // -----------------------------------------
     
    // On met dans une variable le nombre de messages qu'on veut par page
    $nombreDeMessagesParPage = 15; // Essayez de changer ce nombre pour voir :o)
     
    // On r�cup�re le nombre total de messages
    $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM cuisine') or die(mysql_error());
    $donnees = mysql_fetch_array($retour);
    $totalDesMessages = $donnees['nb_messages'];
     
    // On calcule le nombre de pages � cr�er
    $nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
     
    // Puis on fait une boucle pour �crire les liens vers chacune des pages
    echo 'Page : ';
    for ($i = 1 ; $i <= $nombreDePages ; $i++)
    {
        echo '<a href="recettes.php?page=' . $i . '">' . $i . '</a> ';
    }
     
    ?>
     
        <?php
    // --------------- Etape 3 ---------------
    // Maintenant, on va afficher les messages
    // ---------------------------------------
     
    if (isset($_GET['page']))
    {
        $page = intval($_GET['page']);  // On r�cup�re le num�ro de la page indiqu� dans l'adresse (commentaires.php?page=4)
    }
    else // La variable n'existe pas, c'est la premi�re fois qu'on charge la page
    {
        $page = 1; // On se met sur la page 1 (par d�faut)
    }
     
    // On calcule le num�ro du premier message qu'on prend pour le LIMIT de MySQL
    $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
     
    $reponse = mysql_query('SELECT * FROM cuisine ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage );
    while ($donnees = mysql_fetch_array($reponse))
    {
    ?><br />
    <strong><font color="#D24065"> <?php echo $donnees['PSEUDO'];?> </font></strong> habite &agrave;&nbsp;<strong><font color="#D24065"><?php echo $donnees['VILLE'];?></font></strong> Son message &agrave;&nbsp;&eacute;t&eacute; post&eacute; <strong><font color="#D24065"> <em>le  <?php echo date('d . m . Y ', $donnees['timestamp']); ?></em> </font></strong> <br />
    <strong><br />
     
    <font color="#D24065"><?php echo $donnees['MESSAGE'];?>
    </font></strong><hr />
    <?php
      }
    ?>
    </section>;
    J'aimerais que le nom de la recette où alors le lien qui amène à la page se trouve la ou j'ai mis en gras

  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
    Je ne vois pas de lien vers le commentaire dans tout ça.

    Au passage, la sécurité dans une requête ne se fait pas avec htmlentities mais avec mysql_real_escape_string().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $pseudo = mysql_real_escape_string($_POST['PSEUDO']);
    	 $ville = mysql_real_escape_string($_POST['VILLE']);
          $message = mysql_real_escape_string($_POST['MESSAGE']);
    Au passage également cette extension mysql est obsolète.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Futur Membre du Club
    Femme Profil pro
    site perso
    Inscrit en
    Mars 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : site perso

    Informations forums :
    Inscription : Mars 2016
    Messages : 5
    Par défaut
    merci, cest vrai que mon fichier n'est pas récent, j'ai fais les modification pour passer html5 et css3 pour mon site mais pas changé encore les code des bdd
    le lien est là form action="recettes.php" method="post" name="formulaire" id="formulaire" > car je l'ai mis sur la page index des recettes

  6. #6
    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
    Ajoute alors un champs caché avec la recette :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="recette" value="xxxxx"/>
    Tu dois bien avoir la référence de la recette à afficher dans la page recettes.php non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [XL-2007] Extraire toutes les valeurs d'une Listbox pour les afficher dans un commentaire
    Par Didpa dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/07/2013, 18h12
  2. Réponses: 2
    Dernier message: 03/03/2010, 14h53
  3. Choisir la page a afficher dans un fichier PDF
    Par PimpW dans le forum Delphi
    Réponses: 3
    Dernier message: 01/09/2006, 16h07
  4. Réponses: 6
    Dernier message: 16/01/2006, 19h12
  5. Comment modifier une page affichée dans un TWebBrowser ?
    Par dreamincoco dans le forum Composants VCL
    Réponses: 7
    Dernier message: 24/03/2005, 14h07

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