Menu

Problème pour intégrer du javascript dans php [Résolu/Fermé]

Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Dernière intervention
11 mai 2008
- - Dernière réponse :  eee - 14 mars 2013 à 15:51
Bonjour !

Je souhaite utiliser une fonction javascript qui ouvre une fenêtre dans laquelle une image s'affiche . J'envoi pour cela des variables récupérées dans une base de donnée à la fonction javascript . Voici la fonction :
<script language="javascript">
<!--
function image(id,nom)
{
var NouvFenetre = window.open ("", "image", "width=500, height=500, menubar=no, toolnars=no, scrollbars=no");

if(NouvFenetre==null)
{
var CodeHtml = "<html><head><title>"+titre+"</title></head>";
CodeHtml += "<body><p><img src=images_normales/"+nom+" border=0>";
CodeHtml += "<p align='right'><input type='button' value='Fermer' onClick='self.close()'>";
CodeHtml += "</body></html>";
NouvFenetre.document.open();
NouvFenetre.document.write(CodeHtml);
NouvFenetre.document.close();
}
if(NouvFenetre!=null) NouvFenetre.focus();
return NouvFenetre;
}
-->
</script>

Et la partie en php ou se trouve l'appel de la fonction :

if(isset($_REQUEST['date']))
{
$req="select * from image_seb where date_img='$_REQUEST[date]'";

$action=mysql_query($req) or die("Erreur dans la requête date : ".mysql_error()."</body></html>");

echo"<tr><td colspan='3' align='center'>".$_REQUEST['sujet_actu']."</td></tr>";

$i=0;

while($ligne=mysql_fetch_row($action))
{
$id=$ligne[0];
$img=$ligne[1];
$lgde=$ligne[3];
$date=$ligne[9];

if (($i % 3 == 0))
{
if($i!=0) echo"</tr><tr><td colspan='3'> </td></tr><tr>";
else echo"<tr>";
}

echo"<td align='center'><a href='#' onClick='image($id,$img)'><img src=images/".$img." border=0 title='".$lgde."'><br /><br />$img</a></td>";
$i++;
}
}

Je suis donc censé cliquer sur une image qui appelle la fonction mais il ne se passe rien et j'ai un message d'erreur qui me dit Erreur : manif4oct1 is not defined . manif4oct1 est la valeur de la variable $img et il manque .jpg car c'est une image .
Je ne vois pas comment définir cette variable . C'est peut-être une erreur de syntaxe .

Merci d'avance !
Afficher la suite 

12 réponses

Meilleure réponse
Messages postés
488
Date d'inscription
mardi 21 janvier 2003
Dernière intervention
20 avril 2006
139
8
Merci
Voilà

<script language="javascript"> 
<!-- 
function image(id,nom) 
{ 
var NouvFenetre = window.open ("", "image", "width=500, height=500, menubar=no, toolnars=no, scrollbars=no"); 

if(NouvFenetre==null) 
{ 
var CodeHtml = "<html><head><title>"+titre+"</title></head>"; 
CodeHtml += "<body><p><img src=images_normales/"+nom+" border=0>"; 
CodeHtml += "<p align='right'><input type='button' value='Fermer' onClick='self.close()'>"; 
CodeHtml += "</body></html>"; 
NouvFenetre.document.open(); 
NouvFenetre.document.write(CodeHtml); 
NouvFenetre.document.close(); 
} 
if(NouvFenetre!=null) NouvFenetre.focus(); 
return NouvFenetre; 
} 
--> 
</script>

<?php $img='manif4oct1'; ?>
<?php $id='5'; ?>
<a href='#' onClick="image('<?=$id?>','<?=$img?>')"><img src=images/<?=$img?> border=0 title='lalala'><br /><br /><?=$img?></a>



J'ai très légèrement modifié (zappé le sql pour donner des valeur en dur, et j'ai aussi zappé le echo, j'aime pô)


Pour ta rassurer, sans les quotes, j'ai le même message d'erreur que tu as eu.

Dire « Merci » 8

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 49004 internautes nous ont dit merci ce mois-ci

Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Dernière intervention
11 mai 2008
17
4
Merci
D'accord merci beaucoup de m'aider . Je vais essayer ça . Pour les echo c'est vrai que des fois ça m'embrouille plus qu'autre chose :) .
3
Merci
merci olivier, tu m'as sauvé ;-)
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Dernière intervention
11 mai 2008
17
2
Merci
Pour plus de précision quand je survole une des images une url apparait dans le bas du navigateur alors qu'il n'y a rien dans le href à part # . Je ne comprends rien !
wiwimagique
Messages postés
488
Date d'inscription
mardi 21 janvier 2003
Dernière intervention
20 avril 2006
139 -
C'est normal, c'est l'url de ta page actuelle qui apparaît

bbcbdcgbdfgdg dfdf j zr hlmù kfdsflsro reorzieorz fjsldmfùmlf lfskflsn fjsmfsù sfs
gkdjfgùkdfjgdkggùdgk glmdgdmgldglg
Messages postés
488
Date d'inscription
mardi 21 janvier 2003
Dernière intervention
20 avril 2006
139
1
Merci
Il me semble qu'il faille mettre des quotes dans la fonction javascript :

<a href='#'  onClick=\"image('$id','$img')\">

Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Dernière intervention
11 mai 2008
17
1
Merci
J'ai essayé avec les quotes mais ça ne change rien . Il n'y a qu'une variable qui n'est pas définie dans le message d'erreur c'est celle que prend $img . Merci de ton aide en tout cas !
Messages postés
488
Date d'inscription
mardi 21 janvier 2003
Dernière intervention
20 avril 2006
139
1
Merci
J'ai repris ton code et chez moi, lorsque je mets les quotes, ça marche ...

Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Dernière intervention
11 mai 2008
17
1
Merci
Ah bon ? Tu as la fenêtre qui s'ouvre avec exactement le même code ?
Messages postés
488
Date d'inscription
mardi 21 janvier 2003
Dernière intervention
20 avril 2006
139
1
Merci
oui, exactement le même :-/

P-e que ta page est restée dans le cache du navigateur ?
tu as jeté un oeil à la source ?
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Dernière intervention
11 mai 2008
17
0
Merci
Peux-tu me donner ton code comme tu l'as chez toi ? J'ai laissé les quotes mais il y a peut être des erreurs sur le mien qu'il n'y a pas sur le tien .
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Dernière intervention
11 mai 2008
17
0
Merci
Oui ça y'est ça marche ! J'ai enlevé le echo et ça marche sauf si je veux récupérer une autre valeur dans ma table mais c'est déjà beaucoup mieux !
Merci de ton aide !
0
Merci
Il faut écrire :

"image(<?php echo $id; ?>,<?php echo $img; ?>)" je crois bien .