Javascript et PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Javascript et PHP

par lelapinou » 06 oct. 2005, 16:18

Je crois que c le code javascript de base qui a un soucis.
Et ceci dans ces quelques lignes.

Code : Tout sélectionner

if(document.getElementById) mv2_aff += "<TR><TD BGCOLOR="+bgcolor+"><A HREF=\"#\" onMouseOver=\"mv2_pos="+a+"; mv2_menu_draw()\" CLASS=mv2style><FONT FACE=\"Verdana\" SIZE=2>"+mv2_menu[a]+"</FONT></A></TD></TR>"; else mv2_aff += "<TR><TD BGCOLOR="+bgcolor+"><FONT FACE=\"Verdana\" SIZE=2 COLOR=#FFFFFF>"+mv2_menu[a]+"</FONT></TD></TR>" if(mv2_pos == a || !document.getElementById) mv2_aff += "<TR><TD BGCOLOR="+bgcolor+"><FONT FACE=\"Verdana\" SIZE=1>"+mv2_lien[a]+"</FONT></TD></TR>"; }

par lelapinou » 06 oct. 2005, 16:06

erreur corrigée, mais ça n'a pas l'air de venir de ça. la page est chargée mais reste une erreur. : Constante chaine non terminée. et je ne parviens pas à voir laquelle.

par DocType » 06 oct. 2005, 15:53

ta fonction s'appelle mv2_menu_raw()

et tu appelles mv2_menu_draw()

Y'aurait pas comme un problème? :roll:

par lelapinou » 06 oct. 2005, 15:49

Mille excuses. C'est complètement in-intentionel. Veuillez me pardonner, je promet de rectifier cette erreur à l'avenir.

par Xenon_54 » 06 oct. 2005, 15:46

Essaie d'utiliser la balise

Code : Tout sélectionner

lorsque tu envoies du Javascript et la balise [php] pour PHP. Ainsi le code sera un peu plus lisible et facilitera les membres à te répondre.

par Cyrano » 06 oct. 2005, 15:44

Modération : lelapinou, voudrais-tu utiliser quand tu postes du code les boutons prévus à cet effet: [php] ou au minimum [code] : c'est une simple question de respect des autres. Tu trouves que c'est agréable à lire ton code en vrac sans indentation ni coloration syntaxique ???

J'en ai marre d'éditer les messages pour corriger tout le monde sur ce point
:!:

par lelapinou » 06 oct. 2005, 15:40

voici le code généré par mon script php (après avoir fais des sauts de ligne pour la lisibilité)

<SCRIPT LANGUAGE="JavaScript">

document.write("<STYLE TYPE="text/css">\na.mv2style {color:#FFFFFF;text-decoration:none;}\na:hover.mv2style {color:;text-decoration:underlined;}\n</STYLE>");

mv2_menu = new Array();
mv2_lien = new Array();

mv2_menu[1] = 'Gérance';
mv2_lien[1] += '<A HREF="equipe.php?page=affiche&id=1" target="photo" CLASS=mv2style>BOISSON Laurence</A><BR>';
mv2_menu[2] = 'Direction';
mv2_lien[2] += '<A HREF="equipe.php?page=affiche&id=6" target="photo" CLASS=mv2style>CHOUBRAC Bruno</A><BR>';
mv2_menu[3] = 'Service Technique';
mv2_lien[3] += '<A HREF="equipe.php?page=affiche&id=10" target="photo" CLASS=mv2style>GALDAMES Guido</A><BR>';
mv2_lien[3] += '<A HREF="equipe.php?page=affiche&id=7" target="photo" CLASS=mv2style>CHOUBRAC Bruno</A><BR>';
mv2_menu[4] = 'Développement';
mv2_lien[4] += '<A HREF="equipe.php?page=affiche&id=11" target="photo" CLASS=mv2style>GALDAMES Guido</A><BR>';
mv2_lien[4] += '<A HREF="equipe.php?page=affiche&id=8" target="photo" CLASS=mv2style>CHOUBRAC Bruno</A><BR>';
mv2_menu[5] = 'Réalisation Internet';
mv2_lien[5] += '<A HREF="equipe.php?page=affiche&id=12" target="photo" CLASS=mv2style>GALDAMES Guido</A><BR>';
mv2_menu[6] = 'Service Commercial';
mv2_lien[6] += '<A HREF="equipe.php?page=affiche&id=2" target="photo" CLASS=mv2style>BOISSON Laurence</A><BR>';
mv2_lien[6] += '<A HREF="equipe.php?page=affiche&id=9" target="photo" CLASS=mv2style>CHOUBRAC Bruno</A><BR>';
mv2_lien[6] += '<A HREF="equipe.php?page=affiche&id=13" target="photo" CLASS=mv2style>GALDAMES Guido</A><BR>';
mv2_menu[7] = 'Service Administratif';
mv2_lien[7] += '<A HREF="equipe.php?page=affiche&id=3" target="photo" CLASS=mv2style>BOISSON Laurence</A><BR>';

