Partage
  • Partager sur Facebook
  • Partager sur Twitter

livre d'or

    24 juin 2006 à 17:33:16

    Hello,

    Voila j'aurai besoin de conseils sur des conditions. Grace aux cours j'ai fait un p'tit livre d'or avec les champs suivants: pseudo, email, site, message (email et site facultatif)
    Donc ce que j'aimerai faire:
    -si le visiteur entre son pseudo + son email + son message, j'affiche...
    -sinon si le visiteur entre son pseudo + son email + son site + son message, j'affiche...
    -sinon si le visiteur entre juste pseudo + message, j'affiche...

    voila la partie concernée mais qui ne marche pas comme je le souhaite:

    if ($donnees['email_livre'])
                {
                    echo 'Par <b><a href="mailto: ' . $donnees['email_livre'] .' ">' . $donnees['pseudo_livre']. '</a></b>, le ' . date('d/m/Y', $donnees['timestamp_livre']) . ' @ ' . date('H\hi', $donnees['timestamp_livre']).
                                    '</td></tr><tr><td id="commentaires_contenu">' . stripslashes($donnees['message_livre']).'</td></tr>';     
                            }
                           
                             elseif ($donnees['email_livre'] && $donnees['site_livre'])
                {
                    echo 'Par <b><a href="mailto: ' . $donnees['email_livre'] .' ">' . $donnees['pseudo_livre'] . '</a></b> [<a href="mailto: ' . $donnees['site_livre'] .'"><b> Site Internet</b></a>], le ' . date('d/m/Y', $donnees['timestamp_livre']) . ' @ ' . date('H\hi', $donnees['timestamp_livre']).
                                    '</td></tr><tr><td id="commentaires_contenu">' . stripslashes($donnees['message_livre']).'</td></tr>';     
                            }
                           
                else                       
                {
                    echo 'Par <b>'  . $donnees['pseudo_livre']. '</b>, le ' . date('d/m/Y', $donnees['timestamp_livre']) . ' @ ' . date('H\hi', $donnees['timestamp_livre']).
                                    '</td></tr><tr><td id="commentaires_contenu">' . stripslashes($donnees['message_livre']).'</td></tr><br/>';
                }


    Merci :)
    • Partager sur Facebook
    • Partager sur Twitter
      24 juin 2006 à 17:38:00

      elles servent a rien tes conditions !! si tu veux testé si elles existent c'est
      if (isset($donnees['email_livre'])) { ...
      • Partager sur Facebook
      • Partager sur Twitter
        24 juin 2006 à 17:44:38

        Si j'ai bien compris tu veux ne mettre le lien que si l'email est enregistrée ? Idem pour le site ?
        Si ou idans ce cas essaie :
        if(!empty($donnees['email']))
        {
        //Dans le cas où l'email existerait
         if(!empty($donnees['site']))
         {
          //... et si son site est indiqué
         }
        }
        else
        {
        //dans le cas où son email n'est pas indiquée
         if(!empty($donnees['site']))
         {
          //... et si son site est indiqué
         }
        }

        Mais il vaut mieux faire ceci :
        <?php
        if(!empty($donnees['email']))
        {
         $email = "<a href='mailto:" . $donnees['email'] . "'>Envoyer un email</a>";
        }

        if(!empty($donnees['site']))
        {
         $site = "<a href='" . $donnees['site'] . "'>Voir son site</a>";
        }
        Et après tu affiches tes variables, qui ne seront rien si elels sont vides ;)

        Au fait isset c'est pas pareil qu'empty, et la politesse n'est pasi nterdite
        • Partager sur Facebook
        • Partager sur Twitter
          24 juin 2006 à 17:58:27

          merci skateur80, je vien d'essayer ta méthode mais c'est pas tout à fait ce que je recherche.

          Je vais essayer de bien expliquer c pas gagné :p

          Si le visiteur entre son pseudo et son message pas de souci...

          Si le visiteur entre pseudo + email + site + message => le pseudo devient cliquable et à coté je marque [voir le site]

          Si le visiteur entre pseudo + email + message => juste pseudo cliquable

          Si le visiteur entre pseudo + site + message => pseudo non cliquable et affichage de [voir le site] à coté du pseudo.

          En fait j'ai du mal avec la double condition qui marche pas (email + site)

          • Partager sur Facebook
          • Partager sur Twitter
            24 juin 2006 à 18:20:06

            ben tu garde pareil sauf que tu fait a la fin tu enregistre l'email et site le pseudo et le message

            donc
            if(!empty( $pseudo) or !empty ($message)

            {

            // tout ta page


            }
            else
            {
            mysql_query(' insert inter ta_table value ('', $_POST['pseudo']',' $_POST['message'] ',' $_POST['email']',' $_POST['site'];
            }

            // le reste de ta page

            // puis tu met le met le email et le site il s'
            affiche que ci c'est inscrit.

             


            c'est un peu près cela ...

            • Partager sur Facebook
            • Partager sur Twitter
              24 juin 2006 à 18:36:14

              bon je viens enfin de parvenir à mes fins mais franchement j'ai codé ça comme un gros bourrin donc si quelqu'un voit une méthode plus élégante je suis preneur:

              if (!empty($donnees['site_livre']) AND !empty($donnees['email_livre']))
                          {
                              echo 'Par <b><a href="mailto: ' . $donnees['email_livre'] .' ">' . $donnees['pseudo_livre'] . '</a></b> [<a href="' . $donnees['site_livre'] .'"><b> Site Internet</b></a>], le ' . date('d/m/Y', $donnees['timestamp_livre']) . ' @ ' . date('H\hi', $donnees['timestamp_livre']).
                                              '</td></tr><tr><td id="commentaires_contenu">' . stripslashes($donnees['message_livre']).'</td></tr>';     
                                      }
                                     
                                      if (!empty($donnees['email_livre']) AND empty($donnees['site_livre']))
                          {
                              echo 'Par <b><a href="mailto: ' . $donnees['email_livre'] .' ">' . $donnees['pseudo_livre']. '</a></b>, le ' . date('d/m/Y', $donnees['timestamp_livre']) . ' @ ' . date('H\hi', $donnees['timestamp_livre']).
                                              '</td></tr><tr><td id="commentaires_contenu">' . stripslashes($donnees['message_livre']).'</td></tr>';     
                                      }
                                     
                                      if (!empty($donnees['site_livre']) AND empty($donnees['email_livre']))
                          {
                              echo 'Par <b>' . $donnees['pseudo_livre'] . '</a></b> [<a href="' . $donnees['site_livre'] .'"><b> Site Internet</b></a>], le ' . date('d/m/Y', $donnees['timestamp_livre']) . ' @ ' . date('H\hi', $donnees['timestamp_livre']).
                                              '</td></tr><tr><td id="commentaires_contenu">' . stripslashes($donnees['message_livre']).'</td></tr>';     
                                      }
                                                                        
                          if (empty($donnees['site_livre']) AND empty($donnees['email_livre']))              
                          {
                              echo 'Par <b>'  . $donnees['pseudo_livre']. '</b>, le ' . date('d/m/Y', $donnees['timestamp_livre']) . ' @ ' . date('H\hi', $donnees['timestamp_livre']).
                                              '</td></tr><tr><td id="commentaires_contenu">' . stripslashes($donnees['message_livre']).'</td></tr><br/>';
                          }


              Sinon y'a une chose qui m'embete c'est que dans le champs site j'ai mis en value: "http://". Manque de pot cette valeur est prise comme une chaine de caractère non nulle (logique) sauf que moi ca me fait marquer "[voir le site]" à coté du pseudo. Donc est ce que y'aurai une astuce pour contrer ça ?


              • Partager sur Facebook
              • Partager sur Twitter
                24 juin 2006 à 18:59:48

                Tu utilises la REGEX donnée dans le cours ;)
                • Partager sur Facebook
                • Partager sur Twitter

                livre d'or

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown