[php] $_SERVER['PHP_SELF'] en netscape

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
om problemen van netscape met $PHP_SELF te ondervangen (hier beschreven) heb ik de volgende code gebruikt:
PHP:
1
2
3
4
bla bla
$dezePagina = $_SERVER['PHP_SELF'];
print "<form name='subs' action='$dezePagina' method='post'>";
bla bla


als ik dit lokaal test, werkt het ook in NS4 prima, maar remote krijgt ik in NS4 een lege string als uitkomst...

iemand een idee?

Acties:
  • 0 Henk 'm!

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 02-09 11:02

D2k

alleen in NS4?
of ook in andere browsers als je remote test?

btw: NS4 is ouuuuuuuuuuuuuuuuuuuuuuuuuuuuud (kijk eens in W&G wat ze daar allemaal over NS4 zeggen ;) )

Doet iets met Cloud (MS/IBM)


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb de problemen (verrassing!) alleen in NS. en als de klant wil dat het ook in NS4 werkt...
heb overigens niet in NS6 en 7 getest.

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 27 November 2002 @ 09:59:
heb overigens niet in NS6 en 7 getest.
<form action="<?echo $_SERVER["PHP_SELF"];?>" method="post">

werkt goed in Netscape 7 (Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0).

Heb het trouwens ook in Netscape 4.76 getest, daar werkt bovenstaand stukje ook!

[ Voor 20% gewijzigd door Verwijderd op 27-11-2002 10:06 . Reden: Test van Netscape 4.76 erbij gezet ]


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

probeer eens met dubbele quotes de html-attributen te quoten, en de $_SERVER [ 'PHP_SELF' ] te html escapen

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
zowel <form action="<?echo $_SERVER["PHP_SELF"];?>" method="post">
als escapen (ik neem aan dat je daarmee dit bedoelt:)
$dezePagina = htmlentities($_SERVER['PHP_SELF']);
print "<form name=\"subs\" action=\"$dezePagina\" method=\"post\">";

werken lokaal wel, maar remote niet in NS4. als ik in de code kijk, zie ik in beide browsers remote staan action=""... nou had ik begrepen dat $_SERVER['PHP_SELF'] pas vanaf php4.1 werkt, dus staat er wellicht geen php4.1 op de remote server.
maar als ik de echo-methode gebruik met $PHP_SELF:
<form name="subs" action="<? print($PHP_SELF); ?>" method="post">
gaat alles goed.

[ Voor 20% gewijzigd door Verwijderd op 27-11-2002 10:29 ]


Acties:
  • 0 Henk 'm!

  • xces
  • Registratie: Juli 2001
  • Laatst online: 08-09 17:20

xces

To got or not to got..

dus dan zou het volgende ook moeten werken:
PHP:
1
2
3
4
5
6
<?php
bla bla 
$dezePagina = $PHP_SELF; 
print "<form name='subs' action='$dezePagina' method='post'>"; 
bla bla
?>


Btw, heeft maybe met register_globals te maken, een php instelling, kijk hier eens voor meer informatie:
http://php.ca/manual/en/security.registerglobals.php

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

juaron:
als ik in de code kijk, zie ik in beide browsers remote staan action=""... nou had ik begrepen dat $_SERVER['PHP_SELF'] pas vanaf php4.1 werkt, dus staat er wellicht geen php4.1 op de remote server.
maar als ik de echo-methode gebruik met $PHP_SELF:
<form name="subs" action="<? print($PHP_SELF); ?>" method="post">
gaat alles goed.


Daar was je sneller achter geweest als je je error_reporting op E_ALL zet. Dan had je daar een waarschuwing over gehad.

Verder kun je de versie van PHP achterhalen met de functie phpversion. Meer info over je php instellingen vind je met de functie phpinfo.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Foxl
  • Registratie: Juli 2002
  • Niet online
"om problemen van netscape met $PHP_SELF te ondervangen"

Er is dus geen probleem met netscape en $PHP_SELF... $PHP_SELF wordt door PHP op server nivo gebruikt en Nescape houd zich alleen bezig met de door PHP geoutputte data, en dus niet met vars gebruikt in PHP....

I'm really easy to get along with, once you people learn to worship me...


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Mwah je hebt deels gelijk. IE neemt als default voor de action (wanneer deze niet ingevuld is) de huidige pagina (de pagina die het form bevat), en daarom _lijkt_ 't in IE naar behoren te werken.

Netscape heeft echter gelijk, en zegt "wanneer je geen action opgeeft, weet ik ook niks" ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1