logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
24 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 109 413 135

  • Nb. de membres 8 696
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Le coin des codeurs »» [Résolu] - Variables php dans fonctions en java script

[Résolu] - Variables php dans fonctions en java script#12607

3Contributeur(s)
PhilGuendechJireck
3 Modérateur(s)
developpeurjpbJireck
PhilGuen PhilGuenicon_post
Bonjour à tous

Voici le contenu d'une page php


<script language="!!!!javascript!!!!">
var nbimages = 41
var nomalbum = "william2004"

var nomimage = nomalbum+"/image1.jpg"
var pic_numb = 1

function montrephoto() {
if (pic_numb > nbimages) pic_numb = 1;
if (pic_numb < 1) pic_numb = nbimages;
window.document.images[0].src = nomalbum + '/image' + pic_numb + '.jpg'
nomimage=nomalbum + '/image' + pic_numb + '.jpg'
}

function affichemaxi(pic_numb)
{
nomimage = nomalbum + '/image' + pic_numb + '.jpg';
i1 = new Image;
i1.src = nomimage;
html = '<body LEFTMARGIN=0 MARGINWIDTH=0 TOPMARGIN=0 MARGINHEIGHT=0 background=\"../../fondvelo.jpg\"><CENTER><a HREF=\"!!!!javascript!!!!:window.close()\"><img src=\"'+nomimage+'\" title=\"Cliquez pour fermer\" name=\"imagepopup\"!!!!onload!!!!=\"window.resizeTo(document.imagepopup.width+40,document.imagepopup.height+37)\"></a></body>';
popupImage = window.open('','_blank','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=1,resizable=1');
popupImage.document.open();
popupImage.document.write(html);
popupImage.document.close();
}

function afficheimage(nimage)
{
nomimage = nomalbum + '/image' + nimage + '.jpg';
document.write('<IMG SRC="'+nomimage+'" HSPACE=0 VSPACE=0 BORDER=0 width=500 alt="Cliquez pour agrandir" style="cursor:hand" !!!!onclick!!!!="affichemaxi(pic_numb)">');
}
</script>
<?php
$nbimagesalbum=$nbimages;
$nomalbum = $album;
$titrealbum = $titre;

echo "
<head>
<meta name='ROBOTS' content='NOINDEX'>
</head>

<body text='#800000' link='#800000' vlink='#804040' alink='#FF0000' background='bac1.jpg'>
<center>
<input type='button' value='<< Précédente' !!!!onclick!!!!='montrephoto(pic_numb-=1)' style='cursor:hand'>
<input type='button' value=' Suivante >> ' !!!!onclick!!!!='montrephoto(pic_numb+=1)' style='cursor:hand'>
<br>
<table border='1' width='500'>
<tr>
<td>
<p align='center'>
<i><font face='Times, Times New Roman, serif' size='4'>
$titrealbum
</font></i>
</p>
</td>
</tr>
</table>

<p align='center'>
<script>afficheimage(1)</script>
</p>

</body>
";
?>


Comment pourrais-je faire pour remplacer les variables utilisées dans les fonctions (lignes 2 et 3) par les valeurs contenues dans les variables PHP (lignes 34 et 35) et récupérées en paramètres lors de l'appel de ma page?

Merci par avance de votre aide

Cordialement

Philippe

<p class="LIGNB">Message édité par : PhilGuen</p>

<p class="LIGNB">Message édité par : PhilGuen</p>

Message édité par : PhilGuen

PhilGuen PhilGuenicon_post
Pour ceux que ca interresse :=!

<?php
$nbimagesalbum = $nbimages;
$nomalbum = $album;
$titrealbum = $titre;

echo "
<head>
<meta name='ROBOTS' content='NOINDEX'>
<script language=\"!!!javascript!!!\">
var nomimage
var pic_numb = 1

function montrephoto(album,nimage,nbmaximages) {
if (nimage > nbmaximages) nimage = 1;
if (nimage < 1) nimage = nbmaximages;
window.document.images[0].src = album + '/image' + nimage + '.jpg';
nomimage = album + '/image' + nimage + '.jpg';
pic_numb = nimage;
}

function affichemaxi()
{
i1 = new Image;
i1.src = nomimage;
html = '<body LEFTMARGIN=0 MARGINWIDTH=0 TOPMARGIN=0 MARGINHEIGHT=0><CENTER><a HREF=\"!!!javascript!!!:window.close()\"><img src=\"'+nomimage+'\" title=\"Cliquez pour fermer\" name=\"imagepopup\"!!!onload!!!=\"window.resizeTo(document.imagepopup.width+40,document.imagepopup.height+37)\"></a></body>';
popupImage = window.open('','_blank','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=1,resizable=1');
popupImage.document.open();
popupImage.document.write(html);
popupImage.document.close();
}

