QUIZ probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Ontwikkelaar PHP

Functie omschrijving Full Stack Software Ontwikkelaar gezocht! Voor een bedrijf in de regio van Ermelo zijn wij op zoek naar een Software Ontwikkelaar die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van SaaS applicatie van dit bedrijf. Hierbij ga jij voor- en samenwerken met de klanten van de organisatie, het is hierbij dus van groot belang dat je communicatief vaardig bent en dat je beschikt over beheersing van zowel de Nederlandse als Engelse taal. Bedrijfsprofiel Waar ga je werken? Altijd al in een echt familiebedrijf willen werken? Dan is dit je kans! Het bedrijf waar je komt te

Bekijk vacature »

WordPress & Azure Developer

Dit ga je doen Zowel front- als back-end development aan de online website omgeving; Het up-to-date houden van alle WordPress-sites; Koppelingen maken tussen applicaties; Meedenken en adviseren over verbeteringen; Development door middel van WordPress, Javascript, HTML en CSS; Werken binnen Scrum/Agile team. Hier ga je werken Voor een grote overheidsinstelling in Den Haag zijn wij opzoek naar een WordPress developer, met kennis en ervaring op het gebied van Azure. De organisatie zit in een grote transitie waarbij de gehele website/online omgeving vernieuwd zal gaan worden. Binnen dit Scrum/Agile team ben je verantwoordelijk voor deze grote migratie/ombouw van de omgeving. De

Bekijk vacature »

Medior PHP developer

Functie Samen met je development team werk je Agile Scrum en met jullie gezamenlijke kennis en ervaring bepalen jullie samen de beste keuze voor techniek en architectuur. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en denkniveau • Je hebt goede kennis en ervaring met PHP • Je bent niet bang voor complexe projecten • Je werkt graag zelfstandig aan applicaties • Je bent altijd nieuwsgierig naar nieuwe

Bekijk vacature »

.NET software developer

Functie omschrijving Voor een gewilde werkgever in omgeving Roosendaal zijn wij op zoek naar een back-end software developer met een aantal jaar werkervaring. Je krijgt een plekje in het workflow team en je zal betrokken worden bij het bouwen van nieuwe software, en het optimaliseren van bestaande code. Je werkt bij dit bedrijf in een Scrum team waarin je soms klantcontact hebt. Jouw werkzaamheden zullen er als volgt uit zien: Je krijgt een plekje op de in-house IT afdeling. Deze afdeling bestaat uit zo'n 12 collega's, verdeeld over verschillende specialisaties (BI, Beheer, Business software & workflow). De vacature staat open

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar een Embedded Software developer. Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij enthousiast en een echte team player? Lees dan snel verder en laat wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot aantal creatieve en ambitieuze ontwikkelaars. Ze

Bekijk vacature »

PHP/Symfony developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Bergen op Zoom ben je als PHP/Symfony Developer niet alleen bezig met software ontwikkeling. Je bent buiten ontwikkeling ook continu bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Techstack: PHP, Symfony & mySQL. Jouw takenpakket ziet er als volgt uit: Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden

Bekijk vacature »

Developer

Functie omschrijving Gaat jouw hart sneller kloppen van software developen in C#.NET? Voor een softwarebedrijf in regio Den Bosch zijn wij op zoek naar een C# programmeur. Lees snel verder! Wat ga je doen? Je gaat werken met C# en ASP.NET MVC Framework om onder meer webapplicaties, webshops en websites te ontwikkelen. Je optimaliseert de bestaande software en helpt mee aan het automatiseren van bedrijfsprocessen. Je gaat samen met je collega's de juiste oplossing op basis van de wensen van de klanten uitwerken tot een mooi product. Bedrijfsprofiel Het ontwikkelen van softwareoplossingen en kantoorautomatiseringen is waar dit bedrijf voor staat.

Bekijk vacature »

Junior Outsystems developer

Functie Als junior Outsystems developer wordt jij onderdeel van een multidisciplinair team van 23 software engineers. Ons team werkt agile en termen als Continuous Integration en Continuous Delivery zijn bij ons dagelijkse koek. Wij werken aan uitdagende en afwisselende projecten met als doel onze klanten een totaal oplossing aan te bieden. Als junior Outsystems developer krijg jij bij ons de kans om jezelf te ontwikkelen naar een volwaardige ervaren en gecertificeerde Outsystems developer. Jij een team met ervaren mensen (10+ ervaring) om je heen. Zo heb jij niet het gevoel dat jij meteen in het diepe wordt gegooid en uiteraard

Bekijk vacature »

SQL database ontwikkelaar

Functie omschrijving Ben jij niet bang voor complexe algoritmes? Schikt het schrijven van procedures in T-SQL jouw niet af en heb jij al de nodige informatie in SQL, dan is functie precies wat voor jou! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat werken aan de complexere projecten waar jij van A tot Z bij betrokken bent. Je gaat zorg dragen voor het ontwerp, de ontwikkeling en het updaten van SQL databases. Dit doe je op basis van T-SQL. Jij bent van start tot finish betrokken bij de projecten die jij leidt. Je houdt contact met klanten en

Bekijk vacature »

.NET Developer Microservices

