[php] c normal ca ????? ou bien c php qui deconne ??

c normal ca ????? ou bien c php qui deconne ?? [php] - PHP - Programmation

Marsh Posté le 30-09-2002 à 17:56:49    

$path=""
 
dans le fichier php :

Code :
  1. echo "messages[$x]=\"";
  2. echo '<a href=#  onClick=\"' . "window.open('".$path."test/Show.php?Id=$r[Id]')\\" .'" >';


   
si j'ouvre l'explorer et que je teste, ca affiche :

Code :
  1. messages[0]="<a href="#"  onClick="\""window.open('test/Show.php?Id=80202','test')\" >pppp</a>";


 
si je reload ca affiche :

Code :
  1. messages[0]="<a href=#  onClick=\"window.open('test/Show.php?Id=80202','test')\" >pppp</a>";


 
voila :( eviedment ca génére du javascript :( et donc si ca foire systemeatiqeument a la premiere page (d ailleur pkoi ????)
ca m arrange pas!

Reply

Marsh Posté le 30-09-2002 à 17:56:49   

Reply

Marsh Posté le 30-09-2002 à 18:26:39    

BEn c'est quoi le problème?
 
Dans les deux cas, t'as le même code qu'est retourné, c'est normal avec un reload vu qu'un relaod recharge la page en renvoyant exactement les mêmes paramètres au serveur que la fois d'avant.
Si c'est le numéro du id qui te gène, alors pose toi la question de savoir d'où viens la valeur de $r[Id] du code php.
Sans ça, je vois pas comment te répondre sans jouer à la madame Irma.
 
Au fait, à la place de $r[Id] utilise $r["Id"] et au lieu de mettre le nom de ta variable diretement dans ta chaine de cartère, tu ferais mieux de la mettre à l'extérieur, ca t'éviteras plus tard d'avoir des problèmes sans comprendre d'où ça viens.

Reply

Marsh Posté le 30-09-2002 à 18:34:39    

bah justement non, j'ai pas la meme chose la deuxieme fois !!
c ca qui me pose probleme !!!(ca joue sur le ", regarde bien, c pour ca que ca s embrouille avec le JS apres!)
 
 
j'ai meme fait mieux :

Code :
  1. ?>
  2. messages[<? echo $x ?>]="<a href='#'  onClick=\"window.open('<? echo $path ?>test/Show.php?Id=<? echo $r['Id'] ?>','test')>ppp</a>";
  3. <?


 
suivant que je mets # ou '#', il me resort : "#" ou '#' !!! (qui lui a demandé de protege ces char ????";
et je m'appercois qu'il fait parail avec onClick : il rajoute des \" :(


Message édité par slvn le 30-09-2002 à 18:35:02
Reply

Marsh Posté le 01-10-2002 à 01:10:52    

slvn a écrit a écrit :

bah justement non, j'ai pas la meme chose la deuxieme fois !!
c ca qui me pose probleme !!!(ca joue sur le ", regarde bien, c pour ca que ca s embrouille avec le JS apres!)
 
 
j'ai meme fait mieux :

Code :
  1. ?>
  2. messages[<? echo $x ?>]="<a href='#'  onClick=\"window.open('<? echo $path ?>test/Show.php?Id=<? echo $r['Id'] ?>','test')>ppp</a>";
  3. <?


 
suivant que je mets # ou '#', il me resort : "#" ou '#' !!! (qui lui a demandé de protege ces char ????";
et je m'appercois qu'il fait parail avec onClick : il rajoute des \" :(



Oui, c'est vrai que c'est assez bizare. T'aurais pas un if quelconque qui teferais passer dans une section passant entre apr une fonction du genre "addslash" ?

Reply

Marsh Posté le 01-10-2002 à 23:06:32    

nope rien de tout ca !!
 
mais j ai trouvé la parade:d
 

Code :
  1. ?>
  2. messages[<? echo $x ?>]="<a href='#'  " + 'onClick' + "=window.open(\"<? echo $path ?>test/Show.php?Id=<? echo $r['Id'] ?>\",\"test\" )>
  3. <?

Reply

Marsh Posté le 01-10-2002 à 23:12:09    

j ai plus fort encore :d
 
 
a.php :  
   include b.php
   b();
 
b.php:
function b() { echo $PHP_SELF }
 
 
sout id : a.php -> nom de la page,   sous opéra : rien :d
 
(l'exemple est simplifié) mais je suis resté sur le cul :d
(je vois pas en quoi le browser joue dnas la génération de la page:( )
-> j'ai juste rajouter :  global $PHP_SELF et puis ca roulait...
 
masi serieux php il me manque deux trois circuits pour que j'arrive a saisir ces trucs la

Reply

Marsh Posté le 01-10-2002 à 23:20:35    

slvn a écrit a écrit :

j ai plus fort encore :d
 
 
a.php :  
   include b.php
   b();
 
b.php:
function b() { echo $PHP_SELF }
 
 
sout id : a.php -> nom de la page,   sous opéra : rien :d
 
(l'exemple est simplifié) mais je suis resté sur le cul :d
(je vois pas en quoi le browser joue dnas la génération de la page:( )
-> j'ai juste rajouter :  global $PHP_SELF et puis ca roulait...
 
masi serieux php il me manque deux trois circuits pour que j'arrive a saisir ces trucs la



Là, c'est simple, si tu renvoie un fichier html totalement vide au navigateur, il va s'en appercevoir et selon le navigateur, il va t'afficher une page d'erreur pour te prévenir (contenue de la page dépendant du navigateur) ou va rester fidèle à la page de départ et donc de ne rien t'afficher (c'est le cas de'opéra).
De plus, opéra attends parfois pendant plusieurs minutes avant de tomber en erreur et parfois, il penses qu'un fichier fiode coresponds à un fichier qui arrivera plus tard et met donc plusieurs minutes avant de te prévenir qu'il n'a pas reçus de donné. C'est idéal pour les très grosses pages ou les serveurs qui répondent hyper tard, mais si tu fait pas gaffe, tu peux attendre longtemps. ;)

Reply

Marsh Posté le 01-10-2002 à 23:58:57    

je crois pas que tu es capté mon pb ..
 
 
enfait, il manquait bien le global $PHP_SELF.
 
 
j'ai remarqué avec ma page (car j'ai pas donnée assez de detail)
la seul distinction que montrait ce cas, entre opéra et ie c est la chose suivante :
 
si tu ecris  
<a href="?id=1">....
 
et que tu click, ie te renvoi sur la page ou tu es avec id=1 en +
 
alors que opéra t envoi sur le contenu du repertoire

Reply

Marsh Posté le 02-10-2002 à 00:50:47    

slvn a écrit a écrit :

je crois pas que tu es capté mon pb ..
 
 
enfait, il manquait bien le global $PHP_SELF.
 
 
j'ai remarqué avec ma page (car j'ai pas donnée assez de detail)
la seul distinction que montrait ce cas, entre opéra et ie c est la chose suivante :
 
si tu ecris  
<a href="?id=1">....
 
et que tu click, ie te renvoi sur la page ou tu es avec id=1 en +
 
alors que opéra t envoi sur le contenu du repertoire



Oui, en effet, j'avais pas compris ça.
Faut dire, des liens sans préciser de fichier à ouvrir, je suis pas certain que ca soit html compliant ça.
 
C'est un bon truc à savoir en tout cas.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed