![]() |
Problème de frame,javascript ou php (???) sous Vista
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
![]()
Bonjour,
Je viens d'installer mon laptop en Vista et le site que je développe, qui marchait bien en XP, ne fonctionne plus correctement. En fait, j'ai un menu avec derrière chaque lien un script php qui contient le code suivant : Code:
<? include("../php_config.php"); @mysql_connect($DBhost, $DBusr, $DBpwd) or die (mysql_error()); @mysql_select_db($DBname) or die (mysql_error()); @mysql_query("UPDATE clic SET nbr_clics=nbr_clics+1 WHERE id='$id'") or die (mysql_error()); $redir = @mysql_query("SELECT url,target FROM clic WHERE id='$id'"); $rec = @mysql_fetch_array($redir); //echo $id; echo "<script language=javascript>window.open('".$rec[0]."','".$rec[1]."'); if ('".$rec[1]."'=='_blank') { history.go(-1) } </script>"; ?> </body> Qqn a-t-il une idée sur la cause du problème et sa résolution vu que sur le web, mon site www.geonat.be fonctionne très bien et que je n'ai pas ce problème ? Merci d'avance, Geoffrey. |
#2
|
||||
|
||||
Je ne pense pas que c'est vista le problème ... Le php c'est un serveur web (apache/iis) qui s'en charge ... pour le javascript c'est le browser.
Alors verifie, si le code et la base de donnée sont identique que sur ton serveur online. Et fais un "echo" de $rec[1] pour vérifier si la variable est correcte. |
#3
|
|||
|
|||
Je sens bien un problème de base, et avec les @ devant tous les appels MySQL, on voit pas les messages d'erreur...
Tu devrais commencer par enlever ces @ pour voir s'il y a des erreurs SQL. |
#4
|
|||
|
|||
j'ai enlevé les @, j'ai ajouté php dans les balises < ?, j'ai fait un echo de $rec[1] mais pas grand chose n'a changé; la seule différence c'est qu'au lieu d'ouvrir une nouvelle fenêtre, apparemment il reste maintenant dans la principale mais l'écran reste tout vierge, pas un seul caractère ne s'affiche. que puis-je essayer d'autre svp ?
merci d'avance, Geoffrey. |
#5
|
||||
|
||||
Sur la page vierge, regarde une fois la source de cette page, pour voir s'il y a du code javascript dedans
![]() |
#6
|
||||
|
||||
Un probleme de prise en charge du php par apache ?
|
#7
|
|||
|
|||
Voici le résultat quand je regarde le code source de la page vierge
Code:
<php ? include("../php_config.php"); //echo "test"; mysql_connect($DBhost, $DBusr, $DBpwd) or die (mysql_error()); mysql_select_db($DBname) or die (mysql_error()); //echo "test"; mysql_query("UPDATE clic SET nbr_clics=nbr_clics+1 WHERE id='".$id."'") or die (mysql_error()); $redir = @mysql_query("SELECT url,target FROM clic WHERE id='".$id."'"); $rec = @mysql_fetch_array($redir); //echo $redir; //echo $id; //echo $rec[1]; echo "<script language=javascript>window.open('".$rec[0]."','".$rec[1]."')"; if ($rec[1]=='_blank') { echo 'history.go(-1)'; } echo '</script>'; ?> </body> pour le support de php par Apache, je pense que c'est ok car j'ai des pages où je sais utiliser du php et afficher des résultats de contenu |
#8
|
|||
|
|||
L'erreur est à la première ligne.
Le tag d'ouverture du code PHP, c'est <?php et non pas <php ? Du coup, ton interpréteur PHP ne reconnait pas le code PHP et le traite comme du simple texte. |
#9
|
|||
|
|||
Changement effectué
OK, j'ai fait le changement et maintenant je retrouve ma fenêtre qui s'ouvre mais j'ai un message d'erreur dans la frame "principale"
Notice: Undefined variable: id in c:\site_nat_geof\fr\clic\count.php on line 30 Pourtant la variable id est définie puisque c'est le paramètre que je passe en entrée. Exemple : <a target="principale" href='clic/count.php?id=47'> |
#10
|
||||
|
||||
Et il doit pas non plus interpréter les <? ?> d'où ton erreur intiale. Le popup est simplement qu'il analyse le tout et tombe donc sur ton window.open...
|
#11
|
||||
|
||||
Tu la passe en get ta variable, et tout bon serveur depuis quelques temps doit avoir les register_globals à off.
Pour la récupérer il faut que tu fasses un truc du genre $id = isset($_GET['id'])?$_GET['id']:''; |
#12
|
|||
|
|||
Ah ça va bcp mieux, cool, mais apparemment j'ai encore un problème pour le javascript ou quelque part car quand j'exécute un lien qui doit ouvrir un mail, rien de s'ouvre, la frame "principale" reste vierge et j'ai un message d'erreur dans l'explorer :
Ligne : 20 Caractère : 88 Erreur : ';' attendu Code : 0 URL : http://127.0.0.1/nath_geof/FR/clic/count.php?id=22 |
#13
|
|||
|
|||
Le code
voici le code pour te permettre de comprendre mieux :
Code:
<html> <head> <title>.::Nathalie et Geoffrey::.</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <META NAME="TITLE" CONTENT="'Le site de Nathalie Gobbe et Geoffrey Lepers'"> <META NAME="DESCRIPTION" CONTENT="Découvrez le site de Nathalie Gobbe et Geoffrey Lepers, deux passionnés de leur quartier, de leur commune de Jette, de rencontres avec leurs voisins... De nombreuses photos sont disponibles..."> <META NAME="KEYWORDS" CONTENT="jette,geoffrey,nathalie,gobbe,lepers,élection,commune,communale,passion,sondage,forum,corneille,clercq,faes,levis,mirepoix,odon,warland,lecharlier,honoré,longtin,charles,woeste,livre,quartier,travail,boulot,photo,chandeleur,crêpe,voisin,journée,internationale,mr,mouvement,réformateur,politique,fdf,candidat,mailing-list,rencontre,humaine"> <META NAME="OWNER" CONTENT="geoffrey.lepers@swing.be"><META NAME="AUTHOR" CONTENT="Geoffrey Lepers"> <META HTTP-EQUIV="CONTENT-LANGUAGE" CONTENT="French"> <META NAME="ROBOTS" CONTENT="index,follow"> <META NAME="REVISIT-AFTER" CONTENT="7 days"> <META NAME="ROBOTS" CONTENT="ALL"> </head> <body style="color: rgb(0, 0, 0); background-color: rgb(234, 236, 255);" topmargin="0" marginheight="0"> <? include("../php_config.php"); //echo "test"; mysql_connect($DBhost, $DBusr, $DBpwd) or die (mysql_error()); mysql_select_db($DBname) or die (mysql_error()); //echo "test"; $id = isset($_GET['id'])?$_GET['id']:''; mysql_query("UPDATE clic SET nbr_clics=nbr_clics+1 WHERE id='".$id."'") or die (mysql_error()); $redir = @mysql_query("SELECT url,target FROM clic WHERE id='".$id."'"); $rec = @mysql_fetch_array($redir); //echo $redir; //echo $id; //echo $rec[1]; echo "<script language=javascript>window.open('".$rec[0]."','".$rec[1]."')"; if ($rec[1]=='_blank') { echo 'history.go(-1)'; } echo '</script>'; ?> </body> </html> |
#14
|
|||
|
|||
Essaye ça :
Code:
echo "<script language=javascript>window.open('".$rec[0]."','".$rec[1]."');"; if ($rec[1]=='_blank') { echo 'history.go(-1);'; } echo '</script>'; |
#15
|
|||
|
|||
![]()
Ca a l'air de marcher, en tout cas en local. Je vais devoir tester en profondeur ainsi que sur le web mais en tout cas, un tout grand merci !!!!
|
![]() |
Bookmarks |
«
Previous Thread
|
Next Thread
»
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Redirection d'une page avec frame | fayewongfr | Programmation Web (HTML, PHP, ASP, Java, XML, etc.) | 8 | 07-12-2007 18:04 |
Un Prob sous Vista | nikool | Windows Vista | 2 | 06-03-2007 19:16 |
Article : ce que Windows Vista RC1 a sous le capot | Cougar | Actualité | 1 | 24-09-2006 19:02 |
Problème de CONNEXION sous WINDOWS VISTA | Microlonn | Windows Vista | 12 | 29-06-2006 23:48 |
probleme de texte tournant en javascript qui marche pas !!! | sel31 | Design Web / Graphisme | 1 | 22-07-2004 13:09 |
All times are GMT +2. The time now is 16:51.
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.