Rechercher : dans
Par :

Problème pour intégrer du javascript dans php

Dernière réponse le 10 aoû 2009 à 18:48:13 ratagaz, le 14 oct 2005 à 14:55:59 
 Signaler ce message aux modérateurs

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 !

Meilleures réponses pour « Problème pour intégrer du javascript dans php » dans :
[Webmaster] Faire une redirection VoirLes différentes solutions sont présentées de la meilleure (.htaccess) à la moins bonne (JavaScript). Un .htaccess Le .htaccess est à placer dans le répertoire qui doit être redirigé. On applique une redirection de cette façon : RedirectPermanent...
Télécharger PSPad VoirPSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS, Javascript, php ou autres langages de programmation (C++, Java, Python...). Les fonctionnalités sont impressionnantes: ...
Javascript - Implantation du code VoirA quel emplacement insérer le Javascript dans votre page HTML Il existe plusieurs façons d'inclure du JavaScript dans une page HTML : Grâce à la balise En mettant le code dans un fichier Grâce aux événements Dans la balise...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...

1

ratagaz, le 14 oct 2005 à 15:58:08
  • +1

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 !

Répondre à ratagaz

3

wiwimagique, le 14 oct 2005 à 16:03:21

C'est normal, c'est l'url de ta page actuelle qui apparaît

Dans sa voiture rouge et jaune

Répondre à wiwimagique

2

wiwimagique, le 14 oct 2005 à 16:02:16

Il me semble qu'il faille mettre des quotes dans la fonction javascript :

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

Dans sa voiture rouge et jaune

Répondre à wiwimagique

4

ratagaz, le 14 oct 2005 à 16:12:02

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 !

Répondre à ratagaz

5

wiwimagique, le 14 oct 2005 à 16:22:14

J'ai repris ton code et chez moi, lorsque je mets les quotes, ça marche ...

Dans sa voiture rouge et jaune

Répondre à wiwimagique

6

ratagaz, le 14 oct 2005 à 16:34:12

Ah bon ? Tu as la fenêtre qui s'ouvre avec exactement le même code ?

Répondre à ratagaz

7

wiwimagique, le 14 oct 2005 à 16:47:30

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 ?
Dans sa voiture rouge et jaune

Répondre à wiwimagique

8

ratagaz, le 14 oct 2005 à 16:49:27

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 .

Répondre à ratagaz

9

wiwimagique, le 14 oct 2005 à 16:52:21
  • +4

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.

Dans sa voiture rouge et jaune

Répondre à wiwimagique

10

ratagaz, le 14 oct 2005 à 16:56:40
  • +1

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 :) .

Répondre à ratagaz

11

ratagaz, le 14 oct 2005 à 17:09:39

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 !

Répondre à ratagaz

12

Olivier, le 10 mar 2009 à 16:13:40

Il faut écrire :

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

Répondre à Olivier

13

 newsralf, le 10 aoû 2009 à 18:48:13

Merci olivier, tu m'as sauvé ;-)

Répondre à newsralf