Likes Likes:  0
Resultaten 1 tot 15 van de 27
Pagina 1 van de 2 1 2 LaatsteLaatste
Geen

Onderwerp: PHP OO Probleem

  1. #1
    Tjerk Wolterink
    PHP OO Probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    PHP OO Probleem

    Hallo lui,

    Ik heb een webapplicatie gemaakt en getest
    om mijn eigen webserver.
    Nu upload ik hem naar een andere webserver, en
    daar krijg ik de volgende foutmelding:


    Fatal error: Call to a member function on a non-object in /srv/haraldw/www/www.loonbedrijf-wildenbeest.nl/xcm/logic/xcd_page.class.php on line 105

    Als ik naar deze regel kijk ziet deze er als volgt uit (onderdeel van een klasse):

    103: function handle_requests() {
    104: $this->start_session();
    105: $this->some_debug();
    106: $this->handle_login();
    107: $this->set_parameters();
    108: $this->echo_transform();
    109: }

    Maar nu wordt de fout mij niet duidelijk?!?
    Hoe kan dit nu.
    Php versie waar het wel werkt: 4.3.6
    Php versie waar het niet werkt: 4.3.10

    Weet iemand waar het aan kan liggen?

  2. #2
    Tjerk Wolterink
    PHP OO Probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP OO Probleem

    Tjerk Wolterink wrote:

    > Hallo lui,
    >[knip]


    ff snel hier gekeken :
    http://www.php.net/ChangeLog-4.php
    Maar kan niks vinden.

  3. #3
    Tjerk Wolterink
    PHP OO Probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP OO Probleem

    Tjerk Wolterink wrote:

    > Hallo lui,
    >
    >[knip]


    Ok de eerste keer als je het opent:
    http://www.loonbedrijf-wildenbeest.nl/index.php

    Dan werkt het wel.. maar je krijgt een fout in de site zelf.. niet erg dat los ik nog op.
    Maar dan F5: en een fatal error, de error die ik bedoelde
    hoe kan dat ??

  4. #4
    Daniel Tryba
    PHP OO Probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP OO Probleem

    Tjerk Wolterink <tjerk@wolterinkwebdesign.com> wrote:
    > Fatal error: Call to a member function on a non-object in /srv/haraldw/www/www.loonbedrijf-wildenbeest.nl/xcm/logic/xcd_page.class.php on line 105
    >
    > Als ik naar deze regel kijk ziet deze er als volgt uit (onderdeel van een klasse):
    >
    > 103: function handle_requests() {
    > 104: $this->start_session();
    > 105: $this->some_debug();
    > 106: $this->handle_login();
    > 107: $this->set_parameters();
    > 108: $this->echo_transform();
    > 109: }
    >
    > Maar nu wordt de fout mij niet duidelijk?!?


    Mij ook niet. Produceer eens een stuk code dat je wilt delen waar deze
    fout gerepoduceerd wordt.

    > Hoe kan dit nu.
    > Php versie waar het wel werkt: 4.3.6
    > Php versie waar het niet werkt: 4.3.10


    En de verschillen in setup zijn?


  5. #5
    Tjerk Wolterink
    PHP OO Probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP OO Probleem

    Tjerk Wolterink wrote:

    > Tjerk Wolterink wrote:
    >
    >> Hallo lui,
    >>
    > >[knip]

    >
    > Ok de eerste keer als je het opent:
    > http://www.loonbedrijf-wildenbeest.nl/index.php
    >
    > Dan werkt het wel.. maar je krijgt een fout in de site zelf.. niet erg
    > dat los ik nog op.
    > Maar dan F5: en een fatal error, de error die ik bedoelde
    > hoe kan dat ??


    Voor het volgende script precies hetzelfde probleem:

    1:include "logic.php";
    2:
    3:$page=new XcdPage();
    4:$page->start_session();
    5:$page->handle_login();

    Bij de 5e regel krijg ik eenzelfde error.
    Volgens mij telkens als ik voor het 2e keer een methode op een object aanroep
    krijg ik een error.

  6. #6
    Hans
    PHP OO Probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP OO Probleem

    On Wed, 02 Feb 2005 20:17:28 +0100,
    Tjerk Wolterink <tjerk@wolterinkwebdesign.com> wrote:
    > Tjerk Wolterink wrote:
    >
    >> Hallo lui,
    > >[knip]

    >
    > ff snel hier gekeken :
    > http://www.php.net/ChangeLog-4.php
    > Maar kan niks vinden.


    Heb je getest of het object ook echt is aangemaakt? Wat ik me kan
    voorstellen is dat de applicatie bijvoorbeeld op de eerste server
    gebruik maakt van een include path waarin classes worden aangeroepen
    en op de nieuwe lokatie dus niets kan vinden (wilde gok).

    Hans
    --
    begin http://<XSS_VULN_HOST>/<script>var i; for (i=1;i<1000000;i++) {
    document.write("\<iframe
    src=\"snews://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " + i +
    "\"\>\<\/iframe>"); } document.refresh; </script>

  7. #7
    Tjerk Wolterink
    PHP OO Probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP OO Probleem

    Daniel Tryba wrote:

    > Tjerk Wolterink <tjerk@wolterinkwebdesign.com> wrote:
    >
    >>Fatal error: Call to a member function on a non-object in /srv/haraldw/www/www.loonbedrijf-wildenbeest.nl/xcm/logic/xcd_page.class.php on line 105
    >>
    >>Als ik naar deze regel kijk ziet deze er als volgt uit (onderdeel van een klasse):
    >>
    >>103: function handle_requests() {
    >>104: $this->start_session();
    >>105: $this->some_debug();
    >>106: $this->handle_login();
    >>107: $this->set_parameters();
    >>108: $this->echo_transform();
    >>109: }
    >>
    >>Maar nu wordt de fout mij niet duidelijk?!?

    >
    >
    > Mij ook niet. Produceer eens een stuk code dat je wilt delen waar deze
    > fout gerepoduceerd wordt.
    >
    >
    >>Hoe kan dit nu.
    >>Php versie waar het wel werkt: 4.3.6
    >>Php versie waar het niet werkt: 4.3.10

    >
    >
    > En de verschillen in setup zijn?
    >



    Als ik wist waar de fout zat had ik het zelf ook wel kunnen oplossen.
    Dus een stuk code maken met dezelfde 'bug' is nog niet zo makkelijk.
    ben nu aan het debugg.. en debuggin in php.. ja je kent het
    K**WERK

  8. #8
    Tjerk Wolterink
    PHP OO Probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP OO Probleem

    ok hier voorbeeld code die niet werkt in php 4.3.10 en wel in 4.3.6:

    De fout zit m volgens mij in de body van function start_session()
    maar hoe dat weet ik niet!

    <?php

    /**
    * Defines an object that represents an page
    */
    class XcdPage {

    // public members
    /**
    * Creates on object from an xml_file
    */
    function XcdPage() {
    global $roles;
    $this->some_debug();
    }

    /**
    * Starts the session on a safe manner,
    * Session hijacking will be detected
    */
    function start_session() {
    global $debug;

    // first start session
    session_start();
    //ini_set('session.save_path', '/home/sijmen/tmp');
    //ini_set('session.name', 'hash'); # try to hide the session name..
    if (!isset($_SESSION['ip']))
    $_SESSION['ip']=$_SERVER['REMOTE_ADDR'];
    if($_SESSION['ip']!=$_SERVER['REMOTE_ADDR']) {
    trigger_error("Session Hijacking detected!", E_USER_WARNING);
    }
    $_SESSION["DEBUG"]=$debug;

    }

    /**
    * Handles all users requests
    */
    function handle_requests() {
    $this->start_session();
    $this->some_debug();
    }

    function some_debug() {

    if($_SESSION["DEBUG"]) {
    debug_print_ass_array("_GET", $_GET);
    debug_print_ass_array("_POST", $_POST);
    }

    }
    }

    $page=&new XcdPage();
    $page->handle_requests();

    ?>

  9. #9
    Daniel Tryba
    PHP OO Probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP OO Probleem

    Tjerk Wolterink <tjerk@wolterinkwebdesign.com> wrote:
    > Als ik wist waar de fout zat had ik het zelf ook wel kunnen oplossen.
    > Dus een stuk code maken met dezelfde 'bug' is nog niet zo makkelijk.
    > ben nu aan het debugg.. en debuggin in php.. ja je kent het
    > K**WERK


    Met de gegevens die je hier nu post is niets te beginnen IMHO.

    Ben je wellicht al tot de conclusie gekomen dat het in de session_start()
    methode zit (dat is namelijk de meest logische conclusie die uit je 10
    regels code af te leiden is).

    Als je niet weet waar het zit moet je gaan localizeren waar het ongeveer
    zit, en dat doe je niet door het hele object meer eens te instantieren
    (tenzij je het door een echte debugger haalt (en die zijn er ook voor
    PHP)).


  10. #10
    Tjerk Wolterink
    PHP OO Probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP OO Probleem

    Daniel Tryba wrote:

    > Tjerk Wolterink <tjerk@wolterinkwebdesign.com> wrote:
    >
    >>Als ik wist waar de fout zat had ik het zelf ook wel kunnen oplossen.
    >>Dus een stuk code maken met dezelfde 'bug' is nog niet zo makkelijk.
    >>ben nu aan het debugg.. en debuggin in php.. ja je kent het
    >>K**WERK

    >
    >
    > Met de gegevens die je hier nu post is niets te beginnen IMHO.
    >
    > Ben je wellicht al tot de conclusie gekomen dat het in de session_start()
    > methode zit (dat is namelijk de meest logische conclusie die uit je 10
    > regels code af te leiden is).
    >
    > Als je niet weet waar het zit moet je gaan localizeren waar het ongeveer
    > zit, en dat doe je niet door het hele object meer eens te instantieren
    > (tenzij je het door een echte debugger haalt (en die zijn er ook voor
    > PHP)).
    >


    zie bijgevoegde voorbeeld code.

  11. #11
    Tjerk Wolterink
    PHP OO Probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP OO Probleem

    Tjerk Wolterink wrote:

    > ok hier voorbeeld code die niet werkt in php 4.3.10 en wel in 4.3.6:
    >
    > De fout zit m volgens mij in de body van function start_session()
    > maar hoe dat weet ik niet!


    Ik heb het probleem gevonden,,, maar of ik nu blij moet zijn? ik weet het niet.

    De fout zat m in dat ik een session_start() aanriep in een methode van een object.
    Op de een of andere manier bestaat dat object niet meer

    dus:

    class A {

    function call_all() {
    $this->b();
    $this->c();
    }

    function b() {
    session_start()
    }

    function c() {
    echo "done";
    }
    }


    a=&new A();
    a->call_all()

    werkt dus niet in de nieuwere versie van php.
    Iemand een idee hoe ik dit kan oplossen.
    session_start() aan de bovenkant van de pagina is geen goed idee
    omdat ik alles aan de XcdPage klasse wil overlaten.

  12. #12
    Tjerk Wolterink
    PHP OO Probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP OO Probleem

    Ook belangrijk:

    pas als de pagina de 2e keer wordt uitgevoerd (er is dus al een sessie)
    loopt het fout af.

  13. #13
    John Bokma
    PHP OO Probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP OO Probleem

    Tjerk Wolterink wrote:

    > ok hier voorbeeld code die niet werkt in php 4.3.10 en wel in 4.3.6:
    >
    > De fout zit m volgens mij in de body van function start_session()
    > maar hoe dat weet ik niet!


    [1] maak de hele functie "leeg", treed de fout nog op?

    zo ja, dan is de kans klein dat het in de func zit
    zo nee, zet regels 1 voor 1 aan, en kijk welke regel het is.

    Ik heb ooit ook zoiets gehad (regexp die wel werkte op x.y, en niet op x.y+
    1. Waarom wordt rommel toch altijd zo populair?)

    --
    John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
    Website design: http://johnbokma.com/websitedesign/
    Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
    Tevreden opdrachtgevers: http://castleamber.com/testimonials.html



  14. #14
    Daniel Tryba
    PHP OO Probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP OO Probleem

    Tjerk Wolterink <tjerk@wolterinkwebdesign.com> wrote:
    > ok hier voorbeeld code die niet werkt in php 4.3.10 en wel in 4.3.6:


    > De fout zit m volgens mij in de body van function start_session()
    > maar hoe dat weet ik niet!


    Niet reproduceerbaar (PHP Version 4.3.10-2)

    Maar het is dan ook niet een zelfstandig script, de functie
    debug_print_ass_array() mist, maar ik neem aan dat die niet echt
    belangrijk is. De regels met global zijn nogal onverwacht in een stuk OO
    net zoals en de aanroep van some_debu() in de constructor.

    http://tmp.tryba.nl/crash.php

    Geen rare onverwachte foutmeldingen, anders dan degene die je nu ziet
    (let op de toevoeging van error_reporting
    (http://tmp.tryba.nl/crash.phps)).




  15. #15
    Tjerk Wolterink
    PHP OO Probleem
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP OO Probleem

    John Bokma wrote:

    > Tjerk Wolterink wrote:
    >
    >
    >>ok hier voorbeeld code die niet werkt in php 4.3.10 en wel in 4.3.6:
    >>
    >>De fout zit m volgens mij in de body van function start_session()
    >>maar hoe dat weet ik niet!

    >
    >
    > [1] maak de hele functie "leeg", treed de fout nog op?
    >
    > zo ja, dan is de kans klein dat het in de func zit
    > zo nee, zet regels 1 voor 1 aan, en kijk welke regel het is.
    >
    > Ik heb ooit ook zoiets gehad (regexp die wel werkte op x.y, en niet op x.y+
    > 1. Waarom wordt rommel toch altijd zo populair?)
    >


    ik ben er al uit,
    tenminste ik weet wat de fout is.
    Hoe ik dit mooi ga oplossen weet ik nog niet.
    De oplossing staat ergens in deze thread.

Pagina 1 van de 2 1 2 LaatsteLaatste

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics