Masquer l'extension php

Résolu/Fermé
darox Messages postés 31 Date d'inscription dimanche 2 octobre 2011 Statut Membre Dernière intervention 7 février 2012 - Modifié par darox le 4/12/2011 à 14:07
darox Messages postés 31 Date d'inscription dimanche 2 octobre 2011 Statut Membre Dernière intervention 7 février 2012 - 4 déc. 2011 à 22:33
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 !
A voir également:

6 réponses

JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
4 déc. 2011 à 14:24
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
darox Messages postés 31 Date d'inscription dimanche 2 octobre 2011 Statut Membre Dernière intervention 7 février 2012
4 déc. 2011 à 14:46
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
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 4/12/2011 à 15:26
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
darox Messages postés 31 Date d'inscription dimanche 2 octobre 2011 Statut Membre Dernière intervention 7 février 2012
4 déc. 2011 à 16:49
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
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 4/12/2011 à 18:01
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
darox Messages postés 31 Date d'inscription dimanche 2 octobre 2011 Statut Membre Dernière intervention 7 février 2012
4 déc. 2011 à 19:36
Je suis désolé, mais ça ne résolue toujours pas mon problème..........
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
4 déc. 2011 à 20:00
Est ce qu'il fait la redirection ?!
0
darox Messages postés 31 Date d'inscription dimanche 2 octobre 2011 Statut Membre Dernière intervention 7 février 2012
4 déc. 2011 à 20:23
Non, il ne l'a fait pas, à moins que ça soit moi qui écrit mal le code....
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
4 déc. 2011 à 20:32
Ok, poste ton premier code !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 4/12/2011 à 21:16
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
darox Messages postés 31 Date d'inscription dimanche 2 octobre 2011 Statut Membre Dernière intervention 7 février 2012
Modifié par darox le 4/12/2011 à 21:23
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
darox Messages postés 31 Date d'inscription dimanche 2 octobre 2011 Statut Membre Dernière intervention 7 février 2012
4 déc. 2011 à 21:24
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
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
4 déc. 2011 à 21:38
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
darox Messages postés 31 Date d'inscription dimanche 2 octobre 2011 Statut Membre Dernière intervention 7 février 2012
Modifié par darox le 4/12/2011 à 21:44
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
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
4 déc. 2011 à 21:53
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
darox Messages postés 31 Date d'inscription dimanche 2 octobre 2011 Statut Membre Dernière intervention 7 février 2012
4 déc. 2011 à 21:57
Maintenant à la place des images qui se répètent, j ai du blanc... (mais uniquement pour les petites images)
0