Création
d'entreprise
Posez votre question Signaler

Script php/html structure if ouu switch case [Résolu]

Hate64 8Messages postés 10 février 2012Date d'inscription 16 février 2012Dernière intervention - Dernière réponse le 14 févr. 2012 à 19:29
Bonjour (ou bonsoir plutot !),
Voilà, je me dirige vers vous parce que j'ai un p'tit soucis !!
Je suis nul en programmation (ca, c'est dit !) mais dans le cadre d'un projet universitaire, je dois faire un script qui, à partir d'un fichier .txt, je dois en fonction du premier mot de ce fichier, insérer telle ou telle image.
Je m'explique : il s'agit en fait d'une sorte de script météo; si le premier mot du fichier *.txt est soleil (ou nuage), je dois afficher l'image "soleil.gif" (ou nuage.gif) et écrire sur cette image le deuxième mot du fichier qui est la température. Vous voyez à peu près ce que je veux dire ?
Voilà le script que j'ai écrit, et j'aurais besoin de votre avis pour que je l'améliore et surtout pour que mon script fonctionne !! (je précise de nouveau que je n'ai jamais fait de programmation, donc soyez indulgent et expliquez moi bien chaque étape !!) Parce que sinon, vous allez vite me perdre :)
<?php 
$num_ligne=2; 
$fichier = file('meteo.txt'); 
echo(""); 
$position=explode(";",$fichier[$num_ligne-1]); 

switch ($position[0]) 
{ 
    case "soleil": 
        echo '<img src="soleil.gif" />'; 
        echo '<DIV STYLE="position:absolute; top:30; left:130"> 
  <FONT FACE="Verdana" COLOR="#FFFFFF" size 7> 
  <b>.$position[1].</b> 
  </FONT> 
 </DIV>'; 
    break; 
    case "pluie": 
        echo '<img src="pluie.gif" />' 
        echo '<DIV STYLE="position:absolute; top:30; left:130"> 
  <FONT FACE="Verdana" COLOR="#FFFFFF" size 7> 
  <b>.$position[1].</b> 
  </FONT> 
 </DIV>'; 
   break; 
  [...] 
} 
?>  

Cordialement,
H.
Lire la suite 

Script php/html structure if ouu switch case »

13 réponses
Réponse
+0
moins plus
Bonjour

J'ai pas très bien compris les premieres lignes de ton code, moi j'aurai fait quelque chose comme ça

$fichier = file_get_contents('meteo.txt');
$position=explode(";",$fichier);
Ajouter un commentaire
Réponse
+0
moins plus
Ok, je vais changer le début par ce que tu m'as dit ! Mais le reste du script, est il bon ou non ?

Et j'avais une autre question, est ce que ma div permettrait d'écrire sur l'image ?
Ou est ce mal écrit ?
Ajouter un commentaire
Réponse
+0
moins plus
Le reste a l'air bon, juste un détail on utilise plus
<FONT FACE="Verdana" COLOR="#FFFFFF" size 7>
Normalement maintenant il faut utiliser les propriété CSS pour modifier le style d'écriture

