Bonjour,
je développe actuellement une liste qui lorsque l'on clique sur un titre, fait apparaitre sa jaquette sur sa droite.
Les jaquettes ne se trouvant pas sur le serveur, je suis obliger de passer par du PHP.
Voici le code qui possède la liste et l'image de la jaquetteje passe par du ajax pour rafraichir uniquement l'image)
Requête ajax
Code de la liste et de l'image
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 <script language="javascript" type="text/javascript"> var xhr = null; function getXhr() { if(window.XMLHttpRequest)xhr = new XMLHttpRequest(); else if(window.ActiveXObject) { try{ xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } } function change() { var titre = document.form1.select.options[document.form1.select.selectedIndex].value; if(titre == ''){ document.form1.img_1.src='images/logo.png'; return; } getXhr(); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200){ document.getElementById('test').innerHTML=xhr.responseText; } } xhr.open("GET","image1.php?nom="+titre,true); xhr.send(null); } </script>
Voici le code du fichier image1.php
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 <form name="form1" method="post" action=""> <table width="900" border="0" align="center"> <tr> <td width="445" align="center" valign="middle"> <?php $file = fopen($path, "r"); echo '<center><select name="select" size="19" class="largeur" onClick="change();">'; while(!feof($file)){ //Tant que l'on est pas a la fin du fichier $buffer = fgets($file); $buffer = substr($buffer, 4); $buffer = trim($buffer); $buffer1 = str_replace(" ","_",$buffer); $titre = $dir.$buffer1.".dtf"; if (file_exists($titre)){ $type = type_film($titre); if ($type == 1){ echo '<option value="'.utf8_encode($buffer1).'">'.utf8_encode($buffer).'</option>'; }elseif ($type == 2){ $nbr_film_adultes += 1; } } } echo '</select></center>'; fclose($file); ?> </td> <td width="445" style="background:url(images/fond.png) no-repeat center center; vertical-align:middle;text-align:center;"> <div id="test"> <img src="images/logo.png" alt="" name="img_1" width="185" height="240" id="yyy"> </div> </td> </tr> </table> </form>
Voici le code du fichier image.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?php <?php $nom=$_GET['nom']; echo '<img src="image.php?nom='.$nom.'" alt="" name="img_1" width="185" height="240" id="yyy"/>'; ?> ?>
Mon probleme survient lorsque je clique sur un titre avec un accent ça ne fonctionne pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php readfile("/usr/local/".$_GET['nom'].".png"); ?>
image1.php réceptionne le titre correctement mais lorsqu'on fait appel à image.php ca ne fonctionne plus...
Voyez vous une erreur ?
Merci
Partager