Masquer l'extension php

Résolu
Bonjour, à tous, voila j'aurais juste une petite question, j'aimerais masquer l'extension php de la page (non pas mapage>>>.php<<<) mais www.monsite.com/?fond=1.jpg (ainsi que les autres ?fond=2.jpg...) (car on peux choisir un fond d'écran....) bref voici le site: www.moogaspir.eu, voyez par vous-même.
PS: j'ai essayé avec url rewriting, sans succès....(juste pour enlever le .php mais pas l'extension..)
Merci d'avance et bonne journée à vous !

6 réponses

  1. Salut ...

    Ben tu peut au lieux d'envoyer l'information via la variable global $_GET, tu peut utiliser les $_SESSION ou les $_COOKIE qui sont invisible !
    0
    1. Merci de m'avoir répondu si vite, j'ai essayé tes deux solutions mais sans succès...( j' ai fais la modif. ici: <?php
      $fond2 = htmlspecialchars($_SESSION['fond']);
      $fond = htmlspecialchars($_SESSION['fond']);

      Voici le code entier:

      <?php
      $fond2 = htmlspecialchars($_SESSION['fond']);
      $fond = htmlspecialchars($_SESSION['fond']);

      if(isset($_COOKIE['fond'])){
      if(empty($fond2))
      {
      $fond = $_COOKIE['fond'];
      }
      else
      {
      $fond=$fond2;
      setcookie('fond', $fond, time() + 365*24*3600, null, null, false, true);
      $fond=$fond2;
      }
      }

      if(!isset($_COOKIE['fond'])){
      if(empty($fond2))
      {
      $fond = "1.jpg";
      }
      else
      {
      $fond=$fond2;
      setcookie('fond', $fond, time() + 365*24*3600, null, null, false, true);

      }
      }
      if(empty($fond))
      {
      $fond = "1.jpg";
      }

      $i = 0;
      $dir=opendir("background/");
      while($file = readdir($dir)){
      if(!in_array($file,array(".",".."))){
      if((preg_match("/~/", $file)==false) && (preg_match("/.jpg/", $file)==true))
      {

      if (file_exists("background/mini/mini_" . $file))
      {

      }
      else
      {

      $source = imagecreatefromjpeg("background/$file");
      $destination = imagecreatetruecolor(200, 150);
      $largeur_source = imagesx($source);
      $hauteur_source = imagesy($source);
      $largeur_destination = imagesx($destination);
      $hauteur_destination = imagesy($destination);

      imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);

      imagejpeg($destination, 'background/mini/mini_' . $file);

      }
      $i++;

      }
      }
      }

      ?>
      0
      1. J'ai pas trop saisi ce que t'essaye de faire !

        if(!isset($_SESSION['fond'])) $_SESSION['fond'] = img_dafault.jpg; 
        
        echo '<style> 
        body {   
              background: url(repertoireDesFonds/'.$_SESSION['fond'].'); 
        } 
        </style>';

        Voila ...

        Et pour changer d'image ...

        if(isset($_GET['fond'])) {
            //TU VERIFIE QUE L'IMAGE EXISTE
            //SI C'EST LE CAS
            if(//EXIST) {
              $_SESSION['fond'] = $_GET['fond'];
              header('Location : ./');
            }
        }

        Mettez en résolu quand c'est résolu -.- ...
        0
        1. Ce que j'essaye d'obtenir est simple, mon code php marche parfaitement, on choisis son fond d'écran et celui-ci est sauvegardé dans les cookies comme ça l'utilisateur obtient le même à la prochaine visite. Le seul problème est quand le visiteur change de fond d'écran, dans la barre d'adresse il y a "?fond=2.jpg" que je voudrais simplement masquer.
          Je n'ai pas compris ce que tu me demande de faire dans ta réponse....
          Merci =)
          0
          1. Dans ma réponse, j'utilise les SESSION au lieux des COOKIE ...

            Donc si ton code fonctionne, alors tu n'a qu'a faire une redirection si le GET existe ...

            if(isset($_GET['fond'])) { 
              header('Location : ./'); 
            }
            0
          2. Je suis désolé, mais ça ne résolue toujours pas mon problème..........
            0
          3. Est ce qu'il fait la redirection ?!
            0
          4. Non, il ne l'a fait pas, à moins que ça soit moi qui écrit mal le code....
            0
          5. Ok, poste ton premier code !!!
            0
        2. Ok, ..

          Alors voila un exemple concret, moins compliqué, moins long, et je suppose "plus rapide" ...

          PS : je me suis tromper tout a l'heure dans le header, ce n'était pas "Location :", mais plutot "Location:", y a pas d'espace entre Location et : ...
          <?php  
          
          if(isset($_COOKIE['fond'])) {  
              if(file_exists('background/'.$_COOKIE['fond'])) {  
                  echo '<style>body {background: url(background/'.$_COOKIE['fond'].'); }</style>';  
              }  
              else {  
                  setcookie('fond', '1.jpg', time() + 365*24*3600, null, null, false, true);   
                  header('Location: ./');   
              }  
          }  
          else {  
              setcookie('fond', '1.jpg', time() + 365*24*3600, null, null, false, true);   
              header('Location: ./');  
          }  
          
          
          if(isset($_GET['fond'])) {  
              if(file_exists('background/'.$_COOKIE['fond'])) {  
                  setcookie('fond', $_GET['fond'], time() + 365*24*3600, null, null, false, true);   
                  header('Location: ./');  
              }  
              else header('Location: ./');  
          }  
          ?>  
          
          <a href="?fond=1.jpg">Photo 1 </a>  
          <a href="?fond=2.jpg">Photo 2 </a>  
          
          ?> 


          Tu crée une page index.php.
          Tu mets le tout dedans !
          Tu crée un dossier dans le même répertoire qui se nomme background.
          Tu mets tes images d'arrière plans, et tu essaye !

          Par defaut, c'est l'image 1.jpg qui apparaît !
          Mettez en résolu quand c'est résolu -.- ...
          0
          1. Tout était déjà créé =) Merci beaucoup d'avoir consacrer ta soirée à moi !! Tout fonctionne parfaitement....Le sujet est résolu !!!
            Merci encore !!! Bonne soirée et à bientôt !
            0
            1. Juste un petit problème: j ai un icône vide sur toutes mes pages (l icône background) regardes par toi-même: www.moogaspir.eu
              0
            2. Chez moi ça s'affiche au dessus de la barre de recherche, et c'est une image introuvable ...
              Elle est dans la balise div dont l'id est bg ...
              0
            3. Excellent merci, si je peux juste encore me permettre une chose: tu saurais comment mettre l'image en plein écran ( car chez moi il y a le début de la même a droite (pour les + petites images) )
              Avant, j avais le css:

              html, body, #bg, #bg table, #bg td {
              height:100%;
              overflow:hidden;
              width:100%;
              }
              #bg {
              height:200%;
              width:200%;
              left:-50%;
              top:-50%;
              position:absolute;
              z-index:-200;
              }
              #bg td {
              text-align:center;
              vertical-align:middle;
              }
              #bg img {
              min-height:50%;
              min-width:50%;
              }
              0
            4. Comment ça, elle se répète ?
              Si c'est le cas, alors ajoute la ligne suivante dans la balise body dans le deuxième if !!
              Genre !
              if(file_exists('background/'.$_COOKIE['fond'])) {  
                      echo '<style>body {background: url(background/'.$_COOKIE['fond'].');background-repeat:no-repeat; }</style>';  
              0
            5. Maintenant à la place des images qui se répètent, j ai du blanc... (mais uniquement pour les petites images)
              0