Récuperer une variable PHP sous HTML [Résolu/Fermé]

Messages postés
71
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2010
- - Dernière réponse : PhP
Messages postés
1771
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
- 8 sept. 2007 à 21:04
Bonjour à tous

J'ai un petit soucis que vous ne manquerez pas de résoudre j'en suis sure.

Je voudrais afficher le fond d'ecran de mon site en fonction de la saison.
Pour ce faire, j'ai fait (grace à ce site et a vos conseil) un script en PHP qui me donne une variable $fond contenant le nom du fichier jpg à mette en fond.

Le probleme est que je ne parvient pas à le faire s'afficher.

J'ai essaye de mettre background-image : $fond dans mon php, ca marche pas

Je pense qu'il fo que je recupere la variable $fond dans mon html mais comment ?
Ensuite ou dois-je l'inscrire dans mon code ?

Merci de vos lumiere et à charge de recvenche
Afficher la suite 

17 réponses

Messages postés
3026
Date d'inscription
mercredi 7 septembre 2005
Statut
Contributeur
Dernière intervention
1 décembre 2013
435
0
Merci
Salut.

Essaie
background-image: url("<?php echo $fond; ?>");

(pas sûr)

@+
Messages postés
1771
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
598
0
Merci
Bjr
Voici un petit exemple : je tire au hasard la saison en PHP pour initialiser la variable $fond. Evidemment toi tu dois utiliser la date du jour pour déterminer la bonne saison. J'ai un tableau des 4 saisons dans lequel je stocke chaque image de fond en fct de la saison.
Pour que la page HTML en tienne compte je modifie dynamiquement la feuille de style intégrée pour la balise body et le tour est joué. ;-)

Nota : la tableau $saisons est facultatif. Il me sert juste à afficher le titre de la saison sur le page. Si tu comptes associer d'autres infos à chaque saison alors il ne faut pas multiplier le nombre de tableaux, comme je l'ai fait, mais plutôt utiliser des objets.

Trève de blabla ça donne :

<?php

// Tirage aléatoire de la saison ...
$saisons = array();
$saisons[0] = "Hiver";
$saisons[1] = "Printemps";
$saisons[2] = "Eté";
$saisons[3] = "Automne";

$fonds = array();
$fonds[0] = "hiver.jpg";
$fonds[1] = "printemps.jpg";
$fonds[2] = "ete.jpg";
$fonds[3] = "automne.jpg";


srand(); // plus nécessaire avec PHP > 4.2
// Chiffre aléatoire entre 0 et 3 
$index = rand(0,3);
$fond=$fonds[$index];

$saison=$saisons[$index];
?>
<html>
<head>
<style>
body
{
	background-image : url('<?php echo $fond; ?>');

}

.saison
{
	font-size : 24pt;
	font-weight : bold;
	font-family : arial;
	color : #FFFFFF;
}
</style>
</head>
<body>
<p class="saison"><?php echo $saison;?></p>
</body>
</html>

Messages postés
71
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2010
4
0
Merci
Merci de vos info.

Si je comprend bien, il fo que j'insere mon code php dans le cade html de ma page.

Moi, pour le moment, j'appelai un fichier fondecran.php qui faisait la recherche de saison et d'image et qui me sortait $fond="saison".jpg

Est ce que je peux continuer comme je fais car ca m'arrange pour les modif plutot que tout modifier, j'appelle un fichier, c'est plus leger (je pense).

Meric
dcanl
Messages postés
3026
Date d'inscription
mercredi 7 septembre 2005
Statut
Contributeur
Dernière intervention
1 décembre 2013
435 -
C'est pas forcément plus léger, mais tu peux continuer comme cela. Y'a pas d'souci !

@+
0
Merci
Merci je fais les essais et je te dis si ca fonctionne.

Peut etre peux tu encore m aider.

Sur mon site il y a 3 langue (Francais, Anglais et Russe).

J ai donc sur les page d'accueil, la possibilité de naviguer entre les langues. Pour ce faire, il y a 3 drapeau (animation flash).

Le probleme est que en francais ca se passe bien mais dans les autres langues il y a les drapeau en double (enfait une fois vide une fois le drapeau).

Pour te rendre compte, je te donne l'URL : www.lesdelicesdupalais.fr

