testformulier - score optellen
Hallo allemaal,
bij deze mijn eerste post. Ik ben een enorme noob op t gebied van php en het script waar ik hulp om ga vragen heb ik ook gebaseerd op een simpel mailform dat ik ooit gedownload heb.
Ik ben op het moment bezig met een Testformulier en wil hier graag van de score's opgeteld hebben. Ik heb eerst een test met 2 vragen gedaan voordat ik de hele test ging uitwerken en deze werkte. toen ik echter 11 onderwerpen met elk 3 vragen op ging bouwen ging het mis. Hij telt alleen de eerste 3 vragen op.
De website die opgeteld moet worden (en waar jullie de code dus van kunnen bekijken is www.amusant-animatie.nl/CMI/vragenlijst.html
Het php script wat ik heb geschreven voor de berekening (heb gehoord dat ik hier better een array voor kan gebruiken maar zoals ik al zei, ik ben een noob) is het volgende:
Hierbij ben ik me ervan bewust dat de html niet strict is maar het gaat me hier puur even om dat het script werkt.
Kunnen jullie mij uitleggen waarom het script niet werkt. Heb ik liever dan een gefixed script zelfs want dan leer ik er weer van.
Alvast Bedankt,
Groeten Gijs
bij deze mijn eerste post. Ik ben een enorme noob op t gebied van php en het script waar ik hulp om ga vragen heb ik ook gebaseerd op een simpel mailform dat ik ooit gedownload heb.
Ik ben op het moment bezig met een Testformulier en wil hier graag van de score's opgeteld hebben. Ik heb eerst een test met 2 vragen gedaan voordat ik de hele test ging uitwerken en deze werkte. toen ik echter 11 onderwerpen met elk 3 vragen op ging bouwen ging het mis. Hij telt alleen de eerste 3 vragen op.
De website die opgeteld moet worden (en waar jullie de code dus van kunnen bekijken is www.amusant-animatie.nl/CMI/vragenlijst.html
Het php script wat ik heb geschreven voor de berekening (heb gehoord dat ik hier better een array voor kan gebruiken maar zoals ik al zei, ik ben een noob) is het volgende:
Quote:
<html>
<body>
</body>
</html>
<body>
Code (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
$sc011= $_POST['011'];
$sc012= $_POST['012'];
$sc013= $_POST['013'];
$sc01= $sc011 + $sc012 + $sc013;
$sc021= $_POST['021'];
$sc022= $_POST['022'];
$sc023= $_POST['023'];
$sc02= $sc021 + $sc022 + $sc023;
$sc031= $_POST['031'];
$sc032= $_POST['032'];
$sc033= $_POST['033'];
$sc03= $sc031 + $sc032 + $sc033;
$sc041= $_POST['041'];
$sc042= $_POST['042'];
$sc043= $_POST['043'];
$sc04= $sc041 + $sc042 + $sc043;
$sc051= $_POST['051'];
$sc052= $_POST['052'];
$sc053= $_POST['053'];
$sc05= $sc051 + $sc052 + $sc053;
$sc061= $_POST['061'];
$sc062= $_POST['062'];
$sc063= $_POST['063'];
$sc06= $sc061 + $sc062 + $sc063;
$sc071= $_POST['071'];
$sc072= $_POST['072'];
$sc073= $_POST['073'];
$sc07= $sc071 + $sc072 + $sc073;
$sc081= $_POST['081'];
$sc082= $_POST['082'];
$sc083= $_POST['083'];
$sc08= $sc081 + $sc082 + $sc083;
$sc091= $_POST['091'];
$sc092= $_POST['092'];
$sc093= $_POST['093'];
$sc09= $sc091 + $sc092 + $sc093;
$sc101= $_POST['101'];
$sc102= $_POST['102'];
$sc103= $_POST['103'];
$sc10= $sc101 + $sc102 + $sc103;
$sc111= $_POST['111'];
$sc112= $_POST['112'];
$sc113= $_POST['113'];
$sc11= $sc111 + $sc112 + $sc113;
$scTotaal= $sc01 + $sc02 + $sc03 + $sc04 + $sc05 + $sc06 + $sc07 + $sc08 + $sc09 + $sc10 + $sc11;
echo "uw uitslag is " . $scTotaal . "geworden";
?>
$sc011= $_POST['011'];
$sc012= $_POST['012'];
$sc013= $_POST['013'];
$sc01= $sc011 + $sc012 + $sc013;
$sc021= $_POST['021'];
$sc022= $_POST['022'];
$sc023= $_POST['023'];
$sc02= $sc021 + $sc022 + $sc023;
$sc031= $_POST['031'];
$sc032= $_POST['032'];
$sc033= $_POST['033'];
$sc03= $sc031 + $sc032 + $sc033;
$sc041= $_POST['041'];
$sc042= $_POST['042'];
$sc043= $_POST['043'];
$sc04= $sc041 + $sc042 + $sc043;
$sc051= $_POST['051'];
$sc052= $_POST['052'];
$sc053= $_POST['053'];
$sc05= $sc051 + $sc052 + $sc053;
$sc061= $_POST['061'];
$sc062= $_POST['062'];
$sc063= $_POST['063'];
$sc06= $sc061 + $sc062 + $sc063;
$sc071= $_POST['071'];
$sc072= $_POST['072'];
$sc073= $_POST['073'];
$sc07= $sc071 + $sc072 + $sc073;
$sc081= $_POST['081'];
$sc082= $_POST['082'];
$sc083= $_POST['083'];
$sc08= $sc081 + $sc082 + $sc083;
$sc091= $_POST['091'];
$sc092= $_POST['092'];
$sc093= $_POST['093'];
$sc09= $sc091 + $sc092 + $sc093;
$sc101= $_POST['101'];
$sc102= $_POST['102'];
$sc103= $_POST['103'];
$sc10= $sc101 + $sc102 + $sc103;
$sc111= $_POST['111'];
$sc112= $_POST['112'];
$sc113= $_POST['113'];
$sc11= $sc111 + $sc112 + $sc113;
$scTotaal= $sc01 + $sc02 + $sc03 + $sc04 + $sc05 + $sc06 + $sc07 + $sc08 + $sc09 + $sc10 + $sc11;
echo "uw uitslag is " . $scTotaal . "geworden";
?>
</body>
</html>
Hierbij ben ik me ervan bewust dat de html niet strict is maar het gaat me hier puur even om dat het script werkt.
Kunnen jullie mij uitleggen waarom het script niet werkt. Heb ik liever dan een gefixed script zelfs want dan leer ik er weer van.
Alvast Bedankt,
Groeten Gijs
Gesponsorde koppelingen:
tip: ga eerst eens de basis leren van php
Krijg je ook foutmeldingen? Zo ja, welke?
@jordi; aldoende leert men ook ;)
@jordi; aldoende leert men ook ;)
Gewijzigd op 11/11/2010 15:39:31 door Wout van der Burg
probeer dit eens
$scTotaal= '$sc01 + $sc02 + $sc03 + $sc04 + $sc05 + $sc06 + $sc07 + $sc08 + $sc09 + $sc10 + $sc11';
$scTotaal= '$sc01 + $sc02 + $sc03 + $sc04 + $sc05 + $sc06 + $sc07 + $sc08 + $sc09 + $sc10 + $sc11';
Kijk eens naar de namen van de radiobuttons in je html-formulier en vergelijk die met die in je php-script ($_POST).
Wout van der Burg op 11/11/2010 15:38:33:
Krijg je ook foutmeldingen? Zo ja, welke?
@jordi; aldoende leert men ook ;)
@jordi; aldoende leert men ook ;)
klopt maar als wij dadelijk iets doen en uitleggen weet hij niet wat wij bedoelen vandaar :)
Hoi,
@Jordy ga ik ook zeker doen, in het volgende semester krijg ik het op school. Ik doe dit om een vriend te helpen en die wil het graag op korte termijn. sorry dat ik nu even stomme vragen stel. Hoop snel met een uitdaging voor je te komen ;).
@Wout Het formulier staat onder de link die ik heb bijgevoegd:
www.amusant-animatie.nl/vragenlijst.html (de broncode kun je zo bekijken)
krijg verder geen foutmeldingen maar ik zou zo ook niet weten waar ik die zou moeten krijg :s
Alvast Bedankt!
@Jordy ga ik ook zeker doen, in het volgende semester krijg ik het op school. Ik doe dit om een vriend te helpen en die wil het graag op korte termijn. sorry dat ik nu even stomme vragen stel. Hoop snel met een uitdaging voor je te komen ;).
@Wout Het formulier staat onder de link die ik heb bijgevoegd:
www.amusant-animatie.nl/vragenlijst.html (de broncode kun je zo bekijken)
krijg verder geen foutmeldingen maar ik zou zo ook niet weten waar ik die zou moeten krijg :s
Alvast Bedankt!
Jordi kroon op 11/11/2010 15:39:40:
probeer dit eens
$scTotaal= '$sc01 + $sc02 + $sc03 + $sc04 + $sc05 + $sc06 + $sc07 + $sc08 + $sc09 + $sc10 + $sc11';
$scTotaal= '$sc01 + $sc02 + $sc03 + $sc04 + $sc05 + $sc06 + $sc07 + $sc08 + $sc09 + $sc10 + $sc11';
Waarom variabelen tussen quotes zetten??
Zet berekeningen altijd tussen haakjes trouwens!
alle variabelen effe echo'en kijken wat er fout gaat
Ok.
Zet eens bovenaan je uitkomst.php;
print_r($_POST);
die();
Wat komt er dan uit?
Zet eens bovenaan je uitkomst.php;
print_r($_POST);
die();
Wat komt er dan uit?
Gewijzigd op 11/11/2010 15:44:15 door Wout van der Burg
voeg dit eens toe:
De variabelen tussen quotes zetten hielp niet. Maar volgens wout is dat ook onnodig?
Heb nu de berekeningen tussen haakjes, de print_r enz. toegevoegd bovenin het phpscript en de error report erbij gezet.
nu geeft hij dit terug:
Array ( [011] => 1 [012] => 4 [013] => 5 [02_1] => 4 [02_2] => 4 [02_3] => 5 [03_1] => 5 [03_2] => 2 [03_3] => 1 [04_1] => 5 [04_2] => 4 [04_3] => 3 )
enig idee?
Heb nu de berekeningen tussen haakjes, de print_r enz. toegevoegd bovenin het phpscript en de error report erbij gezet.
nu geeft hij dit terug:
Array ( [011] => 1 [012] => 4 [013] => 5 [02_1] => 4 [02_2] => 4 [02_3] => 5 [03_1] => 5 [03_2] => 2 [03_3] => 1 [04_1] => 5 [04_2] => 4 [04_3] => 3 )
enig idee?
Haal inderdaad ook evenin je formulier de puntjes weg in je veldnamen. Die zijn toch nergens voor nodig.
Houdt de naam van de $_POST-var en je veldnaam altijd hetzelfde. Anders kun je deze niet aanspreken.
Toevoeging op 11/11/2010 15:52:42:
Variabelen horen nooit tussen quotes.
Ok je POST-vars worden dus weergegeven.
Haal nu eens de print_r(); en de die(); weg?
Houdt de naam van de $_POST-var en je veldnaam altijd hetzelfde. Anders kun je deze niet aanspreken.
Toevoeging op 11/11/2010 15:52:42:
Variabelen horen nooit tussen quotes.
Ok je POST-vars worden dus weergegeven.
Haal nu eens de print_r(); en de die(); weg?
k dacht dat ik die puntjes al weg had gehaald, misschien niet geupload,
maar nog steeds is mijn output:
Array ( [011] => 1 [012] => 4 [013] => 5 [02_1] => 4 [02_2] => 4 [02_3] => 5 [03_1] => 5 [03_2] => 2 [03_3] => 1 [04_1] => 5 [04_2] => 4 [04_3] => 3 )
maar nog steeds is mijn output:
Array ( [011] => 1 [012] => 4 [013] => 5 [02_1] => 4 [02_2] => 4 [02_3] => 5 [03_1] => 5 [03_2] => 2 [03_3] => 1 [04_1] => 5 [04_2] => 4 [04_3] => 3 )
Even opnieuw uploaden dan ;)?
Als je die regels weghaalt, dan is die array ook weer weg.
Als je die regels weghaalt, dan is die array ook weer weg.
Het werkt!!!!
superbedankt allemaal.
even voor mijn leerweg, die print_r(); en de die(); --> wat geven deze precies voor een output?
en dezelfde vraag voor het volgende stukje code dat ik van jullie kreeg:
Moet ik dit laatste stukje code laten staan?
Het lag dus waarschijnlijk gewoon aan dat ik geen haakjes om de berekening had?
Heel blij in ieder geval, ook namens degene voor wie ik het maak.
Groeten Gijs
superbedankt allemaal.
even voor mijn leerweg, die print_r(); en de die(); --> wat geven deze precies voor een output?
en dezelfde vraag voor het volgende stukje code dat ik van jullie kreeg:
Moet ik dit laatste stukje code laten staan?
Het lag dus waarschijnlijk gewoon aan dat ik geen haakjes om de berekening had?
Heel blij in ieder geval, ook namens degene voor wie ik het maak.
Groeten Gijs
Het lijkt erop dat je na $sc013= $_POST['013'] opeens underscores hebt in je veldnamen: [02_1] => 4 dus in je form de underscores weghalen of in je script toevoegen: $sc021= $_POST['021']; wordt dan $sc021= $_POST['02_1'];
Best is om ze in je form weg te halen om het eenduidig te maken.
Best is om ze in je form weg te halen om het eenduidig te maken.
Ik ben even aan het twijfelen ik weet niet of die submit knop in je $_POST array komt omdat je hem geen naam hebt gegeven. maar als dat niet het geval is kun je alles vervangen door.
Let op er zit dan totaal geen fout afhandeling in, Maaarja dat heb je nu ook niet. En de mensen kloten alleen hunzelf als ze gaan rommelen.
Let op er zit dan totaal geen fout afhandeling in, Maaarja dat heb je nu ook niet. En de mensen kloten alleen hunzelf als ze gaan rommelen.
Gewijzigd op 11/11/2010 16:09:26 door - Mark -
print_r geeft een leesbare output van een array();
De servervariabelen $_POST en $_GET worden automatisch in een array gezet.
Wat is het verschil tussen variabelen en arrays? Zoek dat even op!
die(); zorgt ervoor dat je script stopt en de output geeft tot op dat moment.
Dat laatste stukje code kun je gebruiken om foutcodes te laten genereren. Onthoud dit dus goed, om foutcodes te kunnen lezen. Van deze foutcodes kun je veel leren en het kan voorkomen dat je 'stomme vragen' stelt, al bestaan die niet.
De servervariabelen $_POST en $_GET worden automatisch in een array gezet.
Wat is het verschil tussen variabelen en arrays? Zoek dat even op!
die(); zorgt ervoor dat je script stopt en de output geeft tot op dat moment.
Dat laatste stukje code kun je gebruiken om foutcodes te laten genereren. Onthoud dit dus goed, om foutcodes te kunnen lezen. Van deze foutcodes kun je veel leren en het kan voorkomen dat je 'stomme vragen' stelt, al bestaan die niet.
Nogmaals super bedankt allemaal, is het wenselijk dat ik deze post verwijder of laten staan voor anderen met soortgelijke problemen?
ik ga mooi verder php leren! leuk!
ik ga mooi verder php leren! leuk!
Gewijzigd op 11/11/2010 16:16:09 door Gijs Beijer
Post blijven gewoon staan. Dat is altijd handig voor anderen.
Ik zag alleen dat je niet controleerd of een formulier ook echt is verzonden. Je krijgt dan zo iets.
Tevens is het copieren van all die vars onzin. Allemaal nergens voor nodig.
Ik zag alleen dat je niet controleerd of een formulier ook echt is verzonden. Je krijgt dan zo iets.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Tevens is het copieren van all die vars onzin. Allemaal nergens voor nodig.
Gewijzigd op 11/11/2010 16:21:31 door - Mark -



