login  Naam:   Wachtwoord: 
Registreer je!
 Forum

class error met mysql en session (Opgelost)

Offline funmen - 05/06/2009 09:27
Avatar van funmenNieuw lid Ik heb een server met 5.2.9 en daar draait dit script prima op, maar op een server met 5.2.6 draait dit script niet. Het probleem is het volgende:
Ik heb $_SESSION['name'] en in de class geef ik deze een waarde. Dit gaat allemaal ook prima, de waarde toekennen. Maar als ik de pagina opnieuw open en alleen $naam = new class henk(); wordt de waarde in $_SESSION['name'] naar iets anders gewijzigd, terwijl ik notebene alleen de class wijzig. Zou dit een but in PHP 5.2.6 kunnen zijn?

6 antwoorden

Gesponsorde links
Offline Ultimatum - 05/06/2009 09:57
Avatar van Ultimatum PHP expert Zou je wat code kunnen plaatsen? En zoals je in je post zegt, maak je zo ook je class, new class *classnaam*? Want keyword class hoeft er niet tussen namelijk.
Offline funmen - 05/06/2009 18:06 (laatste wijziging 06/06/2009 11:32)
Avatar van funmen Nieuw lid Dat is een foutje.

Het is een normale class, ik kan hem niet plaatsen maar dit zal het zelfde effect hebben:

  1. <?php
  2. class henk{
  3. var $var;//dit een aantal keer, kan de fout niet zijn
  4. function do_login(){
  5. $_SESSION['iets'] = $this->var;
  6. }
  7. }
  8.  
  9. $s = new henk();
  10. $s->var = "random waarde";
  11. $s->do_login();
  12. ?>

Bij dologin wordt gewoon de sessie aangemaakt en als ik in een normale pagina $_SESSION['iets'] echo krijg ik ook gewoon de waarde. Maar als ik de pagina herlaad krijgt de $_SESSION['iets'] een hele andere waarde, ook als ik $s->do_login() weg haal gebeurt dit. Maar als ik met $s de class niet start, blijft de waarde normaal vreemd genoeg. Dit gebeurt niet bij PHP 5.2.9 maar wel bij 5.2.6. Zou dit een bug kunnen zijn?
Offline Wave6 - 06/06/2009 09:15
Avatar van Wave6 PHP beginner $this-var is leeg?
Offline funmen - 06/06/2009 11:14
Avatar van funmen Nieuw lid sorry, aan $this->var wordt een random waarde toegekend in het script.
Offline Martijn2008 - 06/06/2009 11:41 (laatste wijziging 06/06/2009 13:06)
Avatar van Martijn2008 PHP beginner Waarschijnlijk bedoel je dit:

  1. <?php
  2.  
  3. class Application
  4. {
  5. var $strSessionName;
  6. var $strSessionValue;
  7.  
  8. public function addSession ( $strSessionName, $strSessionValue )
  9. {
  10. $_SESSION[$strSessionName] = $strSessionValue;
  11. }
  12. }
  13.  
  14. ?>


  1. <?
  2.  
  3. $oApplication = new Application();
  4. $oApplication->addSession ( 'username', 'Marissa' );
  5.  
  6. echo $_SESSION['username'];
  7.  
  8. ?>
Offline funmen - 07/06/2009 16:10 (laatste wijziging 11/06/2009 08:49)
Avatar van funmen Nieuw lid Het toekennen werkt zonder problemen, maar zodra ik de class start alleen al wordt $_SESSION aangepast. Ik heb al erg lang ervaring met PHP en dit nog nooit meegemaakt...

Heb maar een cookie gemaakt aangezien $_SESSION gewoon niet werkt in de class op de één of andere manier, maar wel weer op een andere server...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.193s