[PHP FormHandler] Geen headers verzenden door SelectField

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Iska
  • Registratie: November 2005
  • Laatst online: 24-08 21:44

Iska

In case of fire, use stairs!

Topicstarter
Hey allemaal,

Ik heb een beetje een apart probleem. Als ik in FormHandler een simpele form maak, kan ik gewoon 'header("Location ... ")' gebruiken om na het invullen in de DB terug te gaan naar een eerdere pagina.
Als ik nu echter in dezelfde form een SelectField zet kan dit niet meer! De code die ik gebruik voor het SelectField ziet er als volgt uit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
public function SetRankBox($sTable, $sTitleField, $iID=-1) 
    { 
        $aResults = $this->oEngine->oDatabase->FetchAll(array('id', $sTitleField), $sTable, 'WHERE id!="'. $iID .'" ORDER BY rank ASC'); 
        $iCount   = 0; 
        $aOptions = array('0'=>'Aan het begin'); 
        while ($iCount < count($aResults)) 
        { 
            $iCount++; 

            $aOptions[''. $iCount * 2 .''] = 'Na '. $aResults[($iCount - 1)][$sTitleField]; 
        } 
        $this->oEngine->oFormHandler->SelectField('Volgorde', 'rank', $aOptions); 
    }


Weet iemand een oplossing voor dit probleem?

-- All science is either physics or stamp collecting


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:14

Creepy

Tactical Espionage Splatterer

Wat heb je zelf al geprobeerd? Wat lukte daar niet mee? Wat zei de maker van FormHandler? Heb je al eens gekeken op http://www.formhandler.net/? Je probleem geven en wachten totdat wij het voor je gaan oplossen is hier niet echt de bedoeling. We verwachten hier wat meer eigen inzet.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Iska
  • Registratie: November 2005
  • Laatst online: 24-08 21:44

Iska

In case of fire, use stairs!

Topicstarter
Hey, het feit dat ik hier post betekent juist dat ik er echt niet uitkom. Dus ik hoopte alleen dat iemand hier het probleem al kenden en me dus kon helpen met oplossen

-- All science is either physics or stamp collecting


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:14

Creepy

Tactical Espionage Splatterer

Dus dan heb je al het 1 en ander geprobeerd? Wat dan allemaal precies? Dan weten wij wat je hebt geprobeerd zodat we geen oplossing in die richting hoeven aan te dragen of we kunnen daarin zien wat je zou moeten aanpassen ;) Geef aub alle info die je hebt want dan kunnen we je beter en sneller helpen. En ik denk eerlijk gezegd ook dat ze op het supportforum van FormHandler je ook kunnen helpen.

[ Voor 13% gewijzigd door Creepy op 04-02-2009 14:51 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • rewind.
  • Registratie: Oktober 2001
  • Laatst online: 17-09 11:00
staat er ergens in de class van selectfield niet per ongeluk wat output?

Acties:
  • 0 Henk 'm!

  • vdvleon
  • Registratie: Januari 2008
  • Laatst online: 08-06-2023
Een header kan alleen nog gewijzigd worden als er nog geen body is verstuurd. Dus de enige mogelijkheid kan zijn dat SelectField iets ouput (of dat er ergens een extra regel of spatie staat in het php script);

PHP:
1
2
3
4
5
// Extra regel boven <?php weg halen
<?php
// ....
?>
// Extra regel onder ?> weg halen

[ Voor 13% gewijzigd door vdvleon op 05-02-2009 16:19 ]


Acties:
  • 0 Henk 'm!

  • Sjoerd
  • Registratie: December 2003
  • Niet online
De quick and very dirty oplossing :9

PHP:
1
2
3
4
5
6
7
if(headers_sent()) {
                echo "<script language='javascript'>
                        document.location='". $sURL ."';
                      </script>";
            }else{
                header("location:".$sURL);
            }

Modelbouw - Alles over modelbouw, van RC tot diorama


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Das wel de goorste workaround ooit voor dit probleem :{

Acties:
  • 0 Henk 'm!

  • Sjoerd
  • Registratie: December 2003
  • Niet online
Cartman! schreef op donderdag 05 februari 2009 @ 16:33:
Das wel de goorste workaround ooit voor dit probleem :{
Daarom dat ik het ook zei ;)

Modelbouw - Alles over modelbouw, van RC tot diorama


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 14:53

MueR

Admin Tweakers Discord

is niet lief

Als je weet dat je dergelijke dingen wil doen kan je overwegen met output buffering te gaan werken op bepaalde delen van je site. Dat kan wel invloed hebben op de performance, dus hou dat in de gaten.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • flashin
  • Registratie: Augustus 2002
  • Laatst online: 17-12-2023
PHP:
1
2
?> 
// Extra regel onder ?> weg halen
De whitespace moet je inderdaad weghalen, hoe je dit met de ?> eind regel het beste kan doen is zoals het ook bij de zend framework coding standard staat. Laat die "?>"-tag bij php-only bestanden gewoon weg!
B.2.1. General
For files that contain only PHP code, the closing tag ("?>") is never permitted. It is not required by PHP, and omitting it prevents the accidental injection of trailing white space into the response.
http://framework.zend.com...p-file-formatting.general

[ Voor 43% gewijzigd door flashin op 06-02-2009 13:17 ]


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Sjoerd schreef op vrijdag 06 februari 2009 @ 10:49:
[...]

Daarom dat ik het ook zei ;)
Bedenk je dan wel dat je iemand er gewoon niet mee helpt met zo'n "oplossing" want daarmee heeft iemand maar het idee "het werkt, dit is goed" terwijl hij er veel meer aan heeft een daadwerkelijke oplossing toe te passen en te begrijpen.

Acties:
  • 0 Henk 'm!

  • Iska
  • Registratie: November 2005
  • Laatst online: 24-08 21:44

Iska

In case of fire, use stairs!

Topicstarter
Ik heb standaard geen whitespaces na de ?> en in de Selectfield.php staat nergens een echo/print etc waar het niet hoort. Daarom vond ik het zo raar!
En tja, ik ben niet bepaald een fan van output buffering.. maar het is te proberen;)

Het werkt nu wel! En aangezien het voor een CMS is hoef ik mij niet zo'n zorgen te maken over performance

Iig bedankt allemaal!

[ Voor 22% gewijzigd door Iska op 06-02-2009 13:33 ]

-- All science is either physics or stamp collecting


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
En waarom werkt het nu wel dan? Plaats ook even de oplossing even :)

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 14:53

MueR

Admin Tweakers Discord

is niet lief

waarschijnlijk door de output buffering :)

Anyone who gets in between me and my morning coffee should be insecure.

Pagina: 1