mv2_pos = -1;

function mv2_menu_raw()
{
mv2_aff = "<TABLE BORDER=0 BGCOLOR=#000000 CELLPADDING=0 CELLSPACING=0 WIDTH=160><TR><TD><TABLE BORDER=0 CELLPADDING=03 CELLSPACING=1 WIDTH=100%>";
for(a=0;a<mv2_menu.length;a++)
{
if(mv2_pos == a || !document.getElementById)
bgcolor = "#6699CC";
else
bgcolor = "#006699";

if(document.getElementById)
mv2_aff += "<TR><TD BGCOLOR="+bgcolor+"><A HREF=\"#\" onMouseOver=\"mv2_pos="+a+";
mv2_menu_draw()\" CLASS=mv2style><FONT FACE=\"Verdana\" SIZE=2>"+mv2_menu[a]+"</FONT></A></TD></TR>";
else
mv2_aff += "<TR><TD BGCOLOR="+bgcolor+"><FONT FACE=\"Verdana\" SIZE=2 COLOR=#FFFFFF>"+mv2_menu[a]+"</FONT></TD></TR>"
if(mv2_pos == a || !document.getElementById)
mv2_aff += "<TR><TD BGCOLOR="+bgcolor+"><FONT FACE=\"Verdana\" SIZE=1>"+mv2_lien[a]+"</FONT></TD></TR>";
}
mv2_aff += "</TABLE></TD></TR></TABLE>";
if(document.getElementById)
document.getElementById("mv2").innerHTML = mv2_aff;
else
document.write(mv2_aff);
}
mv2_menu_draw();

</script>

par DocType » 06 oct. 2005, 15:36

ton code n'est probablement pas correct dans ce cas...
J'ai des doutes sur if ($total) :?
Montre la source du fichier lorsqu'il est en page blanche stp

par lelapinou » 06 oct. 2005, 15:22

j'ai essayé ton source mais ça ne change rien, il y a toujours page blanche...
Merci tout de même...

Allons allons, je persévère, luttons contre l'impatience!

par DocType » 06 oct. 2005, 13:55

<?
include('../config.inc.php'); 
$link = mysql_connect($host,$user,$pass) or die('Erreur de connexion à la base : '.mysql_error()); 
mysql_select_db($db) or die('Erreur 2:'.mysql_error());
$rqt = 'SELECT COUNT(ID_SERVICE) FROM SERVICE '; 
$result = mysql_query($rqt,$link) or die('Erreur d\'exécution de la requête de comptage :'.mysql_error()); 
$row = mysql_fetch_row($result); 
$total = $row[0]; 
$rqt = 'SELECT ID_SERVICE,LIBELLE FROM SERVICE '; 
$result = mysql_query($rqt,$link) or die('Erreur d\'exécution de la requête des libellés : '.mysql_error()); 
?>
<STYLE TYPE="text/css">
a.mv2style	{
	color:#FFFFFF;
	text-decoration:none;
}

