[PHP] Probleem met PHP_SELF

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Guru Evi
  • Registratie: Januari 2003
  • Laatst online: 24-08 19:45
Ik ben begonnen met PHP en dat gaat redelijk vlot maar nu kom ik het volgende tegen:
Relevante informatie:
index.php:
code:
1
include editdb.php


editdb.php:
code:
1
2
include store.php
include stock/addstock.php


store.php, addstock.php:
code:
1
echo "<form method=\"post\" action=\"" . $_SERVER['PHP_SELF'] . "\">";


Nu geeft PHP_SELF als resultaat: index.php i.p.v. store.php of addstock.php
terwijl eigenlijk The filename of the currently executing script, relative to the document root zou moeten staan.
Als ik index.php wil zou in principe de request_uri variabele moeten daar staan maar dat wil ik niet.
BTW: Globals staat gewoon op aan (het enigste dat ik veranderd heb in php.ini) de rest is standaard rh9 installatie (standaard php.ini dus)

[ Voor 22% gewijzigd door Guru Evi op 09-10-2003 21:20 ]

Pandora FMS - Open Source Monitoring - pandorafms.org


Acties:
  • 0 Henk 'm!

Verwijderd

Een bestand includen wil zeggen dat PHP het bestand copy-paste naar het bestand van waaruit de include wordt uitgevoerd. PHP_SELF geeft hier dus het goede aan.

Wat je wel kan doen is een variabele $FILE maken ofzo en daar een waarde aan toekennen als je van bestand wisselt, als je het echt nodig mocht hebben.

Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

zoals Sjord hierboven al zegt doet php niets meer dan gewoon copy paste

hoewel dit bij het gegeven voorbeeld niet uit zou moeten maken aangezien niet alleen het form uit het bestand gekopieerd word maar ook het hele script dat de form data verwerkt.

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

Verwijderd

echo __FILE__;

Acties:
  • 0 Henk 'm!

  • Guru Evi
  • Registratie: Januari 2003
  • Laatst online: 24-08 19:45
__FILE__ geeft het absolute path: /var/www/html/...
@Wolfboy: Het geeft wel als je meerdere forms op 1 pagina hebt ;-) als de action overal hetzelfde is zit je met een probleem

[ Voor 56% gewijzigd door Guru Evi op 11-10-2003 12:03 ]

Pandora FMS - Open Source Monitoring - pandorafms.org


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 16:51
Is het niet handiger om alles via één bestand te laten lopen? Dan kun je daarin een switch(http://www.php.net/switch) zetten die kijkt welke includes er nodig zijn.

Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

daar had ik idd niet aan gedacht nee
maar kan je zoiets dan niet beter oplossen door
PHP:
1
if(isset($_POST['var'])){verwerking van form}
te doen?

Blog [Stackoverflow] [LinkedIn]

Pagina: 1