Les SWF sont stockés dans un dossier commun est -ce a cause de ca ?

As tu une idée ?

Merci encore.
Messages postés
71
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2010
4
0
Merci
J'ai essaye votre solution mais ca ne fonctionne pas. Pour vous aider voici mon HTML :
<?php
include ("fondecran.php");
?>
body
{
background-image: url("<?php echo $fond; ?>");
}

Et voici mon php :
<?php

//Initialisation
$mois=0;
$saison="";
//Récup mois
$mois=date("n");

//Test de la saison
switch($mois){
case 1 :
$saison = "hiver";
break;
case 2 :
$saison = "hiver";
break;
case 3 :
$saison = "hiver";
break;

case 4 :
$saison = "Printemps";
break;
case 5 :
$saison = "Printemps";
break;
case 6 :
$saison = "Printemps";
break;

case 7 :
$saison = "ete";
break;
case 8 :
$saison = "ete";
break;
case 9 :
$saison = "ete";
break;

case 10 :
$saison = "automne";
break;
case 11 :
$saison = "automne";
break;
case 12 :
$saison = "automne";
break;
}

//Choix de la photo en fonction de la saison
$fond = "$saison.jpg";
//echo "<image src ='/commun/$fond'>";

?>
A la fin de mon php, j'ai fait un essai d'affichage comme vous le voyer et ca marche si j'appelle cette page

