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

Signaler
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
11 mai 2008
-
 eee -
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 !

12 réponses

Messages postés
488
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
20 avril 2006
102
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
Merci

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

CCM 63610 internautes nous ont dit merci ce mois-ci

Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
11 mai 2008
15
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 :) .
merci olivier, tu m'as sauvé ;-)
Messages postés
56
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
11 mai 2008
15
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 !
Messages postés
488
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
20 avril 2006
102
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
Statut
Membre
Dernière intervention
20 avril 2006
102
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
Statut
Membre
Dernière intervention
11 mai 2008
15
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
Statut
Membre
Dernière intervention
20 avril 2006
102
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
Statut
Membre
Dernière intervention
11 mai 2008
15
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
Statut
Membre
Dernière intervention
20 avril 2006
102
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
Statut
Membre
Dernière intervention
11 mai 2008
15
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
Statut
Membre
Dernière intervention
11 mai 2008
15
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 !
Il faut écrire :

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