Toon posts:

PHP variabelen globaal variabelen verklaren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allemaal,

Ik ben momenteel met quiz geval in PHP bezig. En nu wordt er door een pagina dus een 'x' aantal variabelen meegestuurd. Ik wil deze dus allemaal globaal krijgen in een functie zonder de namen er van te wijzigen. Nu kan ik wel 1 voor 1 variabelen gaan verklaren, maar het probleem is dat ik niet weer hoeveel er mee gestuurd wordt (is willekeurig....) :'( Weet iemand hoe het wel in 1 keer kan?

Alvast bedankt!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
$_POST

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 25-07 18:17

Skinny

DIRECT!

Woei.. ik denk dat je even iets duidelijker moet zijn wat je precies wilt.

Je kunt met de $_POST of $_GET array toegang krijgen tot alle meegestuurde variabelen. Misschien kun je even aangeven (met een voorbeeld) wat voor gegevens (variabelen) je meestuurt.

SIZE does matter.
"You're go at throttle up!"


  • bartware
  • Registratie: Juni 2001
  • Laatst online: 25-03-2023

bartware

@jabber.org

Als je grab_globals.lib.php van phpMyAdmin include kun je je variabelen zo weer aanroepen met de naam die je ze gegeven hebt: $var bijvoorbeeld. In plaats van $_POST['$var']
Korte oplossing:
code:
1
extract($_POST);

Heb ik me begrepen?
Cycle Vision 2020: 17-20 juli Sportpark Sloten & Wheelerplanet Spaarnwoude


Verwijderd

Topicstarter
@Nielsz: kan je enigzins toelichten hoe dit te werk gaat? volgens php.net is het namelijk niet nodig om ze globaal te verklaren omdat ze overal gebruikt kunnen worden...
Skinny schreef op 05 augustus 2002 @ 17:55:
Woei.. ik denk dat je even iets duidelijker moet zijn wat je precies wilt.

Je kunt met de $_POST of $_GET array toegang krijgen tot alle meegestuurde variabelen. Misschien kun je even aangeven (met een voorbeeld) wat voor gegevens (variabelen) je meestuurt.
Er wordt een lijst van vragen getoond. Daarvan wordt een variable meegestuurd, nl answer1 enz... Daar in zit continu de gegeven antwoord. Deze variabelen wil ik dus globaal krijgen in een functie zodat daarvan een nieuwe variabel kan maken zo gauw het ergens mee overeenkomt.

dit gedeelte moet dus in een functie komen gaat met name om de regels 17 en 18 (alles wordt via een form gestuurd):
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
    $result = $queries->getQuestionNumbersOfQuiz($quizID);
    $maximum = mysql_fetch_array($result);
    $total_questions = mysql_num_rows($result);
    mysql_free_result($result);
    
    
    $total_correct=0;
    
    for($i=1 ; $i <= $maximum[0] ; $i++)
    {
        $result = $queries->getCorrectAnswer($i,$quizID);

        if(mysql_num_rows($result)!= 0)
        {
            $data = mysql_fetch_array($result);

            $temp_answer = "answer$i";
            $answer = $$temp_answer;
        
            if($answer == $data[0])
                $total_correct++;
        }
        mysql_free_result($result);
    }
    $mark = 100/$total_questions*$total_correct;
    echo("Your mark was: ".round($mark)."<br><br>");
    $result = $queries->getNomationForQuiz($mark,$quizID);
    
    if(mysql_num_rows($result) == 0)
    {
        $result = $queries->getNomation($mark,-1);
    }
    if(mysql_num_rows($result) == 0)
    {
        echo("There is no nomation for this quiz.");
    }
    else
    {
        $data = mysql_fetch_array($result);
        echo("<b>Your nomation is: </b><br>$data[0]");
    }