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 jaquette je passe par du ajax pour rafraichir uniquement l'image)
Requête ajax
Code :
- <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>
|
Code de la liste et de l'image
Code :
- <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 image1.php
Code :
- <?php
- <?php
- $nom=$_GET['nom'];
- echo '<img src="image.php?nom='.$nom.'" alt="" name="img_1" width="185" height="240" id="yyy"/>';
- ?>
- ?>
|
Voici le code du fichier image.php
Code :
- <?php
- readfile("/usr/local/".$_GET['nom'].".png" );
- ?>
|
Mon probleme survient lorsque je clique sur un titre avec un accent ça ne fonctionne pas...
image1.php réceptionne le titre correctement mais lorsqu'on fait appel à image.php ca ne fonctionne plus...
Voyez vous une erreur ?
Merci
Message édité par johnson950 le 13-08-2008 à 17:47:46