function afficheimage(album,nimage)
{
nomimage = album + '/image' + nimage + '.jpg';
document.write('<IMG SRC=\"'+nomimage+'\" HSPACE=0 VSPACE=0 BORDER=0 width=500 alt=\"Cliquez pour agrandir\" style=\"cursor:hand\" !!!onclick!!!=\"affichemaxi()\">');
}
</script>

</head>

<body text='#800000' link='#800000' vlink='#804040' alink='#FF0000' background='bac1.jpg'>
<center>
<input type='button' value='<< Précédente' !!!onclick!!!=\"montrephoto('$nomalbum',pic_numb-=1,'$nbimagesalbum')\" style='cursor:hand'>
<input type='button' value=' Suivante >> ' !!!onclick!!!=\"montrephoto('$nomalbum',pic_numb+=1,'$nbimagesalbum')\" style='cursor:hand'>
<br>
<table border='1' width='500'>
<tr>
<td>
<p align='center'>

<i><font face='Times, Times New Roman, serif' size='4'>
$titrealbum
</font></i>
</p>
</td>
</tr>
</table>

<p align='center'>
<script>afficheimage('$nomalbum',1)</script>
</p>

</body>
";
?>

<p class="LIGNB">Message édité par : PhilGuen</p>

Message édité par : PhilGuen

PhilGuen PhilGuenicon_post
Pour faire + simple et + rationnel

:-D

<?PHP
$nbimagesalbum = $nbimages;
$nomalbum = $album;
$titrealbum = $titre;

echo "
<head>
<meta name='ROBOTS' content='NOINDEX'>
<script language=\"!javascript!\">
var nomimage
var pic_numb = 1

function changeimage() {
if (pic_numb > '$nbimagesalbum') pic_numb = 1;
if (pic_numb < 1) pic_numb = '$nbimagesalbum';
nomimage = '$nomalbum' + '/image' + pic_numb + '.jpg';
window.document.images[0].src = nomimage;
}

function affichemaxi()
{
i1 = new Image;
i1.src = nomimage;
html = '<body LEFTMARGIN=0 MARGINWIDTH=0 TOPMARGIN=0 MARGINHEIGHT=0><CENTER><a HREF=\"!javascript!:window.close()\"><img src=\"'+nomimage+'\" title=\"Cliquez pour fermer\" name=\"imagepopup\"!onload!=\"window.resizeTo(document.imagepopup.width+40,document.imagepopup.height+37)\"></a></body>';
popupImage = window.open('','_blank','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=1,resizable=1');
popupImage.document.open();
popupImage.document.write(html);
popupImage.document.close();
}

function afficheimage(nimage)
{
nomimage = '$nomalbum' + '/image' + nimage + '.jpg';
document.write('<IMG SRC=\"'+nomimage+'\" HSPACE=0 VSPACE=0 BORDER=0 width=500 alt=\"Cliquez pour agrandir\" style=\"cursor:hand\" !onclick!=\"affichemaxi()\">');
}
</script>

</head>

<body text='#800000' link='#800000' vlink='#804040' alink='#FF0000' background='bac1.jpg'>
<center>
<input type='button' value='<< Précédente' !onclick!=\"changeimage(pic_numb-=1)\" style='cursor:hand'>
<input type='button' value=' Suivante >> ' !onclick!=\"changeimage(pic_numb+=1)\" style='cursor:hand'>
<br>
<table border='1' width='500'>
<tr>
<td>
<p align='center'>

<i><font face='Times, Times New Roman, serif' size='4'>
$titrealbum
</font></i>
</p>
</td>
</tr>
</table>

<p align='center'>
<script>afficheimage(1)</script>
</p>

</body>
";
?>

Message édité par : PhilGuen

dech dechicon_post
Pourrais-tu juste nous dire l'utilité de cette page. (Si c'est pour afficher la photo de ma belle-mère, suis pas preneur :-D )
Jireck Jireckicon_post
le pb s'est qu'il faut trancher le code en deux car y'a un bout qui va dans le head et l'auter dans le body.
PhilGuen PhilGuenicon_post
Je ne sais pas si ce code a une grande utilité pour la communauté, mais je pensais "normal", après avoir posé une question de donner la solution que j'avais trouvée, même si cette dernière est techniquement limitée.


à Dech
tu peux aussi mettre les photos des pin up des calendriers Pirelli à la place de celle de ta belle mère :-o

Ce code me sert à afficher des images sous formes de diaporama avec défilement (boutons suivant et précédent), ouverture d'une fenêtre affichant la photo en taille réelle par un click sur l'image et fermeture du pop-up par un click dans l'image qu'il contient.

$nbimagesalbum = nombre d'images de l'album (pour gérer le défilement)
$nomalbum = chemin de stockage des photos pour un album donné
$titrealbum = titre donné à l'album.

ces 3 paramètres sont passés par le lien d'appel du genre
<li><a href=\"diaporama.php?nbimages=41&album=william2004&titre=La William 2004\" target=\"album\">La William 2004.</a></li>

C'est basique, mais ca me suffit

pour Jireck

En fait, cette page pourrait rester en html et fonctionner très bien, sauf que je ne sais pas passer des paramètres variables en html et que c'est très facile en php d'où l'idée de faire fonctionner le code html dans uns page php.

Suis pas assez balaise en pHP pour faire mieux ... suis déjà content d'avoir réussi à adapter mon ancien code html, mais suis preneur de toute solution plus "belle" techniquement.


Amitiés à tous

Philippe



Message édité par : PhilGuen

dech dechicon_post
merci de cette précision ! 8-)
Jireck Jireckicon_post
restons simple

a mettre sous forme d'!include! dans le header_before.inc


<?PHP 
$nbimagesalbum 
$nbimages
$nomalbum $album
$titrealbum $titre

echo 


<meta name='ROBOTS' content='NOINDEX'>
<script language=
\"!!javascript!!\">
var nomimage 
var pic_numb = 1 

function changeimage() 
{ 
if (pic_numb > '$nbimagesalbum') pic_numb = 1;
if (pic_numb < 1) pic_numb = '$nbimagesalbum';
nomimage = '$nomalbum' + '/image' + pic_numb + '.jpg';
window.document.images
[0].src = nomimage;
} 

function affichemaxi()
{ 
i1 = new Image;
i1.src = nomimage;
html = '<body LEFTMARGIN=0 MARGINWIDTH=0 TOPMARGIN=0 MARGINHEIGHT=0><CENTER><a HREF=
\"!!javascript!!:window.close()\"><img src=\"'+nomimage+'\" title=\"Cliquez pour fermer\" name=\"imagepopup\"!!onload!!=\"window.resizeTo(document.imagepopu p.width+40,document.imagepopup.height+37)\"></a></body>'; < br /> popupImage = window.open('','_blank','toolbar=0,location=0,directories=0,menuBar=0,scrollbar s=1,resizable=1');
popupImage.document.open();
popupImage.document.write(html);
popupImage.document.close();
} 

function afficheimage(nimage)
{ 
nomimage = '$nomalbum' + '/image' + nimage + '.jpg';
document.write('<IMG SRC=
\"'+nomimage+'\" HSPACE=0 VSPACE=0 BORDER=0 width=500 alt=\"Cliquez pour agrandir\" style=\"cursor:hand\" !!onclick!!=\"affichemaxi()\">');
} 
</script>
";
?>




puis ca dans le corps:



<center>
<input type='button' value='<< Précédente' !!onclick!!=\"changeimage(pic_numb-=1)\" style='cursor:hand'>
<input type='button' value=' Suivante >> ' !!onclick!!=\"changeimage(pic_numb+=1)\" style='cursor:hand'>
<br>
<table border='1' width='500'>
<tr>
<td>
<p align='center'>

<i><font face='Times, Times New Roman, serif' size='4'>
$titrealbum
</font></i>
</p>
</td>
</tr>
</table>

<p align='center'>
<script>afficheimage(1)</script>
</p>




A corriger G juste couper
PhilGuen PhilGuenicon_post
:=!

Bah voilà ... on reconnait les pros !!!!!!

Ca c'est + joli

Merci de ton aide

Amitiés

Philippe
Jireck Jireckicon_post
merci du compliement mais c'est du copier / Coller
PhilGuen PhilGuenicon_post
Je reviens sur le sujet :

Grace à vous, ca fonctionne avec des variables "normales" mais je n'arrive pas à utiliser un tableau php dans un script

Je construis un tableau de la manière suivante :
<?PHP
//parametres passés en appel de la page
$nbimagesalbum = $nbimages;
$nomalbum = $album;
$titrealbum = $titre;
$auteuralbum = $auteur;

$fichiercommentaires = $nomalbum.'/commentaires.txt';

if (file_exists($fichiercommentaires)) {
$fd = fopen ($fichiercommentaires, "r");
while (!feof ($fd)) {
$lignecommentaires[] = fgets($fd);
}
fclose ($fd);
}
?>

et je voudrais l'utiliser dans ma fonction du genre

<script language=\"!javascript!\">
var nomimage
var pic_numb = 1

function changeimage() {
if (pic_numb > '$nbimagesalbum') pic_numb = 1;
if (pic_numb < 1) pic_numb = '$nbimagesalbum';
nomimage = '$nomalbum' + '/image' + pic_numb + '.jpg';
window.document.images[0].src = nomimage;
document.getElementById('commentaire').innerHTML = $lignecommentaires[pic_numb];
}

</script>

document.getElementById('commentaire').innerHTML = $lignecommentaires[pic_numb]; => ca coince

document.getElementById('commentaire').innerHTML = \"coucou\"; => c OK

document.getElementById('commentaire').innerHTML = '$moncommentaire' ; => c OK

Merci de votre aide

Philippe
ca coince avec la variable tableau, c'est OK si je remplace $lignecommentaires[pic_numb]; par une chaine ou le contenu d'une variable "normale"