Gestion de Contenu, de Communauté et de groupes de travail collaboratif - Open Source, français, sécurisé, stable et performant

  • MODULES

    Pour étendre les nombreuses fonctionnalités disponibles de base - modules.npds.org est à votre disposition.

    Des modules complémentaires, une communauté de développeurs active, des forums pour vos questions ... NPDS  est aussi une plateforme de développement !
  • STYLES

    Vous cherchez des thèmes graphiques pour votre portail ou votre communauté : styles.npds.org est à votre disposition.

    Des thèmes du plus simple au plus sophistiqué. Des thèmes facilement modifiables et toujours en Open-Source - Laissez simplement parler votre imagination !
  • BIBLES

    La documentation indispensable pour personnaliser et exploiter toute la puissante de NPDS  est à votre disposition sur bible.npds.org.

    Vous pouvez participer à l'effort de documentation - rien de plus simple : contactez un membre de la Team de développement et nous vous ouvrirons un compte sur le Wiki !
Devenir membre    |    Identifiant : Mot de Passe : -
Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.
Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu grâce aux puissants outils disponibles de base.
  • Multi langues (Français, Anglais, Allemand, Espagnol, Chinois)
  • Respect des standards : UTF8, XHTML, CSS, ...
  • Système de blocs avancés
  • Installation et administration complète et centralisée
  • Editeur HTML intégré
  • Gestionnaire de fichier en ligne
  • Gestion des groupes de membres
  • Ecriture collaborative de documents (PAD)
  • Forums évolués
  • Mini-sites (pour les membres et les groupes de travail)
  • Chat temp réel
  • Système de News et de rubriques complet (édition, révision, publication)
  • ...
Gratuit et libre (Open-Source), développé en PHP, NPDS est personnalisable grâce à de nombreux thèmes et modules et ne requiert que quelques compétences de base.
NPDS Workplace - groupe de travail collaboratif
 NPDS WorkSpace - tous l'univers du travail collaboratif.
Modéré par : developpeur jpb Jireck 
Index du Forum » » Le coin des codeurs » » [Résolu] - Variables php dans fonctions en java script
Auteur[Résolu] - Variables php dans fonctions en java script
PhilGuen
995      

PhilGuen
  Posté : 19-07-2004 12:22

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.ima gepopup.width+40,document.imagepopup.height+37)\"></a></body&g t;';
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(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


  Profil  E-mail  www  
PhilGuen
995      

PhilGuen
  Posté : 19-07-2004 15:37

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.image popup.width+40,document.imagepopup.height+37)\"></a></body> ';
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(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')\&quo t; style='cursor:hand'>
<input type='button' value=' Suivante >> ' !!!onclick!!!=\"montrephoto('$nomalbum',pic_numb+=1,'$nbimagesalbum')\&quo t; 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


  Profil  E-mail  www  
PhilGuen
995      

PhilGuen
  Posté : 20-07-2004 08:34

Pour faire + simple et + rationnel



<?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.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>

</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


  Profil  E-mail  www  
dech
2123       
 

dech
  Posté : 20-07-2004 09:38

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 )

  Profil  www  
Jireck
8502       

Jireck
  Posté : 20-07-2004 13:50

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.

  Profil  
PhilGuen
995      

PhilGuen
  Posté : 22-07-2004 08:31

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

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


  Profil  E-mail  www  
dech
2123       
 

dech
  Posté : 22-07-2004 10:32

merci de cette précision !

  Profil  www  
Jireck
8502       

Jireck
  Posté : 22-07-2004 17:39

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&nb sp;+ '.jpg';
window.document.images
[0].src = nomimage;
} 

function affichemaxi()
{ 
i1 = new Image;
i1.src = nomimage;
html = '<body LEFTMARGIN=0 MARGINWIDTH=0 TOPMARGI N=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.ima gepopup.height+37)\"></a></body>'; < br /> popupImage = window.open('','_blank','to olbar=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

  Profil  
PhilGuen
995      

PhilGuen
  Posté : 22-07-2004 19:44



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

Ca c'est + joli

Merci de ton aide

Amitiés

Philippe

  Profil  E-mail  www  
Jireck
8502       

Jireck
  Posté : 22-07-2004 19:51

merci du compliement mais c'est du copier / Coller

  Profil  
PhilGuen
995      

PhilGuen
  Posté : 03-11-2004 12:30

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"

  Profil  E-mail  www  
Sauter à :

Temps : 0.02 seconde(s)