Problème pour intégrer du javascript dans php

Résolu/Fermé
ratagaz Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 11 mai 2008 - 14 oct. 2005 à 14:55
 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 !
A voir également:

12 réponses

wiwimagique Messages postés 481 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 20 avril 2006 108
14 oct. 2005 à 16:52
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.

8
ratagaz Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 11 mai 2008 15
14 oct. 2005 à 16:56
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 :) .
4
merci olivier, tu m'as sauvé ;-)
3
ratagaz Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 11 mai 2008 15
14 oct. 2005 à 15:58
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 !
2
wiwimagique Messages postés 481 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 20 avril 2006 108
14 oct. 2005 à 16:03
C'est normal, c'est l'url de ta page actuelle qui apparaît

0
bbcbdcgbdfgdg dfdf j zr hlmù kfdsflsro reorzieorz fjsldmfùmlf lfskflsn fjsmfsù sfs
gkdjfgùkdfjgdkggùdgk glmdgdmgldglg
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wiwimagique Messages postés 481 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 20 avril 2006 108
14 oct. 2005 à 16:02
Il me semble qu'il faille mettre des quotes dans la fonction javascript :

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

1
ratagaz Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 11 mai 2008 15
14 oct. 2005 à 16:12
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 !
1
wiwimagique Messages postés 481 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 20 avril 2006 108
14 oct. 2005 à 16:22
J'ai repris ton code et chez moi, lorsque je mets les quotes, ça marche ...

1
ratagaz Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 11 mai 2008 15
14 oct. 2005 à 16:34
Ah bon ? Tu as la fenêtre qui s'ouvre avec exactement le même code ?
1
wiwimagique Messages postés 481 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 20 avril 2006 108
14 oct. 2005 à 16:47
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 ?
1
ratagaz Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 11 mai 2008 15
14 oct. 2005 à 16:49
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 .
0
ratagaz Messages postés 56 Date d'inscription mercredi 5 mai 2004 Statut Membre Dernière intervention 11 mai 2008 15
14 oct. 2005 à 17:09
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
Il faut écrire :

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