Dit ga je doen Je taken zullen voornamelijk bestaan uit: Het ontwikkelen van software, inclusief vormgeving, implementaties, integraties en (automatisch) testen (.NET, C#, Azure, Docker, Microservices, Angular); Het in kaart brengen van software requirements; Zorgen dat jouw code kwalitatief hoogstaand is; Het uitvoeren van risico analyses; Een bijdrage leveren aan het continuous quality improvement process. Hier ga je werken Dat kanker een verschrikkelijke ziekte is die de wereld uit geholpen moet worden, is duidelijk. Binnen deze Gelderse organisatie die duizenden ziekenhuizen van producten voorziet, proberen ze daar via technische innovaties aan bij te dragen. Samen met 10 collega .NET developers

Bekijk vacature »

Senior/Lead Python developer

Functie Samen met je team, bestaande uit een senior, 2 mediors en één junior ontwikkelaar ga je op een Agile-gebaseerde aanpak werken aan hun software. Je hebt oog voor kwaliteit, risico’s en klantbelang. Communicatie met je collega’s en waar nodig ook met klanten speelt een belangrijke rol in het bereiken van een succesvol resultaat. Als persoon ben je slim, krijg je dingen voor elkaar en ga je resultaatgericht te werk. Binnen het development team is er veel zelfstandigheid, los van de stand-up (10:00 uur) en zo nu en dan pair-programming sessies. Technieken die zij gebruiken zijn o.a. Python, Django, MySQL,

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Front end ontwikkelaar

Functie Het huidige team bestaat uit momenteel uit 5 back end developers verdeeld van senior tot junior. Omdat de gehele front end van applicaties anders gaan insteken zijn ze op zoek naar een ervaren Front end developer die hen kan helpen de juiste keuzes te maken. Je krijgt veel vrijheid om te bepalen hoe je dit wilt ontwikkelen en vrijheid in welke techniek je hiervoor wilt gebruiken. Je zult je dus bezighouden met architectuur, documentatie en natuurlijk ontwikkeling van nieuwe functionaliteiten binnen de verschillende applicaties. natuurlijk heb jij ook mogelijkheden om te sparren binnen het team, maar ze gaan uit

Bekijk vacature »

Cloud Developer

Cloud Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

SQL Developer

Functie omschrijving We are looking for a dutch native speaker Jij gaat in deze functie aan de slag met uitdagende projecten en het creëren van maatwerk software, vooral middels SQL. Iedere klant/project is weer anders, maar dat maakt dit bedrijf en de functie erg uniek & uitdagend. Verder heb je de volgende taken: Ontwikkelen en ontwerpen van SQL databases. T-SQL wordt hierbij gebruikt als programmeer laag; Optimalisatie van query's, voor een verbeterde efficiency; Begeleiden van junior developers, mits je dit leuk vindt; Heb je meer interesse in een rol als consultant, dan is dit ook mogelijk. Je heb hier meer

Bekijk vacature »

Pagina: 1 2 volgende »

Sebas V

Sebas V

16/08/2012 12:06:23
Quote Anchor link
Goedemorgen,

ik heb een probleem met een twee Radiobuttons in een formulier. Ik wil graag dat op de redirect pagina, de score uitslag verschijnt van de gekozen antwoorden. De originele functie werkt met een PHP POST (bron: http://css-tricks.com/building-a-simple-quiz/) maar in combinatie met mijn javascript bestand, krijg ik het niet werkend..

Heeft iemand een oplossing hierop?

Bedankt voor de moeite..

FORMULIER
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
<form id="ContactForm" action="">

<section class="st-panel" id="st-panel-2">
                        <div class="st-deco"></div>
                            <h2>Toelichting:<br />Neem plaats op de eerste tegel en wek energie op. Zodra de vraag op het scherm verschijnt, kiest u n van de vier volgende antwoorden.</h2>
                                <div class="sizer">
                                    <label class="label_radio" for="vraag1_A"><input name="vraag1_antwoorden" id="vraag1_A" value="A" type="radio" />A) Geen eis</label>
                                    <label class="label_radio" for="vraag1_B"><input name="vraag1_antwoorden" id="vraag1_B" value="B" type="radio" />B) 0,1 Ohm</label>
                                    <label class="label_radio" for="vraag1_C"><input name="vraag1_antwoorden" id="vraag1_C" value="C" type="radio" />C) 1 Ohm</label>
                                    <label class="label_radio" for="vraag1_D"><input name="vraag1_antwoorden" id="vraag1_D" value="D" type="radio" />D) 10 Ohm</label>
                                </div>
                                <span id="vraag1_antwoorden" class="foutmelding_antwoorden" style="display:none;"></span>
                    </section>
<input type="button" class="button_verzenden black" id="send" value="VERSTUUR" /><input type="hidden" id="newcontact" name="newcontact" value="1"></input></form>


JAVASCRIPT VOOR VERZENDEN MAIL, DATABASE TOEVOEGING
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
63
64
65
66
$(document).ready(function() {
    contact.initEventHandlers();
});
var contact = {
    initEventHandlers    : function() {
        /* clicking the submit form */
        $('#send').bind('click',function(event){
            $('#loader').show();
            setTimeout('contact.ContactFormSubmit()',500);
        });
        /* remove messages when user wants to correct (focus on the input) */
        $('.inplaceError,.foutmelding_antwoorden',$('#ContactForm')).bind('focus',function(){
            var $this         = $(this);
            var $error_elem = $this.next();
            if($error_elem.length)
                $error_elem.fadeOut(function(){$(this).empty()});
            $('#success_message').empty();    
        });
        /* user presses enter - submits form */
        $('#ContactForm input,#ContactForm textarea').keypress(function (e) {
            if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {  
                $("#send").click();
                return false;  
            }
            else  
                return true;  
        });
    },
    ContactFormSubmit    : function() {
        $.ajax({
               type        : 'POST',
               url        : 'php/contact.php?ts='+new Date().getTime(),
               dataType    : 'json',
               data        : $('#ContactForm').serialize(),
               success    : function(data,textStatus){
                              //hide the ajax loader
                              $('#loader').hide();
                              if(data.result == '1'){
                                  //show success message
                                $('#midden').remove();
window.location = "result.php"
                              }
                              else if(data.result == '-1'){
                                  for(var i=0; i < data.errors.length; ++i ){
                                      if(data.errors[i].value!='') {
                                        var elm = $("#"+data.errors[i].name);
                                        // we gaan kijken welk soort element elm is.
                                        // wanneer dat element een span is, moeten we geen nieuwe span meer aanmaken...
                                        switch (elm[0].tagName.toLowerCase()) {
                                          case 'span':
                                            elm.html(data.errors[i].value).fadeIn();
                                            break;
                                          default:
                                            elm.next().html('<span class="foutmelding_antwoorden">'+data.errors[i].value+'</span>').fadeIn();
                                            break;
                                        }
                                      }
                                      
                                          $("#"+data.errors[i].name).next().html('<span class="foutmelding_antwoorden">'+data.errors[i].value+'</span>').fadeIn();
                                  }
                              }                       
                          },
               error    : function(data,textStatus){}
        });
    }  
};


