Ga naar inhoud

[PHP] object geörienteerd proggen


Aanbevolen berichten

Hoi, vraagje: als ik met JSP een instantie maak van een klasse (bean), wordt deze opgenomen in de POST variabelen zodat ik deze in een andere pagina kan aanspreken (wel middels een scriptlet). Nu vraag ik me af of ik een instantie gemaakt met PHP ook naar een andere pagina mee kan sturen. Ik wil dit omdat ik een formulier heb wat ik in wil vullen wat uit meerdere stappen bestaat. Ik ben van plan om hier objecten van te maken, maar de informatie die ik uit vorige stappen van het formulier heb moet ik ook weer aan kunnen spreken via dit object. Ik wil het op deze manier doen om zo min mogelijk DB connecties te maken. voorbeeld: ik heb een klasse gemaakt voor een aanvrager die een aantal attributen heeft. Deze sla ik via een aantal set methoden op. Nu verzend ik mijn form en ga naar het volgende form (nieuwe pagina). Nu moet ik hetzelfde object cq. instantie aanspreken via get methoden om de attributen van de aanvrager op te halen. Worden deze waarden van de aanvrager die ik geset heb bewaard of zijn deze niet meer te benaderen? Het is geen optie om dit via de GET methode te doen omdat ik ongeveer 60 varianelen heb. Is dit mogelijk? en zo nee heeft iemand anders mss een slimme oplossing voor dit probleem?
Link naar reactie
Volgend probleem: ik heb het bovenstaande op proberen te lossen door op volgende manier: [code:1:31d4888cc9] global $stap1Adres, $stap1Postcode, $stap1Plaats, $stap1Eigenaar, $stap1Makelaar, $stap1TelMakelaar, $stap1Prijs, $stap1TelEigenaar, $stap1GSMEigenaar; $teller = 0; for ($i=0;$i<7;$i++) { //alle knoppen heten next + getal deze wordt hieronder dus samengesteld zodat ik die op kan vragen met $_POST $page = "next" . $i; if (isset($_POST[$page])) { switch($page) { case "next1": $errMsg = ""; //checken of de post vars niet empty zijn als deze dat wel zijn ken een waarde toe aan $errMsg, niet empty toekennen aan een global if (!empty($_POST['adres'])) { $GLOBALS['stap1Adres'] = $_POST['adres']; } else { $errMsg = "U heeft in stap 1 geen geldig adres opgegeven.<br>"; } if (empty($errMsg)) { $teller= 1; include('aanvraag2.php'); } else { $teller= 1; echo "<b>De volgende fouten zijn ontdekt:</b><br>"; echo errMsg . "<br>"; include('aanvraag1.php'); } break; [/code:1:31d4888cc9] Dit komt uit de file aanvraag.php en deze wordt geinclude in index.php. Nu zijn er ca. 8 stappen, en op het einde moet er een overzicht worden gegenereerd m.b.t. de ingevulde gegevens dat wordt ook geinclude. Maar als ik in dat overzicht (senddata.php) mijn globals aanroep zijn ze leeg! Als ik deze aanroep in de laatste if/else in de eerste case (dezelfde case dus) laat ie ze goed zien. Iemand enig idee hoe dit kan?? ik heb ook al geprobeerd om verderop buiten de switch een klasse te schrijven met een methode waarin de variabelen toegekend worden aan een global maar deze laat ie ook niet zien.
Link naar reactie
[quote:7146fd4c65="B00TjE"]ja aan sessies had ik ook al gedacht maar is dat niet een beetje een slordige manier van proggen?[/quote:7146fd4c65]Waarom is dat slordig? Je wil de 'status' tussen twee HttpRequest behouden, dan lijkt mij sessions hier het middel voor. Je kan je object gewoon [url=http://nl2.php.net/serialize]serialize[/url]n en bij de niewe request [url=http://nl2.php.net/manual/nl/function.unserialize.php]unserialize[/url]n. Vergeet alleen niet om de class(-definitie) voor unserialize te plaatsten, anders werkt het niet. [quote:7146fd4c65="B00TjE"]Iemand enig idee hoe dit kan?? ik heb ook al geprobeerd om verderop buiten de switch een klasse te schrijven met een methode waarin de variabelen toegekend worden aan een global maar deze laat ie ook niet zien.[/quote:7146fd4c65]Is senddata.php een andere pagina, opgevraagd met een volgende Http-request? Ja? Dan is het logische dat de variabelen niet beschikbaar zijn (http is een stateless-protocol). Misschien dat dit wel in Java kan (door boven op de webserver een applicateserver te draaien, ofzo), maar Java != PHP. Nog een punt: globals = :evil:! -Rémy
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...