Sinon pour la div ça devrait fonctionner, elle devrai ce mettre par dessus. Si elle passe derrière il faudra modifier la propriété z-index du css pour définir leur position sur la profondeur genre
style="z-index:0" pour l'image et style="z-index:1" pour le texte
Ajouter un commentaire
Réponse
+0
moins plus
Si dans le CSS, je définis :
span       {font-family : Verdana ; color:#FFF ; font-size : 12px;}


Dans mon fichier .php, je devrais juste écrire :
echo '<DIV STYLE="position:absolute; top:30; left:130"> 
<b><span>.$position[1].</span></b> 
</DIV> 

?


Sinon, est ce que je peux écrire directement dans le fichier php ceci :
<font size=\"7\" face=\"Verdana\">.$position[1].</font>

?
Ca me permettrait de ne pas manipuler le css, non?
Ajouter un commentaire
Réponse
+0
moins plus
justement le css n'a pas a etre manipulé, dans ton fichier css tu definie une classe

.MeteoStyle {font-family : Verdana ; color:#FFF ; font-size : 12px; font-weight:bold;}

et dans ton php

<span class="MeteoStyle">.$position[1].</span>

et partout ailleur ou tu mettra class="MeteoStyle" tu aura ce style qui s'appliquera
Ajouter un commentaire
Réponse
+0
moins plus
Ok, j'comprends ! Merci beaucoup, j'essaye et je te tiens au courant :)
dernier petit truc: en fait, je fais un site internet où j'ai récupéré un kit graphique. Donc que des pages html, et je voulais savoir si on pouvait inclure à la suite du code html ce script php directement ? ou faut-il que dans le html, je dise d'aller chercher un second fichier php ?
Ajouter un commentaire
Réponse
+0
moins plus
en gros, est ce que je peux faire ca ou on a pas le droit de mélanger php et html?

<html>
[...]
<?php 
$num_ligne=2; 
$fichier = file('meteo.txt'); 
echo(""); 
$position=explode(";",$fichier[$num_ligne-1]); 

switch ($position[0]) 
{ 
    case "soleil": 
        echo '<img src="soleil.gif" />'; 
        echo '<DIV STYLE="position:absolute; top:30; left:130"> 
  <FONT FACE="Verdana" COLOR="#FFFFFF" size 7> 
  <b>.$position[1].</b> 
  </FONT> 
 </DIV>'; 
    break; 
    case "pluie": 
        echo '<img src="pluie.gif" />' 
        echo '<DIV STYLE="position:absolute; top:30; left:130"> 
  <FONT FACE="Verdana" COLOR="#FFFFFF" size 7> 
  <b>.$position[1].</b> 
  </FONT> 
 </DIV>'; 
   break; 
  [...] 
} 
?>
[...]
</html>
Ajouter un commentaire
Réponse
+0
moins plus
si tu peux le faire, faut juste renommer pour que le fichier s'appel truc.php par exemple, pour que le serveur interprète ton code et pas truc.html
Ajouter un commentaire
Réponse
+0
moins plus
Ok, merci beaucoup ! Je teste tout ça et si j'ai un souci, je te dis ! encore merci :)
Bonne journée !
Ajouter un commentaire
Réponse
+0
moins plus
Bon et beh, j'ai un souci =)

Je viens de tester tout ca, j'ai changé mon script, j'ai renommé le fichier meteo.html en meteo.php.
Et quand je lance le fichier dans mon navigateur, on me re-écrit une partie du script et j'comprends pas vraiment pourquoi ...


Voilà ce que l'on me met :

'; echo '
.$position[1].
'; break; case "soleilnuage": echo '' echo '
.$position[1].
'; break; case "soleilpluie": echo '' echo '
.$position[1].
'; break; case "lune": echo '' echo '
.$position[1].
'; break; case "lunenuage": echo '' echo '
.$position[1].
'; break; case "lunepluie": echo '' echo '
.$position[1].
'; break; } case "neige": echo '' echo '
.$position[1].
'; break; case "orage": echo '' echo '
.$position[1].
'; break; ?>


Sais-tu à quoi ça pourrait être dû?
Hate64- 14 févr. 2012 à 12:12
Je viens d'uploader sur le ftp les fichiers et le message d'erreur que l'on me donne est le suivant :

Parse error: syntax error, unexpected T_ECHO, expecting ',' or ';' in /var/www/m/ma/man/manuel.bouras.perso.sfr.fr/public_html/Site/meteo.php on line 76

La ligne 76 correspond à ce bout de code :

76 echo '<DIV STYLE="position:absolute; top:30; left:130">
77 <span class="MeteoStyle">.$position[1].</span>
78 </DIV>';
Mimiste- 14 févr. 2012 à 14:21
le probleme est a la ligne avant (75 donc), il doit manquer un ; a la fin de la ligne
Hate64- 14 févr. 2012 à 19:29
En effet, t'avais raison, j'avais oublié un ";" à la fin de la ligne 75 mais également, les apostrophes de chaque coté de ' .$position[1]. ' ! Merci pr ton aide !
Ajouter un commentaire
Ce document intitulé « Script php/html structure if ouu switch case » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?