RESULT PAGINA
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
<body>
    <div id="begin_framework">
    <strong>Quiz</strong><br /><br />Bedankt voor uw participatie, u kunt hieronder uw score vinden en uw certificaat uitprinten.
    
    <?php
                
        $answer1
= $_POST['vraag1_antwoorden'];
        $answer2 = $_POST['vraag2_antwoorden'];
        
        $totalCorrect = 0;
        
        if ($answer1 == "C") { $totalCorrect++; }
        if ($answer2 == "A") { $totalCorrect++; }
        
        echo "<div id='results'>$totalCorrect / 2 correct</div>";
                
    ?>


    </div>
</body>
 
PHP hulp

PHP hulp

29/03/2024 10:08:02
 
Erwin H

Erwin H

16/08/2012 12:36:52
Quote Anchor link
wat probeer je nu eigenlijk te doen?
Wat gaat er niet goed?
Wat heb je al gedaan om het op te lossen?
Waar loop je vast?

Iets meer heldere info zou wel helpen.
 
Sebas V

Sebas V

16/08/2012 13:22:30
Quote Anchor link
Hee Erwin,

- Ik probeer mijn score uitslag te tonen op de result pagina

- Het formulier neemt de waarde niet mee naar de result pagina omdat er geen POST functie aan gekoppeld zit. Zodra ik dit doe, moet ik mijn button veranderen naar een submit knop, maar dan werkt mijn javascript niet meer die de data mailt en in een database plaatst..

- Ik heb al geprobeerd: Form action naar result.php en method:post > mailing en database plaatsing werkt niet meer;
- Submit knop verbergen achter de normale knop;
- PHP integreren in het javascript bestand, zonder enig succes.

- Dus mijn vraag is, hoe kan ik de score uitslag (POST FUNCTIE) in mijn javascript bestand hierboven meenemen?
Gewijzigd op 16/08/2012 13:25:03 door Sebas V
 
Obelix Idefix

Obelix Idefix

16/08/2012 13:35:11
Quote Anchor link
Je kunt de gegevens toch gewoon POSTen naar result.php en daar een mail (advies: swiftmailer of phpmailer) versturen en gegevens invoeren in db? Zou dat niet met javascript doen.

Ten aanzien van je result code:
Waarom kopiëren van variabelen (regel 7+8)?
Je echo: gebruik ' zodat je in HTML " kunt gebruiken. Daarnaast horen variabelen buiten quotes.
 
Sebas V

Sebas V

16/08/2012 13:55:52
Quote Anchor link
Op dit moment hanteer ik onderstaande contact.php voor de afhandeling van de mail en database. Waarin zie je dan die POST functie staan zodat deze getoond wordt op result.php?


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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?php
require_once("db.php");                    /* Database Class */
require_once('utils/is_email.php');        /* Email Validation Script */

/* Handle Ajax Request */

if(isset($_POST['newcontact'])){
    $contact = new Contact();
    unset($contact);
}

else{
    header('Location: /');
}


/* Class Contact */
class Contact{
    
    private $db;                         /* the database obj */
    
    private $errors         = array();  /* holds error messages */
    private $num_errors;                   /* number of errors in submitted form */
    
    public function __construct(){
        $this->db = new DB();
        if(isset($_POST['newcontact']))
            $this->processNewMessage();
        else
            header("Location: /");
    }


    public function processNewMessage(){
        
        $contactpersoon        = $_POST['contactpersoon'];        
        $bedrijfsnaam        = $_POST['bedrijfsnaam'];
        $telefoon            = $_POST['telefoon'];
        $email                = $_POST['email'];
        $vraag1_antwoorden    = $_POST['vraag1_antwoorden'];
        $vraag2_antwoorden    = $_POST['vraag2_antwoorden'];
        
            
        /* Server Side Data Validation */
        
        /* Contactpersoon Validation */

        if(!$contactpersoon || mb_strlen($contactpersoon = trim($contactpersoon)) == 0)
            $this->setError('contactpersoon', 'Vul uw contactpersoon in');
        else if(mb_strlen(trim($contactpersoon)) > 120)
            $this->setError('contactpersoon', 'Te lang! 120 karakters max.');
                
        /* Bedrijfsnaam Validation */
            if(!$bedrijfsnaam || mb_strlen($bedrijfsnaam = trim($bedrijfsnaam)) == 0)
            $this->setError('bedrijfsnaam', 'Vul uw bedrijfsnaam in');
        else if(mb_strlen(trim($bedrijfsnaam)) > 120)
            $this->setError('bedrijfsnaam', 'Te lang! 120 karakters max.');
            
            /* Telefoon Validation */
            if(!$telefoon || mb_strlen($telefoon = trim($telefoon)) == 0)
            $this->setError('telefoon', 'Vul uw telefoonnummer in');
        else if(mb_strlen(trim($telefoon)) > 120)
            $this->setError('telefoon', 'Te lang! 120 karakters max.');
            
            /* Vraag 1 Validation */
            if(!$vraag1_antwoorden || mb_strlen($vraag1_antwoorden = trim($vraag1_antwoorden)) == 0)
            $this->setError('vraag1_antwoorden', 'Selecteer een antwoord a.u.b.');
                
            /* Vraag 2 Validation */
            if(!$vraag2_antwoorden || mb_strlen($vraag2_antwoorden = trim($vraag2_antwoorden)) == 0)
            $this->setError('vraag2_antwoorden', 'Selecteer een antwoord a.u.b.');
                
            /* Email Validation */
        if(!$email || mb_strlen($email = trim($email)) == 0)
            $this->setError('email','Vul uw e-mail in');
        else{
            if(!is_email($email))
                $this->setError('email', 'Vul een correct email adres in');
            else if(mb_strlen($email) > 120)
                $this->setError('email', 'Te lang! 120 karakters max.');
        }

    
        /* Errors exist */
        if($this->countErrors() > 0){
            $json = array(
                'result' => -1,
                'errors' => array(
                                array('name' => 'contactpersoon'    ,'value' => $this->error_value('contactpersoon')),
                                array('name' => 'bedrijfsnaam'    ,'value' => $this->error_value('bedrijfsnaam')),
                                array('name' => 'email'        ,'value' => $this->error_value('email')),                                
                                array('name' => 'telefoon'    ,'value' => $this->error_value('telefoon')),
                                array('name' => 'vraag1_antwoorden'    ,'value' => $this->error_value('vraag1_antwoorden')),
                                array('name' => 'vraag2_antwoorden'    ,'value' => $this->error_value('vraag2_antwoorden')),
                            )
                );
                
            $encoded = json_encode($json);
            echo $encoded;
            unset($encoded);
        }

        /* No errors, insert in db*/
        else{
            if(($ret = $this->db->dbNewMessage($contactpersoon, $bedrijfsnaam, $email, $telefoon, $vraag1_antwoorden, $vraag2_antwoorden)) > 0){
                $json = array('result'         => 1);
                if(SEND_EMAIL)
                    $this->sendEmail($contactpersoon,$bedrijfsnaam,$email,$telefoon,$vraag1_antwoorden,$vraag2_antwoorden);
            }
    
            else
                $json = array('result'         => -2); /* something went wrong in database insertion  */
            $encoded = json_encode($json);
            echo $encoded;
            unset($encoded);
        }
    }

    
    public function sendEmail($contactpersoon,$bedrijfsnaam,$email,$telefoon,$vraag1_antwoorden,$vraag2_antwoorden){
        /* Just format the email text the way you want ... */
        $message_body    = "<div style=\"font-size:12px; font-weight:normal;\">Hallo,<br><br>"
                                    ."Het volgende bedrijf heeft zich zojuist aangemeld:</div><br>"
                                    ."<table cellpadding=\"1\" cellspacing=\"1\" width=\"550px\"><tr><td style=\"font-size:12px; color:#000000\">Bedrijfsnaam:</td><td style=\"font-size:12px; color:#000000\">".$bedrijfsnaam."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Contactpersoon:</td><td style=\"font-size:12px; color:#000000\">".$contactpersoon."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Telefoonnummer:</td><td style=\"font-size:12px; color:#000000\">".$telefoon."</td></tr><tr><td style=\"font-size:12px; color:#000000\">E-mail:</td><td style=\"font-size:12px; color:#000000\">".$email."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Antwoord vraag 1:</td><td style=\"font-size:12px; color:#000000\">".$vraag1_antwoorden."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Antwoord vraag 2:</td><td style=\"font-size:12px; color:#000000\">".$vraag2_antwoorden."</td></tr></table><br>";
        
            // Geef GELDIGE adressen op
            // Een korte benaming voor jouw website

            $website_naam = 'Aanmelding';
            // Jouw eigen geldige emailadres
            $eigen_emailadres = 'EMAIL ADRES';
            // Een geldig emailadres voor errors
            $error_emailadres = 'EMAIL ADRES';
            // De naam van de verzender
            $naam_verzender = ''.$bedrijfsnaam.'';
            // Het geldige emailadres van de afzender
            $email_verzender = ''.$email.'';
            // Een geldig emailadres of helemaal leeg laten
            $bcc_emailadres = '';
            // HTML mail? True/False
            $html = true;
            
            // De headers samenstellen
            $headers     = 'From: ' . $website_naam . ' <' . $eigen_emailadres . '>' . PHP_EOL;
            $headers    .= 'Reply-To: ' . $naam_verzender . ' <' . $email_verzender . '>' . PHP_EOL;
            $headers    .= 'Return-Path: Mail-Error <' . $error_emailadres . '>' . PHP_EOL;
            $headers    .= ($bcc_emailadres != '') ? 'Bcc: ' . $bcc_emailadres . PHP_EOL : '';
            $headers    .= 'X-Mailer: PHP/' . phpversion() . PHP_EOL;
            $headers    .= 'X-Priority: Normal' . PHP_EOL;
            $headers    .= ($html) ? 'MIME-Version: 1.0' . PHP_EOL : '';
            $headers    .= ($html) ? 'Content-type: text/html; charset=iso-8859-1' . PHP_EOL : '';

        
            mail(EMAIL_TO,MESSAGE_SUBJECT,$message_body,$headers);

    }

    
    public function setError($field, $errmsg){
        $this->errors[$field]     = $errmsg;
        $this->num_errors         = count($this->errors);
    }

    
    public function error_value($field){
        if(array_key_exists($field,$this->errors))
            return $this->errors[$field];
        else
            return '';
    }

    
    public function countErrors(){
        return $this->num_errors;
    }
};


?>
 
Erwin H

Erwin H

16/08/2012 14:35:02
Quote Anchor link
Ik ga mee met wat Obelix zegt. Waarom zou je eerst alle info via een Ajax submit willen doen en dan ook nog een submit via een normale POST. Dat is dubbelop. Je moet dan twee keer verbinding maken met je server, terwijl het in 1 keer kan. Ik zie dus twee (logische) oplossingen:
1) form op normale manier submitten en serverside zowel het form behandelen als het resultaat opmaken
2) form submitten via Ajax en na een succes melding van de server via javascript je form hidden en een succes div tonen. Op die manier hoef je dus ook geen tweede submit te doen.
 
Obelix Idefix

Obelix Idefix

16/08/2012 16:35:55
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
        $contactpersoon
        = $_POST['contactpersoon'];        
        $bedrijfsnaam        = $_POST['bedrijfsnaam'];
        $telefoon            = $_POST['telefoon'];
        $email                = $_POST['email'];
        $vraag1_antwoorden    = $_POST['vraag1_antwoorden'];
        $vraag2_antwoorden    = $_POST['vraag2_antwoorden'];
?>

Waarom allemaal kopiëren?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$message_body    = "<div style=\"font-size:12px; font-weight:normal;\">Hallo,<br><br>"
                                    ."Het volgende bedrijf heeft zich zojuist aangemeld:</div><br>"
                                    ."<table cellpadding=\"1\" cellspacing=\"1\" width=\"550px\"><tr><td style=\"font-size:12px; color:#000000\">Bedrijfsnaam:</td><td style=\"font-size:12px; color:#000000\">".$bedrijfsnaam."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Contactpersoon:</td><td style=\"font-size:12px; color:#000000\">".$contactpersoon."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Telefoonnummer:</td><td style=\"font-size:12px; color:#000000\">".$telefoon."</td></tr><tr><td style=\"font-size:12px; color:#000000\">E-mail:</td><td style=\"font-size:12px; color:#000000\">".$email."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Antwoord vraag 1:</td><td style=\"font-size:12px; color:#000000\">".$vraag1_antwoorden."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Antwoord vraag 2:</td><td style=\"font-size:12px; color:#000000\">".$vraag2_antwoorden."</td></tr></table><br>";
 

Obelix en Idefix op 16/08/2012 13:35:11:
Je echo: gebruik ' zodat je in HTML " kunt gebruiken. Daarnaast horen variabelen buiten quotes.

Dat geldt ook voor het toekennen van een waarde aan een variabele.
Overigens; inline css is eigenlijk niet meer van deze tijd.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$email_verzender
= ''.$email.'';
?>

Waarom die quotes voor en na de variabele?
Je kunt toch gewoon
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$email_verzender
= $email;
?>
doen?
Overigens: ook nu is het weer kopiëren van variabele en dus overbodig.
Gewijzigd op 16/08/2012 16:36:44 door Obelix Idefix
 
Kris Peeters

Kris Peeters

16/08/2012 16:45:19
Quote Anchor link
Obelix en Idefix op 16/08/2012 16:35:55:
... Overigens; inline css is eigenlijk niet meer van deze tijd. ...


Het lijkt me trouwens een contradictie te zijn. Die tweede s staat voor "sheet".
 
Sebas V

Sebas V

17/08/2012 10:33:02
Quote Anchor link
Erwin H op 16/08/2012 14:35:02:
Ik ga mee met wat Obelix zegt. Waarom zou je eerst alle info via een Ajax submit willen doen en dan ook nog een submit via een normale POST. Dat is dubbelop. Je moet dan twee keer verbinding maken met je server, terwijl het in 1 keer kan. Ik zie dus twee (logische) oplossingen:
1) form op normale manier submitten en serverside zowel het form behandelen als het resultaat opmaken
2) form submitten via Ajax en na een succes melding van de server via javascript je form hidden en een succes div tonen. Op die manier hoef je dus ook geen tweede submit te doen.


Hee Erik, ik zou het graag via manier 2 willen oplossen. Dus het form submitten zoals het nu gaat, anders ben ik bang dat ik teveel overhoop moet halen. De succes div en het verbergen van de form werkt. Echter ik zou graag in de succes div de ingevulde waarden uit het formulier en de score uitslag van de twee radio buttons willen zien.
Hoe doe ik dit?
 
Erwin H

Erwin H

17/08/2012 10:41:41
Quote Anchor link
Het is Erwin, maar dat terzijde ;-)

Het uitlezen van een input element kan je met JQuery eenvoudig doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
var tekst = $('input[name=vraag1_antwoorden]').val();

Vervolgens kan je deze inserten in je div via bijvoorbeeld een span die als placeholder erin zit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
//html
<div id="succes_div">U koos voor antwoord: <span><span></div

//jquery
$('div#succes_div span').html(tekst);
 
Sebas V

Sebas V

17/08/2012 10:53:56
Quote Anchor link
Mijn excuus Erwin :-)

Iedergeval, bedoel je zo?

RESULT.PHP
HEAD GEDEELTE
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<script>
var tekst = $('input[name=vraag1_antwoorden]').val();
</script>



RESULT.PHP
HET FORMULIER MET DE INGEVOERDE WAARDEN
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<form id="ContactForm" action="">
<tr>
<td><div id="succes_div">U koos voor antwoord:<span><span></div><script>$('div#succes_div span').html(tekst);</script></td>
</tr>

</form>
 
Erwin H

Erwin H

17/08/2012 11:04:20
Quote Anchor link
De javascript moet in het resultaat van je ajax call. Alleen als de data naar de server is gestuurd, het succesvol is gegaan en je de succesdiv wil tonen haal je de gegevens uit het form en plaats je het in de div.
 
Sebas V

Sebas V

17/08/2012 11:08:05
Quote Anchor link
Oke, dus het script komt zo te staan:

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
63
64
65
66
67
$(document).ready(function() {
    contact.initEventHandlers();
});
var contact = {
    initEventHandlers    : function() {
        /* clicking the submit form */
        $('#send').bind('click',function(event){
            $('#loader').show();
            setTimeout('contact.ContactFormSubmit()',500);
        });
        /* remove messages when user wants to correct (focus on the input) */
        $('.inplaceError,.foutmelding_antwoorden',$('#ContactForm')).bind('focus',function(){
            var $this         = $(this);
            var $error_elem = $this.next();
            if($error_elem.length)
                $error_elem.fadeOut(function(){$(this).empty()});
            $('#success_message').empty();    
        });
        /* user presses enter - submits form */
        $('#ContactForm input,#ContactForm textarea').keypress(function (e) {
            if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {  
                $("#send").click();
                return false;  
            }
            else  
                return true;  
        });
    },
    ContactFormSubmit    : function() {
        $.ajax({
               type        : 'POST',
               url        : 'php/contact.php?ts='+new Date().getTime(),
               dataType    : 'json',
               data        : $('#ContactForm').serialize(),
               success    : function(data,textStatus){
                              //hide the ajax loader
                              $('#loader').hide();
                              if(data.result == '1'){
                                  //show success message
                                $('#midden').remove();
                                window.location = "result.php"
                                var tekst = $('input[name=vraag1_antwoorden]').val();
                              }
                              else if(data.result == '-1'){
                                  for(var i=0; i < data.errors.length; ++i ){
                                      if(data.errors[i].value!='') {
                                        var elm = $("#"+data.errors[i].name);
                                        // we gaan kijken welk soort element elm is.
                                        // wanneer dat element een span is, moeten we geen nieuwe span meer aanmaken...
                                        switch (elm[0].tagName.toLowerCase()) {
                                          case 'span':
                                            elm.html(data.errors[i].value).fadeIn();
                                            break;
                                          default:
                                            elm.next().html('<span class="foutmelding_quiz">'+data.errors[i].value+'</span>').fadeIn();
                                            break;
                                        }
                                      }
                                      
                                          $("#"+data.errors[i].name).next().html('<span class="foutmelding_antwoorden">'+data.errors[i].value+'</span>').fadeIn();
                                  }
                              }                       
                          },
               error    : function(data,textStatus){}
        });
    }  
};


Vervolgens de HTML, moet ik daar nog iets met een INPUT TYPE toevoegen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<form id="ContactForm" action="">
<tr>
<td><div id="succes_div">U koos voor antwoord:<span><span></div><script>$('div#succes_div span').html(tekst);</script></td>
</tr>

</form>
 
Erwin H

Erwin H

17/08/2012 11:14:46
Quote Anchor link
Geen javascript in je HTML. Niet nodig en gaat waarschijnlijk nog verkeerd ook.

Als ik het goed begrijp is dit het deel van je script na een succesvolle server call:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
if(data.result == '1'){
   //show success message
   $('#midden').remove();
   window.location = "result.php"
   var tekst = $('input[name=vraag1_antwoorden]').val();
}

De eerste regel snap ik. De tweede al niet meer.... Daar redirect je de gebruiker namelijk mee naar een andere locatie. Dan heeft dat hele succes div gebeuren niet zoveel zin meer.
De derde regel klopt dan wel weer, alleen daarna zou de andere regel moeten komen, waarin je tekst in de span propt. Vervolgens nog de div tonen en het zou moeten kunnen lukken.
 
Sebas V

Sebas V

17/08/2012 11:25:02
Quote Anchor link
Oke, zo ziet mijn AJAX er nu uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
if(data.result == '1'){
//show success message
$('#midden').remove();
$('#succes_div span').html(tekst);                

}


Moet ondestaande regel dan in CONTACT.PHP ?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
var tekst = $('input[name=vraag1_antwoorden]').val();


CONTACT.PHP
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?php
require_once("db.php");                    /* Database Class */
require_once('utils/is_email.php');        /* Email Validation Script */

/* Handle Ajax Request */

if(isset($_POST['newcontact'])){
    $contact = new Contact();
    unset($contact);
}

else{
    header('Location: /');
}


/* Class Contact */
class Contact{
    
    private $db;                         /* the database obj */
    
    private $errors         = array();  /* holds error messages */
    private $num_errors;                   /* number of errors in submitted form */
    
    public function __construct(){
        $this->db = new DB();
        if(isset($_POST['newcontact']))
            $this->processNewMessage();
        else
            header("Location: /");
    }


    public function processNewMessage(){
        
        $contactpersoon        = $_POST['contactpersoon'];        
        $bedrijfsnaam        = $_POST['bedrijfsnaam'];
        $telefoon            = $_POST['telefoon'];
        $email                = $_POST['email'];
        $vraag1_antwoorden    = $_POST['vraag1_antwoorden'];
        $vraag2_antwoorden    = $_POST['vraag2_antwoorden'];
        
            
        /* Server Side Data Validation */
        
        /* Contactpersoon Validation */

        if(!$contactpersoon || mb_strlen($contactpersoon = trim($contactpersoon)) == 0)
            $this->setError('contactpersoon', 'Vul uw contactpersoon in');
        else if(mb_strlen(trim($contactpersoon)) > 120)
            $this->setError('contactpersoon', 'Te lang! 120 karakters max.');
                
        /* Bedrijfsnaam Validation */
            if(!$bedrijfsnaam || mb_strlen($bedrijfsnaam = trim($bedrijfsnaam)) == 0)
            $this->setError('bedrijfsnaam', 'Vul uw bedrijfsnaam in');
        else if(mb_strlen(trim($bedrijfsnaam)) > 120)
            $this->setError('bedrijfsnaam', 'Te lang! 120 karakters max.');
            
            /* Telefoon Validation */
            if(!$telefoon || mb_strlen($telefoon = trim($telefoon)) == 0)
            $this->setError('telefoon', 'Vul uw telefoonnummer in');
        else if(mb_strlen(trim($telefoon)) > 120)
            $this->setError('telefoon', 'Te lang! 120 karakters max.');
            
            /* Vraag 1 Validation */
            if(!$vraag1_antwoorden || mb_strlen($vraag1_antwoorden = trim($vraag1_antwoorden)) == 0)
            $this->setError('vraag1_antwoorden', 'Selecteer een antwoord a.u.b.');
                
            /* Vraag 2 Validation */
            if(!$vraag2_antwoorden || mb_strlen($vraag2_antwoorden = trim($vraag2_antwoorden)) == 0)
            $this->setError('vraag2_antwoorden', 'Selecteer een antwoord a.u.b.');
                
            /* Email Validation */
        if(!$email || mb_strlen($email = trim($email)) == 0)
            $this->setError('email','Vul uw e-mail in');
        else{
            if(!is_email($email))
                $this->setError('email', 'Vul een correct email adres in');
            else if(mb_strlen($email) > 120)
                $this->setError('email', 'Te lang! 120 karakters max.');
        }

    
        /* Errors exist */
        if($this->countErrors() > 0){
            $json = array(
                'result' => -1,
                'errors' => array(
                                array('name' => 'contactpersoon'    ,'value' => $this->error_value('contactpersoon')),
                                array('name' => 'bedrijfsnaam'    ,'value' => $this->error_value('bedrijfsnaam')),
                                array('name' => 'email'        ,'value' => $this->error_value('email')),                                
                                array('name' => 'telefoon'    ,'value' => $this->error_value('telefoon')),
                                array('name' => 'vraag1_antwoorden'    ,'value' => $this->error_value('vraag1_antwoorden')),
                                array('name' => 'vraag2_antwoorden'    ,'value' => $this->error_value('vraag2_antwoorden')),
                            )
                );
                
            $encoded = json_encode($json);
            echo $encoded;
            unset($encoded);
        }

        /* No errors, insert in db*/
        else{
            if(($ret = $this->db->dbNewMessage($contactpersoon, $bedrijfsnaam, $email, $telefoon, $vraag1_antwoorden, $vraag2_antwoorden)) > 0){
                $json = array('result'         => 1);
                if(SEND_EMAIL)
                    $this->sendEmail($contactpersoon,$bedrijfsnaam,$email,$telefoon,$vraag1_antwoorden,$vraag2_antwoorden);
            }
    
            else
                $json = array('result'         => -2); /* something went wrong in database insertion  */
            $encoded = json_encode($json);
            echo $encoded;
            unset($encoded);
        }
    }

    
    public function sendEmail($contactpersoon,$bedrijfsnaam,$email,$telefoon,$vraag1_antwoorden,$vraag2_antwoorden){
        /* Just format the email text the way you want ... */
        $message_body    = "<div style=\"font-size:12px; font-weight:normal;\">Hallo,<br><br>"
                                    ."Het volgende bedrijf heeft zich zojuist aangemeld:</div><br>"
                                    ."<table cellpadding=\"1\" cellspacing=\"1\" width=\"550px\"><tr><td style=\"font-size:12px; color:#000000\">Bedrijfsnaam:</td><td style=\"font-size:12px; color:#000000\">".$bedrijfsnaam."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Contactpersoon:</td><td style=\"font-size:12px; color:#000000\">".$contactpersoon."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Telefoonnummer:</td><td style=\"font-size:12px; color:#000000\">".$telefoon."</td></tr><tr><td style=\"font-size:12px; color:#000000\">E-mail:</td><td style=\"font-size:12px; color:#000000\">".$email."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Antwoord vraag 1:</td><td style=\"font-size:12px; color:#000000\">".$vraag1_antwoorden."</td></tr><tr><td style=\"font-size:12px; color:#000000\">Antwoord vraag 2:</td><td style=\"font-size:12px; color:#000000\">".$vraag2_antwoorden."</td></tr></table><br>";
        
            // Geef GELDIGE adressen op
            // Een korte benaming voor jouw website

            $website_naam = 'Aanmelding';
            // Jouw eigen geldige emailadres
            $eigen_emailadres = 'EMAIL ADRES';
            // Een geldig emailadres voor errors
            $error_emailadres = 'EMAIL ADRES';
            // De naam van de verzender
            $naam_verzender = ''.$bedrijfsnaam.'';
            // Het geldige emailadres van de afzender
            $email_verzender = ''.$email.'';
            // Een geldig emailadres of helemaal leeg laten
            $bcc_emailadres = '';
            // HTML mail? True/False
            $html = true;
            
            // De headers samenstellen
            $headers     = 'From: ' . $website_naam . ' <' . $eigen_emailadres . '>' . PHP_EOL;
            $headers    .= 'Reply-To: ' . $naam_verzender . ' <' . $email_verzender . '>' . PHP_EOL;
            $headers    .= 'Return-Path: Mail-Error <' . $error_emailadres . '>' . PHP_EOL;
            $headers    .= ($bcc_emailadres != '') ? 'Bcc: ' . $bcc_emailadres . PHP_EOL : '';
            $headers    .= 'X-Mailer: PHP/' . phpversion() . PHP_EOL;
            $headers    .= 'X-Priority: Normal' . PHP_EOL;
            $headers    .= ($html) ? 'MIME-Version: 1.0' . PHP_EOL : '';
            $headers    .= ($html) ? 'Content-type: text/html; charset=iso-8859-1' . PHP_EOL : '';

        
            mail(EMAIL_TO,MESSAGE_SUBJECT,$message_body,$headers);

    }

    
    public function setError($field, $errmsg){
        $this->errors[$field]     = $errmsg;
        $this->num_errors         = count($this->errors);
    }

    
    public function error_value($field){
        if(array_key_exists($field,$this->errors))
            return $this->errors[$field];
        else
            return '';
    }

    
    public function countErrors(){
        return $this->num_errors;
    }
};


?>
 
Erwin H

Erwin H

17/08/2012 11:37:46
Quote Anchor link
Ja, die regel moet natuurlijk nog in dat stuk, anders heeft tekst geen waarde:
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
if(data.result == '1'){
   //show success message
   $('#midden').remove();
   var tekst = $('input[name=vraag1_antwoorden]').val();
   $('#succes_div span').html(tekst);

   //ook nog nodig om het echt te tonen?
   $('#succes_div').show()
}

//of korter, maar niet per se duidelijker:
if(data.result == '1'){
   //show success message
   $('#midden').remove();
   $('#succes_div span').html($('input[name=vraag1_antwoorden]').val());
   $('#succes_div').show()
}
 
Sebas V

Sebas V

17/08/2012 12:24:45
Quote Anchor link
Hee Erwin,

de eerste stap is overwonnen, ik zie data verschijnen.
Alleen het probleem is dat hij de hele tijd antwoord: A laat zien ipv andere antwoord mogelijkheden.

Dit is de eerste vraag:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<div class="sizer">
<label class="label_radio" for="vraag1_A"><input name="vraag1_antwoorden" id="vraag1_A" value="A" type="radio" />A) Geen eis</label>
<label class="label_radio" for="vraag1_B"><input name="vraag1_antwoorden" id="vraag1_B" value="B" type="radio" />B) 0,1 Ohm</label>
<label class="label_radio" for="vraag1_C"><input name="vraag1_antwoorden" id="vraag1_C" value="C" type="radio" />C) 1 Ohm</label>
<label class="label_radio" for="vraag1_D"><input name="vraag1_antwoorden" id="vraag1_D" value="D" type="radio" />D) 10 Ohm</label>
</div>
<span id="vraag1_antwoorden" class="foutmelding_quiz" style="display:none;"></span>


AJAX code huidige situatie:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
if(data.result == '1'){
//show success message
                                   $('#midden').remove();
var tekst = $('input[name=vraag1_antwoorden]').val();
$('#succes_div span').html(tekst);
                                
//ook nog nodig om het echt te tonen?
                                   $('#succes_div').show()
}
Gewijzigd op 17/08/2012 12:26:17 door Sebas V
 
Chris PHP

Chris PHP

17/08/2012 12:48:22
Quote Anchor link
Is het niet makkelijker dat je vraag en antwoord in een database zet? En dan met een while loop de antwoorden ophaald die aan de vraag_id gekoppeld zijn?

Zo kun je ook makkelijker de resulaten opslaan en opvragen van de deelnemers.
Gewijzigd op 17/08/2012 12:50:25 door Chris PHP
 
Sebas V

Sebas V

17/08/2012 13:22:13
Quote Anchor link
Hee Chris,

Ik ben daar niet zo bekend mee en ik zou het graag in deze situatie willen oplossen. Zie jij een oplossing op bovenstaande post waarin alleen antwoord: A uitgelezen wordt?
 
Erwin H

Erwin H

17/08/2012 13:32:50
Quote Anchor link
Ik denk dat ik iets was vergeten toe te voegen :-)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$('input[name=vraag1_antwoorden]:checked').val()

Zo haal je de checked radio op binnen de groep met radio buttons die dezelfde naam hebben.
...als ik het goed heb, want met deze dingen loop ik altijd te klooien :-)
Probeer het eens.
Gewijzigd op 17/08/2012 13:33:11 door Erwin H
 
Sebas V

Sebas V

17/08/2012 14:07:27
Quote Anchor link
Haha, we lopen allemaal te klooien hiero :P

Anyway, dit werkt ja, top! Alleen mijn vraag is nu of je daar kan aangeven wat je score is zeg maar op basis van een berekening.

Dus bijvoorbeeld:

U koos voor vraag 1 antwoord: C
U koos voor vraag 2 antwoord: B

(Hier komt dan de score berekening)
Alle antwoorden fout = U heeft score ROOD
1 antwoord goed = U heeft score GEEL
2 antwoorden goed = U heeft score GROEN

Waar zou dat vermeld moeten worden?

Antwoorden HTML
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<div id="succes_A_div">U koos voor antwoord: <span><span></div><br />
<div id="succes_B_div">U koos voor antwoord: <span><span></div>


JAVASCRIPT
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
if(data.result == '1'){
//show success message
                                   $('#midden').remove();
var tekst = $('input[name=vraag1_antwoorden]:checked').val();
$('#succes_A_div span').html(tekst);
                                  
var tekst = $('input[name=vraag2_antwoorden]:checked').val();
$('#succes_B_div span').html(tekst);
                                
//ook nog nodig om het echt te tonen?
                                   $('#succes_A_div').show()                            $('#succes_B_div').show()
                                  
}
Gewijzigd op 17/08/2012 14:09:20 door Sebas V
 

Pagina: 1 2 volgende »



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.