Avatar billede bengun Novice
06. juli 2005 - 20:27 Der er 3 kommentarer og
1 løsning

Brugen af GLOBAL

Dette er en simpel applikation, men den virker ikke. Er der nogen der kan gennemskue hvorfor...

Programmet går ud på, når der trykkes på TOP skrives der 1 og når der trykkes på NÆSTE optælles variablen $nRecord med 1 og værdien skal skrives.

<?php

  function show_form()
  {
  ?>
      <form method="POST" action="taller.php">
    <p><input type="submit" value="Top" name="submit_top"><input type="submit" value="Næste" name="submit_next"></p>
      </form>
  <?
  }


  function hent_data($nFindRecord)
  {
      echo "<br>Hent<br>";

      $nTaller = 1;
      while (true)
      {
    if ($nTaller == $nFindRecord)
    {
        break;
    }

    $nTaller ++;
      }

      echo "Tæller: $nTaller og $nFindRecord, ";
      echo date("G:i:s",time());
       
      show_form();

  }

  function submit_top()
  {
      global $nRecord;

      echo "<br>Top<br>";
       
      $nRecord = 1;

      hent_data($nRecord);   

  }

  function submit_next()
  {
      global $nRecord, $nLast;

      echo "<br>Next<br>";

      $nRecord ++;
      if ($nRecord > $nLast)
      {
    $nRecord = $nLast;
      }
       
      hent_data($nRecord);   
       
  }


  // ******** MAIN ********

  if(isset($_POST['submit_top']))
  {
      submit_top();
  }
  else
  {
      if(isset($_POST['submit_next']))
      {
        submit_next();
      }
      else
      {
    // Definer variabler
    $nLast = 5;
    $nFirst = 1;
    $nRecord = 1;

    hent_data($nRecord);
      }
  }
?>
Avatar billede bengun Novice
06. juli 2005 - 20:38 #1
Jeg har prøvet at flytte de 3 linier under //Definer variabler op i starten af programmet. Dette bevirker at jeg kan få "Næste" til at virke én gang, men så virker "Næste" heller ikke mere........... Hjæææææææææælp
Avatar billede Slettet bruger
06. juli 2005 - 22:06 #2
Tjae nu virker det en smule uoverskueligt.
Måske du skulle benytte en klasse nu du alligevel skriver funktioner.

eks.:

class eksempel {
    var $top;
    var $next;

    function foo() {
        $this->top = 1;
    }

    function bar() {
        $this->next = "noget andet";
    }
}

$test = new eksempel;
// Vi indlæser klassen, nu er $top og $next ikke sat.
$test->foo();
// nu er top sat.
echo $test->top;

Hvad kan vi lære? - I en klasse kan du sætte variabler udenfor funktionerne, som kan tilgåes som en slags globale variabler fra funktionerne i klassen, eller når klassen er indlæst kan du manipuler og derefter benytte resultatet.
Avatar billede bengun Novice
10. juli 2005 - 12:53 #3
hej cypermann

Send et svar..........
Avatar billede Slettet bruger
12. juli 2005 - 22:59 #4
Svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester