[php] $_POST word niet geset

Pagina: 1
Acties:
  • 289 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 15-09 21:46
Heej mensen,

Ik zit met een probleempje. Ik ben bezig met een soort van pagina 'parser', die er dus voor zorgt dat de goede pagina's worden ingeladen etc.

Maar nu doet het gekke feit zich voor dat wanneer ik een formulier heb (op de pagina die word ingeladen), en ik die 'submit', er helemaal geen $_POST variabelen worden geset door PHP.

Natuurlijk heb ik method="post" in de form-tag staan, en ook register_globals staan op 'on'. En het vreemde is dat wanneer ik een apart bestandje maak, en het daar test, hij het wel gewoon doet.

Ik heb even een klein stukje uit m'n class gehaald om te laten zien waar ik de pagina inlaad:
PHP:
1
2
3
4
5
6
7
if (ob_get_length()) {
            ob_clean();
        }
        ob_start();
        file_exists(contentMap.'/'.$page.'.php')?include(contentMap.'/'.$page.'.php'):die('Content file missing!');
        $this->content = ob_get_contents();
        ob_end_clean();

Het kan misschien liggen aan het feit dat ik de output buffer, maar dat lijkt me vreemd.

Verder maak ik gebruik van 'schone urls', zoals in dit artikel van NaarVoren word besproken. Misschien dat het daar aan ligt, maar hoe kan ik het dan verhelpen?

Heeft iemand een idee waar het aan kan liggen?

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337


Acties:
  • 0 Henk 'm!

  • Hmmbob
  • Registratie: September 2001
  • Laatst online: 21:13
zet je globals maar weer uit :)

Je moet namelijk het een of het ander doen... of register_globals on, of $_POST

[ Voor 58% gewijzigd door Hmmbob op 26-09-2004 19:33 ]

Sometimes you need to plan for coincidence


Acties:
  • 0 Henk 'm!

  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 15-09 21:46
Groentenboer schreef op 26 september 2004 @ 19:33:
zet je globals maar weer uit :)

Je moet namelijk het een of het ander doen... of register_globals on, of $_POST
maar is het niet zo dat het ook gewoon beide kan?
Naar m.i. iig wel ;)

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337


Acties:
  • 0 Henk 'm!

  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 08-09 21:45

RSpliet

*blink*

kan wel, maar register globals op on zetten terwijl je ze niet gebruikt is sheer stupidity ;) Zet maar eens uit, misschien heb je dezelfde namen voor de 'env' of 'session' variabelen gebruikt ofzo. Doe sowieso eens print_r($_POST); om te zien wat ie nou precies bevat...

Schaadt het niet, dan baat het niet


Acties:
  • 0 Henk 'm!

  • Hmmbob
  • Registratie: September 2001
  • Laatst online: 21:13
is dat zo? hmmmmm.....

Ach, het is in ieder geval netter om globals uit te zetten :D

Sometimes you need to plan for coincidence


Acties:
  • 0 Henk 'm!

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 19:10

Robtimus

me Robtimus no like you

ob_end_clean verwijdert alles uit de buffer zonder het te printen, is dat wel de bedoeling?

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Acties:
  • 0 Henk 'm!

  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 15-09 21:46
Seven of Nine schreef op 26 september 2004 @ 19:37:
kan wel, maar register globals op on zetten terwijl je ze niet gebruikt is sheer stupidity ;) Zet maar eens uit, misschien heb je dezelfde namen voor de 'env' of 'session' variabelen gebruikt ofzo. Doe sowieso eens print_r($_POST); om te zien wat ie nou precies bevat...
Was idd beetje dom dat ik dat erbij vermeldde, want eigenlijk is het helemaal niet interessant.

print_r($_POST); heb ik uiteraard al geprobeerd, maar hij zegt steeds niets te bevatten. Terwijl wanneer ik de pagina refresh, ik wel een melding (van FF) krijg of ik de pagina wel wil herladen, want er word 'POSTDATA' meegezonden. Dat duid er dus op dat er wel 'gepost' word.

[edit]
ob_end_clean verwijdert alles uit de buffer zonder het te printen, is dat wel de bedoeling?
Ik zal eens proberen het weg te laten, maar opzich zou het geen verschil moeten maken. Want ik zet voordat het geleegd word de inhoud in een variabele, die ik later weer gebruik om de boel mee te printen.

[ Voor 21% gewijzigd door Koeniepoenie op 26-09-2004 19:41 ]

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337


Acties:
  • 0 Henk 'm!

  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 08-09 21:45

RSpliet

*blink*

IceManX schreef op 26 september 2004 @ 19:38:
ob_end_clean verwijdert alles uit de buffer zonder het te printen, is dat wel de bedoeling?
Hij vangt de output toch eerst op? $this->content = ob_get_contents(); ;)

en voor TS, gebruik je PHP4 of hoger (misschien stomme vraag, maar je weet maar nooit :p)? Zo niet, ga dan eens HEEL snel PHP5 installeren :p

[ Voor 22% gewijzigd door RSpliet op 26-09-2004 19:41 ]

Schaadt het niet, dan baat het niet


Acties:
  • 0 Henk 'm!

  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 15-09 21:46
Seven of Nine schreef op 26 september 2004 @ 19:40:
en voor TS, gebruik je PHP4 of hoger (misschien stomme vraag, maar je weet maar nooit :p)? Zo niet, ga dan eens HEEL snel PHP5 installeren :p
Op m'n huidige host gebruik ik idd 4.3.8, maar het is niet mijn host, dus ik kan niet zo snel switchen naar PHP 5.

[edit]
En ob_end_clean() heb ik wel degelijk nodig, want anders word mijn content 2x geprint (1 keer op de verkeerde plek, en 1 keer op de goede ;))

[ Voor 18% gewijzigd door Koeniepoenie op 26-09-2004 19:44 ]

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

KoenieMan schreef op 26 september 2004 @ 19:40:
Was idd beetje dom dat ik dat erbij vermeldde, want eigenlijk is het helemaal niet interessant.

print_r($_POST); heb ik uiteraard al geprobeerd, maar hij zegt steeds niets te bevatten. Terwijl wanneer ik de pagina refresh, ik wel een melding (van FF) krijg of ik de pagina wel wil herladen, want er word 'POSTDATA' meegezonden. Dat duid er dus op dat er wel 'gepost' word.
Heb je die register_globals nou al op off gezet dan? Ik denk namelijk dat het gewoon daaraan ligt. Is sowieso, zoals al heel vaak gezegd in dit topic, erg onveilig om aan te zetten als je niet voor 100% weet wat je doet. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Rataplan
  • Registratie: Oktober 2001
  • Niet online

Rataplan

per aspera ad astra

NMe84 schreef op 26 september 2004 @ 20:42:
Heb je die register_globals nou al op off gezet dan? Ik denk namelijk dat het gewoon daaraan ligt.
Verkeerde waarden OK, maar helemaal geen waarden worden imo niet zo verklaard.

Ik denk enniewee dat de grap in een terloopse opmerking zit:
klein stukje uit m'n class
want ik kan het even niet terugvinden, maar volgens mij mag je een class niet over meer dan 1 file uitsmeren. Een include binnen een class, kort en goed, gaat nooit werken.
Is sowieso, zoals al heel vaak gezegd in dit topic, erg onveilig om aan te zetten als je niet voor 100% weet wat je doet. :P
Ik zou dit sterker uitdrukken. Iets als "je bent gek als je het aanzet terwijl je het niet heel hard nodig hebt" of zo :)

edit:
Here you go:
You can NOT break up a class definition into multiple files, or multiple PHP blocks.

[ Voor 11% gewijzigd door Rataplan op 26-09-2004 21:03 ]


Journalism is printing what someone else does not want printed; everything else is public relations.


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Kun je niet even <?php phpinfo() ?> uploaden en de link hier posten?

[ Voor 12% gewijzigd door Olaf van der Spek op 26-09-2004 21:43 ]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
NMe84 schreef op 26 september 2004 @ 20:42:
[...]

Heb je die register_globals nou al op off gezet dan? Ik denk namelijk dat het gewoon daaraan ligt.
De Superglobals zijn sowieso bereikbaar, onafhankelijk van die setting.
Is sowieso, zoals al heel vaak gezegd in dit topic, erg onveilig om aan te zetten als je niet voor 100% weet wat je doet. :P
d0h. ;)


edit: TS, zet es een linkje naar je page toe. Kan wel handig zijn...

[ Voor 8% gewijzigd door Grijze Vos op 27-09-2004 17:25 ]

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 15-09 21:46
Hier: http://www.koenpasman.nl/phpinfo.php heb ik even een kleine pagina met phpinfo() en een klein formuliertje, waar je dus kunt zien dat in dit geval de variabelen wel geset worden.

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337


Acties:
  • 0 Henk 'm!

  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 08-09 21:45

RSpliet

*blink*

Mogen wij ook de pagina waar het dan niet werkt? :p Mss zit het wel gewoon in de HTML

Schaadt het niet, dan baat het niet


Acties:
  • 0 Henk 'm!

  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 15-09 21:46
Hm, ik denk dat ik de fout al zie.

Ik heb namelijk (zoals ik al zei), een soort van 'schone urls' systeempje voor de site.
Zodat wanneer je www.blaat.nl/home/, niet in de map 'home' komt, maar dat je gewoon op index.php van blaat.nl komt, en dat je zo 'home' kunt extraheren uit de URL. En daar vervolgens wat leuks mee kan doen in je scriptje (zie ook hier).

Nu vermoed ik dat PHP de variabelen wel set, maar in (in dit geval) weblog.php, maar omdat ik dan op de pagina 'koenpasman.nl/weblog/' zit, denkt 'ie dat ik in de map weblog zit, en dus geen variabelen ziet.

Tenminste, zo vermoed ik.

Misschien moet ik toch maar mod_rewrite gebruiken.. ;(

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337


Acties:
  • 0 Henk 'm!

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
niet in de map 'home' komt, maar dat je gewoon op index.php van blaat.nl komt
En hoe werkt die redirect precies?

Acties:
  • 0 Henk 'm!

  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 15-09 21:46
OlafvdSpek schreef op 27 september 2004 @ 21:31:
[...]

En hoe werkt die redirect precies?
Nou, ik geef mbv Htaccess een 404 Errordocument op:
code:
1
ErrorDocument 404 /reloaded/404.php

En 404.php bevat het volgende:
PHP:
1
2
3
4
5
6
<?php
// 404 afvangen
header('HTTP/1.1 200 OK');

include('index.php');
?>

Hij stuurt dus een nieuwe header, die zegt dat het geen 404, maar gewoon een goede request is, vervolgens include ik index.php, waar de hele class staat die de pagina vervolgens opbouwt.

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337

Pagina: 1