Par contre dans le html, il n y a rine qui se passe... :(((((

Merci
Messages postés
1771
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
598
0
Merci
Bjr

Ben ça paraît normal si ton image se trouve dans le répertoire commun mais que ta page HTML est ailleurs !

Faut aussi indiquer dans le page HTML l'endroit exact des images ;-)

Essai

body
{
background-image: url("/common/<?php echo $fond; ?>");
}


ou encore

$fond = "/commun/"."$saison.jpg";

voilà
0
Merci
Merci de l'info

J ai ajouté
{
background-image: url("/common/<?php echo $fond; ?>");
}

A la place du précédent dans mon code html et ca n a pas fonctionné... :(

As tu une explication?

Merci
0
Merci
En fait, je ne suis pas sur que je lance bien le fichier php (include (fondecran.php) peux tu verifier mon code svp

Merci
0
Merci
Finalement j ai inclu mon code php dans mon fichier html, c pas plus dur a gerer apres reflexion.

J'utulise DW et il y a un code coleur que je ne comprend pas

Une parte de mon code est correctment colore et une parti est rose...

Qui sais pourquoi ?

Merci
Messages postés
1771
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
598
0
Merci
Arrrggghhh ça va pas du tout :-(


Voici une partie du code source de ta page :

<?php
include("fondecran.php");
?>

body {
	background-image: $fond;
	background-repeat: no-repeat;
	margin-top: 0px;
	}



On dirait que le code PHP n'est pas du tout interprété : ta page s'appelle bien index.html ? Essaie en la renommant sur ton site web index.php. Certains serveurs sont configurés pour n'interpréter le code PHP des pages uniquement si elles portent l'extension .php !

Ensuite tu te connectes sur http://www.lesdelicesdupalais.fr/index.php


Y'a un autre truc bizarre : background-image: $fond; <--- c'est pas normal çà !

Pense également à effacer le cache de ton navigateur à chaque fois que tu modifies ta page : [Outils][Options internet ...][Supprimer les fichiers ..] coche [Supprimer tout le contenu hors connexion] puis [Ok] sur IE 6

Pour DW j'en sais rien car j'utilise .. le bloc note ! ;-)
0
Merci
Merci de ta reponse je vais essayer tout de suite

J 'ai fais la modif sur jperrio2.free.fr, c'est la partie ou je travail le site avant de le mettre en ligne

Va voir ca ne fonctionne pas encore, mais il y a du mieux, au sommet de l'écran, ca m'ecri quelque chose
Messages postés
71
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2010
4
0
Merci
Voici le code mis en ligne

<?php

//Initialisation
$mois=0;
$saison="";
//Récup mois
$mois=date("n");

//Test de la saison
switch($mois){
case 1 :
$saison = "hiver";
break;
case 2 :
$saison = "hiver";
break;
case 3 :
$saison = "hiver";
break;

case 4 :
$saison = "Printemps";
break;
case 5 :
$saison = "Printemps";
break;
case 6 :
$saison = "Printemps";
break;

case 7 :
$saison = "ete";
break;
case 8 :
$saison = "ete";
break;
case 9 :
$saison = "ete";
break;

case 10 :
$saison = "automne";
break;
case 11 :
$saison = "automne";
break;
case 12 :
$saison = "automne";
break;
}
//Choix de la photo en fonction de la saison
$fond = "$saison.jpg";
//echo "<image src ='/commun/$fond'>";
?>

body
{
$fond = "/commun/"."$saison.jpg";
background-image: url("/commun/$fond");
}


Peut etre devrais creer en php le fichier toto.jpg que je fais changer en fonction de la date puis je l'appelle touijours le meme en html, se serai plus simple...
Messages postés
1771
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
598
0
Merci
C'est pas gagné ! LOL



Le code PHP n'est toujours pas interprété ! Renomme ta page index.html en index.php !!!!!


Il faut supprimer la ligne : $fond = "/commun/"."$saison.jpg";

Ensuite ton code est trop bas !

Tu dois mettre le style pour la balise body à l'intérieur de la balise <style></style>

Déplace ton code. Ca doit faire comme ceci :


<style type="text/css">
<!--

.Style6 {
	font-family: Vivaldi, Verdana, Arial;
	font-size: 45px;
	font-weight: bold;
}

.Style8 {color: #000000}


body
{
background-image: url("commun/<?php echo $fond; ?>");
} 
-->
</style>


Supprime le premier / devant commun


Si ca fonctionne toujours pas copie ce code ci-dessous enregistrement le sous test.php et met le en ligne sur ton site : ça doit marcher !

<html>
<head>
<style>


<?php 

//Initialisation 
$mois=0; 
$saison=""; 
//Récup mois 
$mois=date("n"); 

//Test de la saison 
switch($mois){ 
case 1 : 
$saison = "hiver"; 
break; 
case 2 : 
$saison = "hiver"; 
break; 
case 3 : 
$saison = "hiver"; 
break; 

case 4 : 
$saison = "Printemps"; 
break; 
case 5 : 
$saison = "Printemps"; 
break; 
case 6 : 
$saison = "Printemps"; 
break; 

case 7 : 
$saison = "ete"; 
break; 
case 8 : 
$saison = "ete"; 
break; 
case 9 : 
$saison = "ete"; 
break; 

case 10 : 
$saison = "automne"; 
break; 
case 11 : 
$saison = "automne"; 
break; 
case 12 : 
$saison = "automne"; 
break; 
} 
//Choix de la photo en fonction de la saison 
$fond = "$saison.jpg"; 
?> 

body 
{ 
	background-image: url("commun/<?php echo $fond;?>"); 
} 
</style>
</head>
<body>
</body>
</html>
Messages postés
71
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2010
4
0
Merci
BRAVO TU AS REUSSI

Ca marche si je renomme mon fichier index.php.

Je veux ce fonctionnement pour tou mon site, ca veux dire que je dois renommer tous mes fichier en *.php ?

Merci 1000 Fois ggrace a toi mon site à l'air encore meilleur

A+
Messages postés
1771
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
598
0
Merci
Oui tu dois renommer tous tes fichiers en .php dans lesquels se trouve du code php

Le mieux étant d'utiliser systèmatiquement cette extension pour éviter les erreurs.

Voilà, bon développement

Messages postés
71
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2010
4
0
Merci
Excuse moi encore un petit soucis

Le code fonctionne bien sur www.lesdelicesdupalais.fr mais le fond ne s'affiche pas

Pour tester, j'ai regarder le code de la pge et j ai modifier la cible pour case 9 et ca change bien de cible un coup ete un coup automne mais la photo n'apparait pas :(((

Je ne m en sortirai jamais

Merci a toi d'(avance
Messages postés
1771
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
598
0
Merci
Pour une raison que j'ignore l'image http://www.lesdelicesdupalais.fr/commun/automne.jpg sur ton site est incomplète alors que sur
http://jperrio2.free.fr/commun/automne.jpg l'image est ok.

A priori le fichier est endommagé sur lesdelicesdupalais : supprime le et remet la bonne image automne.jpg

Et ça devrait le faire. ;-)

Sinon le code géréré par DW est assez "dégueu" : désolé mais c'est la vérité ! :-$