Posez votre question Signaler

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

ratagaz 56Messages postés 5 mai 2004Date d'inscription - Dernière réponse le 10 août 2009 à 18:48
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 !
Lire la suite 

Problème pour intégrer du javascript dans php »

13 réponses
Réponse
+8
moins plus
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.

Ajouter un commentaire
Réponse
+4
moins plus
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 :) .
Ajouter un commentaire
Réponse
+3
moins plus
merci olivier, tu m'as sauvé ;-)
Ajouter un commentaire
Réponse
+2
moins plus
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 - 14 oct. 2005 à 16:03
C'est normal, c'est l'url de ta page actuelle qui apparaît

Ajouter un commentaire
Réponse
+1
moins plus
Il me semble qu'il faille mettre des quotes dans la fonction javascript :

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

Ajouter un commentaire
Réponse
+1
moins plus
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 !
Ajouter un commentaire
Réponse
+1
moins plus
J'ai repris ton code et chez moi, lorsque je mets les quotes, ça marche ...

Ajouter un commentaire
Réponse
+1
moins plus
Ah bon ? Tu as la fenêtre qui s'ouvre avec exactement le même code ?
Ajouter un commentaire
Réponse
+1
moins plus
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 ?
Ajouter un commentaire
Réponse
+0
moins plus
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 .
Ajouter un commentaire
Réponse
+0
moins plus
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 !
Ajouter un commentaire
Réponse
+0
moins plus
Il faut écrire :

"image(<?php echo $id; ?>,<?php echo $img; ?>)" je crois bien .
Ajouter un commentaire
Ce document intitulé « Problème pour intégrer du javascript dans php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Windows 8 - À quoi s'attendre ?