a:hover.mv2style {
	color:;
	text-decoration:underlined;
}
</STYLE>
<script language="javascript" type="text/javascript">
<!--
mv2_menu = new Array(); 
mv2_lien = new Array();
<?
$indice1 = 0;
if ($total)	{ 
	while($row = mysql_fetch_array($result))	{ 
		$indice1++; 
		echo "mv2_menu[".$indice1."] = '".$row['LIBELLE']."'"; 
		$rqt2 = 'SELECT COUNT(ID_EQUIPE) FROM EQUIPE WHERE ID_SERVICE = '.$row['ID_SERVICE']; 
		$result2 = mysql_query($rqt2,$link) or die('Erreur d\'exécution de la requête de comptage de personnes:'.mysql_error()); 
		$row2 = mysql_fetch_row($result); 
		$total2 = $row2[0]; 
		$rqt2 = 'SELECT ID_EQUIPE,NOM,PRENOM FROM EQUIPE WHERE ID_SERVICE = '.$row['ID_SERVICE']; 
		$result2 = mysql_query($rqt2,$link) or die('Erreur d\'exécution de la requête des nom : '.mysql_error()); 
		$indice2 = 0; 
		if ($total2)	{ 
			while($row2 = mysql_fetch_array($result2))	{ 
				$indice2++; 
				echo "mv2_lien[".$indice1."] += '<A HREF='equipe.php?page=affiche&id=".$row2['ID_EQUIPE']."' target='photo' CLASS=mv2style>".$row2['NOM']." ".$row2['PRENOM']."</A><BR>"; 
			} 
		} 
		mysql_free_result($result2); 
	} 
} 
mysql_free_result($result); 
?>
mv2_pos = -1;
function mv2_menu_raw()	{ 
	mv2_aff = "<TABLE BORDER=0 BGCOLOR=#000000 CELLPADDING=0 CELLSPACING=0 WIDTH=160><TR><TD><TABLE BORDER=0 CELLPADDING=03 CELLSPACING=1 WIDTH=100%>"; 
	for(a=0;a<mv2_menu.length;a++)	{ 
		if(mv2_pos == a || !document.getElementById) 
 			bgcolor = "#6699CC"; 
		else
			bgcolor = "#006699"; 
		if(document.getElementById)
			mv2_aff += "<TR><TD BGCOLOR="+bgcolor+"><A HREF=\"#\" onMouseOver=\"mv2_pos="+a+";mv2_menu_draw()\" CLASS=mv2style><FONT FACE=\"Verdana\" SIZE=2>"+mv2_menu[a]+"</FONT></A></TD></TR>"; 
 		else 
			mv2_aff += "<TR><TD BGCOLOR="+bgcolor+"><FONT FACE=\"Verdana\" SIZE=2 COLOR=#FFFFFF>"+mv2_menu[a]+"</FONT></TD></TR>" 
		if(mv2_pos == a || !document.getElementById) 
			mv2_aff += "<TR><TD BGCOLOR="+bgcolor+"><FONT FACE=\"Verdana\" SIZE=1>"+mv2_lien[a]+"</FONT></TD></TR>"; 
 	}
mv2_aff += "</TABLE></TD></TR></TABLE>";
if(document.getElementById)
	document.getElementById("mv2").innerHTML = mv2_aff;
else
	document.write(mv2_aff);
}
mv2_menu_draw(); 
//-->
</script>
essaies ca :wink:

ne vous occupez plus de ça

par lelapinou » 06 oct. 2005, 13:44

merci, mais je suis le plus gros c........ de la terre.
J'ai un gros manque, et une grosse fatigue car j'ai plein de problème de cottes ou de ; qui manquent.

Merci encore, si vous avez des suggestions n'hésitez pas à les mettres tout de même.

par DocType » 06 oct. 2005, 13:44

oulala ... tu confonds tout !
Pour que ton javascript fonctionne, il faut le déclarer ! utilise les balise script que je tai montré au dessus, et privilégie la ffichage de données php comme je tai montré. Le mieux et de mettre le javascript en brut et les données dynamiques en php. :wink:

par DocType » 06 oct. 2005, 13:41

Alors, pour executer un code javascript dans un fichier php ou html, faut faire:
<script language="javascript" type="text/javascript">
<!--
ton javascript ici
//-->
</script>
ensuite, si tu veux inclure une variable php dans javascript, tu fais un truc du style:
<script language="javascript" type="text/javascript">
<!--
var mavar = "<? echo $variable_php; ?>";
//-->
</script>
Ou est la difficulté ?

le code de ma page

par lelapinou » 06 oct. 2005, 13:38

voici donc le code de ma page menu.php
lors de l'exécution j'avais des erreurs de cote que j'ai résolu, mais maintenant il ne m'affiche rien à l'écran. C'est tout blanc. Mais si je regarde le sous généré par php il est conforme à ce que j'ai sur le fichier javascript que j'ai téléchargé.


PS: oui je suis de villefontaine dans le 38 ;-)

<?

include('../config.inc.php');

//connexion à la base
$link = mysql_connect($host,$user,$pass) or die('Erreur de connexion à la base : '.mysql_error());
mysql_select_db($db) or die('Erreur 2:'.mysql_error());

