IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Affichage images Firefox / Internet Explorer


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 42
    Points : 24
    Points
    24
    Par défaut Affichage images Firefox / Internet Explorer
    Bonjour,

    tout d'abord, je tiens à préciser que je suis débutant en PHP, donc, prenez patience .

    Alors voilà, je souhaite faire un script qui affichent les photos d'un dossier. Avant ça, le visiteur choisira les photos à voir en fonction de l'année et la série choisie.

    Voici le code que j'ai écrit (pas parfait certes, mais je m'essaie au php je le rappelle...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
     
    <h1>Les photos du club</h1>
    <br />
    <?
    // Déclaration des variables
    // -------------------------
     
    // Tableau qui contient la liste des fichiers
    $files = array();
    ?>
     
     
    <?
    // Cas où l'année n'est pas encore choisie
    // ----------------------------------------
    if (!isset($_GET['annee'])) {
    	echo "Veuillez choisir l'année qui vous intéresse.<br /><br />";
    	// On ouvre le dossier
    	$handle = opendir("images/club");
    	// On parcourt les noms d'années
    	while ($file = readdir($handle)) {
    		if($file != "." && $file != "..") {
    			$files[] = $file;
    		}
    	}
    	// On referme le dossier
    	closedir($handle);
    	// On trie le tableau
    	sort($files);
     
    	// On affiche alors les dossiers
    	$bg = '#dddddd';
    	echo "<table align='center' cellspacing='4' cellpadding='4'>";
    	foreach($files as $v) {
    		echo "<tr bgcolor=$bg>
    			  	<td>
    			  		<a href='index.php?page=photos_club.php&annee=".rawurlencode($v)."'>< $v ></a>
    			  	</td>
    			  </tr>";
    		if ($bg == '#dddddd') $bg = '#ffffff';
    		else $bg = '#dddddd';
    	}
    	echo "</table>";
    }
     
    // Cas où la série n'est pas encore choisie
    // -----------------------------------------
    else if (!isset($_GET['serie'])) {
    	echo "Veuillez choisir la série qui vous intéresse.<br /><br />";
    	// On ouvre le dossier
    	$handle = opendir("images/club/$_GET[annee]");
    	// On parcourt les noms d'années
    	while ($file = readdir($handle)) {
    		if($file != "." && $file != "..") {
    			$files[] = $file;
    		}
    	}
    	// On referme le dossier
    	closedir($handle);
    	// On trie le tableau
    	sort($files);
     
    	// On affiche alors les dossiers
    	$bg = '#dddddd';
    	echo "<table align='center' cellspacing='4' cellpadding='4'>";
    	foreach($files as $v) {
    		echo "<tr bgcolor=$bg>
    			  	<td>
    			  		<a href=\"index.php?page=photos_club.php&annee=".rawurlencode($_GET['annee'])."&serie=".rawurlencode($v)."\">>> $v</a>
    			  	</td>
    			  </tr>";
    		if ($bg == '#dddddd') $bg = '#ffffff';
    		else $bg = '#dddddd';
    	}
    	echo "</table>";
    	echo "<br /><br />";
    	// On met le lien de retour en arrière
    	echo "<div align='center'>";
    	echo "<a href='index.php?page=photos_club.php'>Retour</a>";
    	echo "</div>";
    }
     
    // Cas où l'on affiche les photos
    // ------------------------------
    else {
    	echo "<div align='center'>", $_GET['serie'], "</div>";
    	echo "<br /><br />";
    	// Variable qui permet de construire le tableau de N photo de large
    	$nbrePhoto = 0;
    	$N= 3;
     
    	// On ouvre le dossier
    	$handle = opendir("images/club/$_GET[annee]/$_GET[serie]");
    	// On parcourt les noms d'années
    	while ($file = readdir($handle)) {
    		if($file != "." && $file != ".." && $file != "Thumbs.db") {
    			$files[] = $file;
    		}
    	}
    	// On referme le dossier
    	closedir($handle);
    	// On trie le tableau
    	sort($files);
     
    	// On crée le tableau
    	echo "<table align='center' cellspacing='2' cellpadding='2' border ='1' bordercolor='#dddddd'>";	
    	foreach($files as $v) {
    		// Nouvelle ligne
    		if ($nbrePhoto == 0) {
    			echo "<tr>";
    		}
    		// On affiche la photo
    		echo "<td><div align='center'><a
    		href=\"images/club/".rawurlencode($_GET['annee'])."/".rawurlencode($_GET['serie'])."/".rawurlencode($v)."\" target='_blank'>
    				  <img src=\"images/club/".rawurlencode($_GET['annee'])."/".rawurlencode($_GET['serie'])."/".rawurlencode($v)."\" width='50%' height='50%' border='0'></a></div></td>";
    		$nbrePhoto = $nbrePhoto + 1;
    		if ($nbrePhoto == $N) {
    			echo "</tr>";
    			$nbrePhoto = 0;
    		}
    	}
    	if ($nbrePhoto != 0) {
    		echo "</tr>";
    	}
    	// On referme le tableau
    	echo "</table>";
    	echo "<br /><br />";	
    	// On met le lien de retour en arrière
    	echo "<div align='center'>";
    	echo "<a href='index.php?page=photos_club.php&annee=".rawurlencode($_GET['annee'])."'>Retour</a>";
    	echo "</div>";
    }
    ?>
    Ce script marche parfaitement pour les utilisateurs Linux (qui sont donc sous FireFox / Mozilla), par contre, un pb se posent pour les utilisateurs d'internet explorer : le tableau s'affiche mais pas les photos (ni meme le lien vers ces photos).

    Voilà j'espère avoir été assez clair dans la description de mon problème et que vous pourrez m'aider.
    Merci d'avance

  2. #2
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    Le code executé est le même c'est un problème html, peut-être une syntaxe que IE ne reconnaît pas.

    As-tu un exemple hébergé pour pouvoir voir le résultat? Comme ça c'est dûr de débuger l'html...
    Fiquet
    - FAQ SDL
    - FAQ C++

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    As-tu un exemple hébergé pour pouvoir voir le résultat?
    http://leclubdescinqhx1.free.fr/inde...hotos_club.php

    Voilà, le pb que je donne, c 'est celui de cette page....J'espère que ca pourra t'aider à résoudre mon pb !
    Merci de m'aider en tout cas !

  4. #4
    Membre habitué Avatar de Orionmel
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2004
    Messages : 174
    Points : 185
    Points
    185
    Par défaut
    Je ne sais pas si c'est ca mais...

    Si tu regardes le code source de la page, tu verras que les espaces dans les noms de tes photos et de tes dossiers est remplacé par %20

    Résultat, au lieu de rechercher la photo nommée nom nom.jpg, le navigateur recherche une photo nommée nom%20nom.jpg 8)

    J'ai eu le même problème sur mon site perso de free, et le seul moyen que j'ai trouvé c'est de mettre des underscore à la place mais c'est du bidouillage

    Doit avoir beaucoup beaucoup plus mieux

  5. #5
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="asrfd.jpg" width='50%' height='50%' border='0'>
    Ne met pas les % à tes taille de photo ça ne se fait pas, il faut mettre 50 tout court pour 50 pixels
    Fiquet
    - FAQ SDL
    - FAQ C++

  6. #6
    Membre habitué Avatar de Orionmel
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2004
    Messages : 174
    Points : 185
    Points
    185
    Par défaut
    Je ne sais pas si c'est ca mais...

    Si tu regardes le code source de la page, tu verras que les espaces dans les noms de tes photos et de tes dossiers est remplacé par %20

    Résultat, au lieu de rechercher la photo nommée nom nom.jpg, le navigateur recherche une photo nommée nom%20nom.jpg 8)

    J'ai eu le même problème sur mon site perso de free, et le seul moyen que j'ai trouvé c'est de mettre des underscore à la place des espace (str_replace (" ", "_", "nom_photo")) mais c'est du bidouillage

    Doit avoir beaucoup beaucoup mieux

  7. #7
    Membre habitué Avatar de tony montana
    Profil pro
    Inscrit en
    Février 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 114
    Points : 136
    Points
    136
    Par défaut
    salut,
    le problème ne vient pas des espaces, la preuve ca marche bien sous firefox. (et sous IE si on essaye d'accéder directement à l'image)
    Le %20 correspond à la représentation "URL encoded" de l'espace.

    Mais c'est vrai que c'est toujours mieux d'éviter les espaces, mais ce n'est pas obligatoire.

    Dans ton cas il s'agit d'un problème HTML, assez bizarre ... M'enfin avec IE on s'attend à tout ...
    J'ai testé en enlevant de chaque balise img les attributs width et height, et les images s'affichent bien.
    Essaye de chercher un peu voir si c'est un bug connu d'IE, et comment le contourner ... Oriente toi vers google pour ca, et sinon le forum HTML/CSS

    PS : faudrait que tu pense à sécuriser ton site ...
    par ex :
    - le contenu des répertoires sessions, images, includes, ... visible => met un fichier index.php qui redirige vers la page d'accueil dans chacun de ces répertoires
    - ne passe pas en paramètre le nom de la page à afficher ... => enlève au moins le ".php", tu le met "en dur" dans le include, comme ca personne ne pourra essayer d'accéder à un fichier autre que .php. (mais ca reste très limite)
    - sur tes pages sécurisées (par exemple pour poster un message), vérifie que l'utilisateur est bien authentifié ...

    ==> Lis des tutos sur la sécurité, histoire d'éviter au moins les grosses bourdes ...

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    Un grand merci à vous tous, cela fonctionne.
    Le pb venait bien du "%" (j'ai remplacé 50% par 50 et ca marche).

    Sinon, tony montana, merci bcp pour tes conseils, et merci pour le test .
    A très bientot pour tes tonnes d'autres questions très certainement !!!

  9. #9
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    N'oublie pas le tag
    Fiquet
    - FAQ SDL
    - FAQ C++

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    Voilà qui est fait
    Encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [xhtml] Affichage d'images avec Internet Explorer
    Par acsm14 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 05/10/2008, 17h28
  2. [XHTML] Affichage texte différent FireFox / Internet Explorer
    Par Keever dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 03/04/2008, 23h59
  3. Problème affichage firefox//Internet Explorer
    Par Luffy49 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 29/01/2008, 20h38
  4. Affichage different sous internet explorer et firefox
    Par johann91610 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 05/12/2007, 15h25
  5. [XHTML] Problème affichage différent sur Internet Explorer et FireFox
    Par espaladito dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 22/09/2006, 18h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo