testformulier - score optellen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Gijs Beijer

Gijs Beijer

11/11/2010 15:33:26
Quote Anchor link
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:

Quote:
<html>
<body>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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";

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php 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
 
PHP hulp

PHP hulp

24/11/2024 04:22:16
 
Jordi Kroon

Jordi Kroon

11/11/2010 15:36:35
Quote Anchor link
tip: ga eerst eens de basis leren van php
 
Wout van der Burg

Wout van der Burg

11/11/2010 15:38:33
Quote Anchor link
Krijg je ook foutmeldingen? Zo ja, welke?

@jordi; aldoende leert men ook ;)
Gewijzigd op 11/11/2010 15:39:31 door Wout van der Burg
 
Jordi Kroon

Jordi Kroon

11/11/2010 15:39:40
Quote Anchor link
probeer dit eens


$scTotaal= '$sc01 + $sc02 + $sc03 + $sc04 + $sc05 + $sc06 + $sc07 + $sc08 + $sc09 + $sc10 + $sc11';
 
Obelix Idefix

Obelix Idefix

11/11/2010 15:40:24
Quote Anchor link
Kijk eens naar de namen van de radiobuttons in je html-formulier en vergelijk die met die in je php-script ($_POST).
 
Jordi Kroon

Jordi Kroon

11/11/2010 15:40:27
Quote Anchor link
Wout van der Burg op 11/11/2010 15:38:33:
Krijg je ook foutmeldingen? Zo ja, welke?

@jordi; aldoende leert men ook ;)


klopt maar als wij dadelijk iets doen en uitleggen weet hij niet wat wij bedoelen vandaar :)
 
Gijs Beijer

Gijs Beijer

11/11/2010 15:42:41
Quote Anchor link
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!
 
Wout van der Burg

Wout van der Burg

11/11/2010 15:42:56
Quote Anchor link
Jordi kroon op 11/11/2010 15:39:40:
probeer dit eens


$scTotaal= '$sc01 + $sc02 + $sc03 + $sc04 + $sc05 + $sc06 + $sc07 + $sc08 + $sc09 + $sc10 + $sc11';


Waarom variabelen tussen quotes zetten??

Zet berekeningen altijd tussen haakjes trouwens!
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$scTotaal
= ($sc01 + $sc02 + $sc03 + $sc04 + $sc05 + $sc06 + $sc07 + $sc08 + $sc09 + $sc10 + $sc11);
?>
 
Teun Hesseling

Teun Hesseling

11/11/2010 15:43:10
Quote Anchor link
alle variabelen effe echo'en kijken wat er fout gaat
 
Wout van der Burg

Wout van der Burg

11/11/2010 15:43:52
Quote Anchor link
Ok.
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
 
Jordi Kroon

Jordi Kroon

11/11/2010 15:44:47
Quote Anchor link
voeg dit eens toe:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
?>
 
Gijs Beijer

Gijs Beijer

11/11/2010 15:50:58
Quote Anchor link
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?
 
Wout van der Burg

Wout van der Burg

11/11/2010 15:51:19
Quote Anchor link
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?
 
Gijs Beijer

Gijs Beijer

11/11/2010 15:53:21
Quote Anchor link
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 )
 
- Ariën  -
Beheerder

- Ariën -

11/11/2010 15:54:44
Quote Anchor link
Even opnieuw uploaden dan ;)?

Als je die regels weghaalt, dan is die array ook weer weg.
 
Gijs Beijer

Gijs Beijer

11/11/2010 15:58:15
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
?>


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
 
John D

John D

11/11/2010 16:01:22
Quote Anchor link
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.
 
- Mark -

- Mark -

11/11/2010 16:03:51
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo 'uw uitslag is '.array_sum($_POST).' geworden'; ?>


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 -
 
Wout van der Burg

Wout van der Burg

11/11/2010 16:05:17
Quote Anchor link
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.
 
Gijs Beijer

Gijs Beijer

11/11/2010 16:15:27
Quote Anchor link
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!
Gewijzigd op 11/11/2010 16:16:09 door Gijs Beijer
 
- Mark -

- Mark -

11/11/2010 16:21:10
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<html>
<body>
<?php

    #| Eerst kijken we of het formulier is verzonden.
    
        if($_SERVER['REQUEST_METHOD'] == 'POST'){

        /*---- INFO: Ja, Het formulier is verzonden. ----*/

        #| Dan gaan we nu de uitslag berekenen en weergeven.

        
            echo 'uw uitslag is '.array_sum($_POST).' geworden.';            
            
        }

    
?>

</body>
</html>


Tevens is het copieren van all die vars onzin. Allemaal nergens voor nodig.
Gewijzigd op 11/11/2010 16:21:31 door - Mark -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.