//Recherche du nombre de SERVICES
$rqt = 'SELECT COUNT(ID_SERVICE) FROM SERVICE ';
$result = mysql_query($rqt,$link) or die('Erreur d\'exécution de la requête de comptage :'.mysql_error());
$row = mysql_fetch_row($result);
$total = $row[0];

//Recherche des libellés des SERVICES
$rqt = 'SELECT ID_SERVICE,LIBELLE FROM SERVICE ';
$result = mysql_query($rqt,$link) or die('Erreur d\'exécution de la requête des libellés : '.mysql_error());

echo 'document.write("<STYLE TYPE="text/css">\na.mv2style {color:#FFFFFF;text-decoration:none;}\na:hover.mv2style {color:;text-decoration:underlined;}\n</STYLE>");';

echo 'mv2_menu = new Array();';
echo 'mv2_lien = new Array();';

//si on a récupéré un résultat on l'affiche
$indice1 = 0;
if ($total)
{
//début du tableau
while($row =mysql_fetch_array($result))
{
//préparations de la liste des services
$indice1++;
echo "mv2_menu[".$indice1."] = '".$row['LIBELLE']."'";

//Recherche du nombre de personnes par service
$rqt2 = 'SELECT COUNT(ID_EQUIPE) FROM EQUIPE WHERE ID_SERVICE = '.$row['ID_SERVICE'];
$result2 = mysql_query($rqt2,$link) or die('Erreur d\'exécution de la requête de comptage de personnes:'.mysql_error());
$row2 = mysql_fetch_row($result);
$total2 = $row2[0];

//Recherche des nom de personnes
$rqt2 = 'SELECT ID_EQUIPE,NOM,PRENOM FROM EQUIPE WHERE ID_SERVICE = '.$row['ID_SERVICE'];
$result2 = mysql_query($rqt2,$link) or die('Erreur d\'exécution de la requête des nom : '.mysql_error());

//si on a récupéré un résultat on l'affiche
$indice2 = 0;
if ($total2)
{
//début du tableau
while($row2 =mysql_fetch_array($result2))
{
$indice2++;
echo "mv2_lien[".$indice1."] += '<A HREF='equipe.php?page=affiche&id=".$row2['ID_EQUIPE']."' target='photo' CLASS=mv2style>".$row2['NOM']." ".$row2['PRENOM']."</A><BR>";
}
}
mysql_free_result($result2);

}
}

mysql_free_result($result);

echo 'mv2_pos = -1;';

echo 'function mv2_menu_raw()';
echo ' {';
echo ' mv2_aff = "<TABLE BORDER=0 BGCOLOR=#000000 CELLPADDING=0 CELLSPACING=0 WIDTH=160><TR><TD><TABLE BORDER=0 CELLPADDING=03 CELLSPACING=1 WIDTH=100%>";';

echo ' for(a=0;a<mv2_menu.length;a++)';
echo ' {';
echo ' if(mv2_pos == a || !document.getElementById)';
echo ' bgcolor = "#6699CC";';
echo ' else';
echo ' bgcolor = "#006699";';
echo ' if(document.getElementById)';
echo ' mv2_aff += "<TR><TD BGCOLOR="+bgcolor+"><A HREF=\"#\" onMouseOver=\"mv2_pos="+a+";mv2_menu_draw()\" CLASS=mv2style><FONT FACE=\"Verdana\" SIZE=2>"+mv2_menu[a]+"</FONT></A></TD></TR>";';
echo ' else';
echo ' mv2_aff += "<TR><TD BGCOLOR="+bgcolor+"><FONT FACE=\"Verdana\" SIZE=2 COLOR=#FFFFFF>"+mv2_menu[a]+"</FONT></TD></TR>"';
echo ' if(mv2_pos == a || !document.getElementById)';
echo ' mv2_aff += "<TR><TD BGCOLOR="+bgcolor+"><FONT FACE=\"Verdana\" SIZE=1>"+mv2_lien[a]+"</FONT></TD></TR>";';
echo ' }';

echo ' mv2_aff += "</TABLE></TD></TR></TABLE>";';
echo ' if(document.getElementById)';
echo ' document.getElementById("mv2").innerHTML = mv2_aff;';
echo ' else';
echo ' document.write(mv2_aff);';
echo ' }';

echo 'mv2_menu_draw();';
?>

par zeus » 06 oct. 2005, 13:34

Rien ne t'empêche de construire ton code JS avec du PHP comme tu construit ton code HTML avec PHP

Sinon, tu viens de Villefontaine dans le 38 ?