stempagina aanpassen

Overzicht

Sponsored by: Vacatures door Monsterboard

Fullstack Webdeveloper .NET Azure Big Data SaaS

Bedrijfsomschrijving Deze klant van ons is recentelijk onderdeel geworden van een grote moederorganisatie, ze zijn dé partij als het gaat om software maken voor ambitieuze ondernemers, ze maken maatwerk software. Vanuit het fantastisch vormgegeven hightech gebouw te Rotterdam centrum werken ze met zo'n 40 medewerkers aan hoogwaardige software gericht op financiële data, betaalinformatie, maar ook backoffice software. De software wordt webbased, desktop en mobile aangeboden en er worden zeer moderne ontwikkeltechnieken toegepast. Je moet dan denken aan patroonherkenning, Big Data, Machine Learning en OCR. Als Developer, ongeacht je niveau, ga je hier te maken krijgen met de allerleukste kant van

Bekijk vacature »

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

Junior Front end developer

Functie Als Front end developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

Outsystems Developer Junior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als junior Outsystems Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van

Bekijk vacature »

Functioneel applicatiebeheerder - SOP-SYS-SAM

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Functioneel Applicatiebeheerder op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op de functionele aspecten, zodat

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Traineeship Java Developer

Functie Wat ga je doen als Java Developer? Jij start via ons bij deze opdrachtgever als Trainee Java ontwikkelaar, tijdens het traineeship ga je in 1 jaar van de basis naar professioneel Java ontwikkelaar. Je start samen met een groep trainees, volgt de aangeboden cursussen en gaat aan de slag bij één van onze opdrachtgevers. Na een aantal maanden volgt de volgende opdracht. Door de groei in jouw rol kom je op steeds complexere opdrachten terecht. Veel afwisseling dus. Collega’s met ervaring helpen je bij deze groei en samen met jouw coach ga je een persoonlijke leerplan opzetten om jou

Bekijk vacature »

Front-end developer (Vue.js) gezocht!

Functie Als Front-end developer is het jouw doel om efficiënte en effectieve frontend code te ontwerpen, ontwikkelen en onderhouden die goed aansluit bij de functionele behoefte vanuit de klant. Je zorgt voor optimale SEO-resultaten, sitespeed en frontend security. You build it, you run it, you own it! Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

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 »

Als PHP developer (Symfony) bijdragen aan betere z

Functie Als Medior/Senior PHP developer wordt er een mate van zelfstandigheid verwacht, maar ook dat je goed in een team kunt opereren waar kennis wordt gedeeld en er bijvoorbeeld codereviews plaatsvinden. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden geactualiseerd.

Bekijk vacature »

Senior Java developer

Dit ga je doen Jouw taken als Senior Java Developer zijn: Het maken van strategische keuzes omtrent de nieuwbouw van applicaties; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java FX, JDBC, SQL, REST, Jax-RS, JSON, Maven, JUnit en Spring (boot)); Reviewen van code en feedback geven op collega developers; Analyseren en oplossen van bugs/incidenten door het onderlinge verband te kunnen leggen van verschillende losstaande systemen. Hier ga je werken Het bedrijf waar je als Senior Java Developer komt te werken staat internationaal bekend om het testen van bodemstructuren door middel van echotechnieken en beeldherkenning.

Bekijk vacature »

Belastingdienst - Freelance Senior Applicatie ontw

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: We verwachten van je, dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Ervaring hebt met Agile/Scrum-werken en je thuis voelt in een Agile omgeving; Een aandeel levert aan het scrumproces en in de SAFe-releasetrain; Zelfstandig werkt in een scrumteam en intensief de samenwerking op zoekt met je directe collega’s en je omgeving; Ervaring meebrengt met het schattten en inplannen van taken tot en met het testen en demonstreren van de opgeleverde functionaliteit; Collega’s in je

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Database developer - SQL

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je sluit aan bij meetings en brengt het gehele logistieke proces in kaart. Vervolgens ga je als lead developer aan de slag om de klus te klaren. Je stuurt het junior developer team en helpt, zo nodig,

Bekijk vacature »

Pagina: « vorige 1 2 3 4 5 6 volgende »

- Ariën  -
Beheerder

- Ariën -

09/11/2018 18:21:19
Anchor link
Oude mysql_***() functies?
En één query die je uitvoert en de ander overschrijft? Je maakt nu twee opdrachten als string aan, en voert enkel de laatste uit.
Gewijzigd op 09/11/2018 18:22:48 door - Ariën -
 
PHP hulp

PHP hulp

29/04/2024 13:35:08
 
Hans Zijlstra

Hans Zijlstra

09/11/2018 18:38:04
Anchor link
Arien,

ik heb mijn query even greyed out en nu werkt het feilloos. de Last_login = now() werkt en wordt steeds geupdated.

ik heb gezocht en nu werkt het wel.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query = " UPDATE ".$SETTINGS["USERS"]." SET last_login = NOW(), pogingen = pogingen+1 WHERE id=".$user['id'];


https://www.w3resource.com/mysql/update-table/update-table.php
Gewijzigd op 09/11/2018 18:38:25 door Hans Zijlstra
 
- Ariën  -
Beheerder

- Ariën -

09/11/2018 18:41:42
Anchor link
Ja, je kan het ook in een query combineren, zoal je nu doet. Veel makkelijker.

Eerst maakte je twee opdrachten aan waarvan je enkel de laatste uitvoerde.

Maar let erop dat mysql_*** functies verouderd zijn en niet meer in PHP 7 werken. Gebruik liever de mysqli-functies.
Gewijzigd op 09/11/2018 18:42:11 door - Ariën -
 
Hans Zijlstra

Hans Zijlstra

09/11/2018 18:46:31
Anchor link
aah dat was de fout, hij voert de laatste uit.

Ik heb hier veelvuldig gelezen dat msql verouderd is, maar de stempagina moet donderdag werken :-)

aangezien ik beginner ben moet het eerst maar even zo, de andere optie is mij ook nog te hoog gegrepen.

ik heb nu de inlog geregeld (zij het in msql en het kan zeker nog verbeterd worden qua beveiliging) en ga na inlog verwijzen naar stempagina waarbij ik ook een kolom en deze update van 0 naar 1 zodat de gebruiker maar een keer kan stemmen.
 
- Ariën  -
Beheerder

- Ariën -

09/11/2018 18:50:15
Anchor link
De overstap van mysql functies naar mysqli is niet heel groot.
 
Hans Zijlstra

Hans Zijlstra

12/11/2018 11:27:26
Anchor link
ik heb dankzij jullie hulp het aantal inlogpogingen in de msql tabel. Ook heb ik een pagina aangemaakt met twee kandidaten en een submit button.

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
  <?php
@session_start();

error_reporting(0);
include("config.php");


    ?>


    <html>
    <head>
      <title>MR stempagina</title>
    </head>
    <body>

      <?php echo $_SESSION['user_info']['name']  ?>, u kunt hier stemmen.
      <form action="stemmen.php" method="POST">
        <p>Welke ouder wilt u als vertegenwoordiger van de ouders van de HBK afdeling in de medezeggenschapsraad?</p>
        <input type="radio" name="kandidaat" value="piet"> piet<br>
        <input type="radio" name="kandidaat" value="hein"> hein<br>
        <p><input type="submit" name="stem" value="stem"></p>

     <?php
      if(isset($_POST['kandidaat'])){
        $kandidaat = $_POST['kandidaat'];
        header("Location: vote.php");
      }

      else{
        $kandidaat = NULL;
        echo "kies uw kandidaat";
      }

      ?>


          <?php
  $error
= '';
  if(isset($_POST['stem'])){
    $sql = "SELECT * FROM ".$SETTINGS["kandidaat"]."";
    $sql_result = mysql_query ($sql, $connection ) or die ('request "Could not execute SQL query" '.$sql);
    $kandidaat = mysql_fetch_assoc($sql_result);
    if(!empty($kandidaat)){
      $_SESSION['user_info'] = $user;
      $query = " UPDATE ".$SETTINGS["kandidaat"]." SET aantal = aantal+1 WHERE id=".$kandidaat['id'];
      //$query = " UPDATE ".$SETTINGS["USERS"]." SET pogingen = pogingen+1 WHERE id=".$user['id'];
      mysql_query ($query, $connection ) or die ('request "Could not execute SQL query" '.$query);
      
    }

    else{
      $error = 'u heeft niet gestemd';
    }
  }

 
?>


          </form>
    </body>
    </html>


als ik stem wordt het aantal van de eerste kandidaat in de tabel kandidaten geüpdatet ondanks dat er op de andere kandidaat is gestemd. Waar gaat dit fout?

is het mogelijk om twee een kolommen in twee tabellen te updaten zodra er is gestemd.

ik wil graag een stem bij de geselecteerde kandidaat en bij de user een 1 in het vakje gestemd. Dan wilde ik bij de stemknop de controle doen of bij die user een 1 staan en dan de melding geven dat hij heeft gestemd. Echter de user info wordt niet onthouden?

graag uw helpende hand.

Toevoeging op 12/11/2018 12:24:43:

hallo inmiddels heb ik de user info op de nieuwe pagina opgelost.
 
- Ariën  -
Beheerder

- Ariën -

12/11/2018 13:20:22
Anchor link
Ik weet niet of je zelf de server beheert waar je site op staat.
Maar zodra deze mogelijk door je webhosting-beheerder van PHP 7 wordt voorzien zal je script niet meer werken, omdat je oude mysql_xxx()-functies gebruikt. Ik raad aan om dit zo snel mogelijk aan te passen.

Verder hoort er na een location-header een exit(); te staan. Je script wil je dan natuurlijk ook graag laten stoppen.
Gewijzigd op 12/11/2018 14:21:10 door - Ariën -
 
Hans Zijlstra

Hans Zijlstra

12/11/2018 13:26:07
Anchor link
op dit moment werkt het nog. Ik ga het bijwerken nadat ik het werkend heb gekregen :-)

de exit(); heb ik toegevoegd. Dank daarvoor.
 
Ozzie PHP

Ozzie PHP

12/11/2018 13:38:42
Anchor link
- Ariën - op 12/11/2018 13:20:22:
...
Maar zodra deze mogelijk door je webhosting-beheerder van PHP 7 wordt voorzien zal je script niet meer werken, omdat je oude mysqli-functies mysql-functies gebruikt. Ik raad aan om dit zo snel mogelijk aan te passen.

...
 
Hans Zijlstra

Hans Zijlstra

12/11/2018 14:02:57
Anchor link
Thanks ozzie. Het was mij duidelijk hoor. Arien had het al eerder gezegd????
Nog een idee waarom het niet werkt?
 
- Ariën  -
Beheerder

- Ariën -

12/11/2018 14:23:00
Anchor link
Potjandorie, ik ben MySQLi zo gewend dat ik bijna geen mysql meer kan typen... :+)
Mijn excuses voor de verwarring, omdat mijn interne spellingscontrole onbedoeld ingreep ;-)

Wat gaat er nu eigenlijk precies nog fout? Je had al het een en ander opgelost, zag ik?
Gewijzigd op 12/11/2018 14:24:49 door - Ariën -
 
Hans Zijlstra

Hans Zijlstra

12/11/2018 14:56:07
Anchor link
ik heb een tweede tabel gemaakt met daarin de kandidaten en een kolom aantal. als je de kandidaat hebt gekozen en op stemt drukt wordt er steeds een getal bij het aantal van de 1e kandidaat opgeteld ook al stem je op de tweede kandidaat.

verder heb ik bij de users een kolom gestemd aangemaakt die van 0 naar 1 moet gaan zodra er op de stem knop wordt gedrukt. Hiermee kan ik dan ook controleren of de user al gestemd heeft
 
Thomas van den Heuvel

Thomas van den Heuvel

12/11/2018 15:43:16
Anchor link
Als dit een eenmalige stemming is dan zou ik gezien het voorgaande gaan voor een bestaand online pollsite waar mensen hun stem kunnen uitbrengen, naar alle waarschijnlijkheid zijn er genoeg gratis sites.

Als dit geen eenmalige stemming is dan zou ik het systeem zo opzetten dat je ook makkelijk meerdere stemmingen kunt houden.

Zoals eerder aangegeven is een loginsysteem overbodig. Je kunt mensen rechtstreeks toegang geven met een token wat eenmalig te gebruiken is. Dit is laagdrempeliger voor de eindgebruiker en minder complex voor de ontwikkelaar.

Het nadeel van systemen die door, excusez le mot, hobbyisten in elkaar worden gezet is dat deze mogelijk bepaalde nuances missen. Ik neem aan dat de correcte werking van zo'n stemsysteem buiten kijf moet staan, ik zou dan op zijn minst database-transacties verwachten als je een trits queries uitvoert, die garandeert dat een stemactie één ondeelbaar geheel vormt.

Enfin, dit is een herhaling van zetten.
 
Hans Zijlstra

Hans Zijlstra

12/11/2018 15:55:42
Anchor link
Thomas,

ik had al aangegeven dat jouw voorstel voor mij nog boven de pet ging. Verder heb ik nu meerdere gratis pollssites geprobeerd die niet voor deze stemming werken omdat mensen dan maar een keer kunnen stemmen waar beide ouders dit moeten kunnen. Bij mij eerste versie was dat ook al een issue en bij de gratis en betaalde onlines ook.

dat is de reden dat is voor een hele basic versie ga waar alle ouders random een username en pass krijgen waarmee ze in moeten loggen zodat de anonimiteit is gewaarborgd. De database bevat deze inlogs zodat anderen niet kunnen stemmen. vervolgens moeten ze stemmen. Ik kan aantal inlogs zien en als ze stemmen volgt er een 1 in de database zodat ze daarna niet meer kunnen stemmen (deze code moet ik nog voor elkaar krijgen.) verder krijgt de gekozen kandidaat ook een teller die oploopt. Ook dit werkt nog niet.

Dus ik begrijp jouw "herhaling van zetten" maar deze hobbyist denkt dat als dit werkbaar is het goed is voor het doel. (daarna php7 en beveiliging)

ik dank je evenwel voor jouw feedback maar ben benieuwd of je mij ook de juiste weg in kunt duwen om wat ik nu heb werkend te krijgen ;-)
 
Thomas van den Heuvel

Thomas van den Heuvel

13/11/2018 13:40:27
Anchor link
Ik denk dat je het jezelf nogal moeilijk maakt doordat je extra complexiteit toevoegt met een loginsysteem. Daarnaast is een pollsysteem gevoelig voor fraude als je geen gebruik maakt van database-transacties, en hiervoor heb je een relationele database nodig, en hiervoor dien je de tabellen aan te maken met de juiste database engine.

Laat ik wat codesnippets erbij pakken.

Allereerst dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
  <?php
@session_start();
?>

Op regel 1 ga je al de mist in door "output" te produceren - die twee spaties voor het <?php blok. Vervolgens onderdruk je op regel 2 eventuele foutmeldingen die bij het starten/voortzetten van een sessie ontstaan. Mogelijk hebben deze twee regels tot gevolg dat de sessie niet succesvol gestart is, dus eigenlijk begin je hier al op de verkeerde voet.

Dan op regel 37 en 42 voer je de volgende twee queries uit:
SELECT * FROM ".$SETTINGS["kandidaat"]
UPDATE ".$SETTINGS["kandidaat"]." SET aantal = aantal+1 WHERE id=".$kandidaat['id']

En dit illustreert het belang van database-transacties.
Op het moment van het opvragen van informatie uit de tabel $SETTINGS['kandidaat'] - ontbreekt hier trouwens niet een argument in de trant van WHERE id = <huidige gebruiker> ofzo? Ik neem aan dat die tabel meerdere records bevat? - op dat moment zouden eigenlijk de gegevens van die tabel vergrendeld moeten worden totdat de mutatie (de UPDATE) afgerond is. Want wat nu als ik dit drie keer snel achter elkaar, en parallel, aanroep? Dan is de volgorde worst case zoiets:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
SELECT * FROM <tabel>
SELECT * FROM <tabel>
SELECT * FROM <tabel>
UPDATE <tabel> SET ... WHERE id = <id>
UPDATE <tabel> SET ... WHERE id = <id>
UPDATE <tabel> SET ... WHERE id = <id>

En halverwege worden daar controles uitgevoerd of de UPDATE mag plaatsvinden, maar op dat moment was alle informatie al binnengehaald nog voordat een andere proces een UPDATE heeft uitgevoerd!
Eigenlijk zouden regel 2 en regel 3 moeten wachten totdat de UPDATE die in wezen geïnitieerd werd in regel 1 klaar is met zijn bijbehorende UPDATE op regel 4 waarna de controles van de tweede en derde SELECT waarschijnlijk falen omdat dan (na afronding van de eerste UPDATE) niet meer voldaan kan worden aan de controles voor de UPDATEs.

Je opzet is ook zodanig dat je niet na kunt gaan wie er dubbel stemt? En als dat hetgene is wat je hierboven hardnekkig probeert te tellen, ook dat is helemaal niet nodig met de juiste voorzieningen.

Een mechanisme die dit waarborgt zijn transacties.

Zoals ik het zie wordt dit pollsysteem in zijn simpelste vorm zoiets (tabeldefinitie):
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
poll_polls
----------
id
active
name
description


poll_options
------------
id
poll_id
description
order


poll_votes
----------
poll_id
poll_option_id


poll_participants
-----------------
id
email
token
voted


poll_polls - kapstoktabel voor stemrondes
id - een auto_increment id voor unieke identificatie van stemmen
active - geeft aan of de poll "aan" of "uit" staat
name - titel van de poll
description - omschrijving van de poll, hier zou je ook informatie in kunnen zetten als openings- en sluitingsdatum van de poll, waar je later bijvoorbeeld aparte kolommen voor kunt maken

poll_options - bevat de verschillende stemopties voor de polls
id - auto_increment id voor unieke identificatie van de stemoptie
poll_id - de poll waar deze optie bijhoort
description - omschrijving van de optie, bijvoorbeeld de naam van een verkiesbare kandidaat
order - kolom waarmee je de opties een alternatieve sorteervolgorde kunt geven

poll_votes - houdt de stemmen per poll(optie) bij
poll_id - de poll waarop gestemd wordt
poll_option_id - de poll optie waarop gestemd wordt
Aan deze tabel kun je nog veel meer informatie hangen, zoals de datum van stemming en wellicht ook een "witness", dus de persoon die stemde op deze optie; het is dan de verantwoordelijkheid van de beheerder van deze data om deze informatie te strippen op het moment dat deze hierover een rapportage uitbrengt

poll_participants - tabel die minimale informatie bevat van personen die zijn uitgenodigd voor deelname
id - auto_increment id
poll_id - poll waarop je mag stemmen
email - contact e-mail adres
token - activatiecode voor deelname aan stemming
voted - boolean die aangeeft of er gestemd is

Dit is een minimale opzet die alle informatie bevat die je initieel nodig hebt om een eenvoudig pollsysteem te bouwen. Je zult dan dus nog wel op een of andere manier activatiecodes moeten genereren en mailen naar een lijst van gebruikers, maar ook dat is redelijk eenvoudig te bouwen.

Het blijft echter wel zaak dat wat voor aanpak je ook kiest dat er haast een "zero margin for errors" is. Dit is immers een administratief systeem, en het is zaak dat je administratie te allen tijde klopt. Ik denk niet dat dat gaat lukken zonder een opzet met een relationele database of zonder gebruikmaking van eerdergenoemde transacties.
Gewijzigd op 14/11/2018 14:08:03 door Thomas van den Heuvel
 
Hans Zijlstra

Hans Zijlstra

13/11/2018 15:28:21
Anchor link
hoi thomas,

bedankt voor deze uitleg weer.

de inlogpagina werkt dus dat is niet het probleem.

vanuit deze pagina gaat de user naar de stempagina met session user.
deze bevat 2 radiobuttons en submit. hier moet er een gekozen worden. dat werkt ook.
na submit moet de $-POST kandidaat in de tabel kandidaten in de kolom aantal met een vermeerderd worden. de tabel bestaat uit

id
kandidaat
aantal

daarnaast moet er na submit door de bekende user het vakje gestemd in de tabel users
id
email
pass
name
lastlogin
pogingen
gestemd

de kolom gestemd van 0 naar 1
en bij de submit knop op de stempagina een check. indien gestemd op 1 echo u heeft al gestemd
 
Thomas van den Heuvel

Thomas van den Heuvel

13/11/2018 16:04:37
Anchor link
En waar loop je vast?
 
Hans Zijlstra

Hans Zijlstra

13/11/2018 16:24:06
Anchor link
na submit moet de $-POST kandidaat in de tabel kandidaten in de kolom aantal met een vermeerderd worden. op dit moment wordt alleen het nummer van kandidaat 1 vermeerderd met 1.

de user tabel gestemd wordt niet met 1 vermeerderd.
 
Thomas van den Heuvel

Thomas van den Heuvel

13/11/2018 16:56:05
Anchor link
Gebruik je in het stemformulier het id van de kandidaat? Dat lijkt mij het makkelijkste.

Dus zoiets:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
UPDATE kandidaten
SET aantal = aantal + 1
WHERE id = <id kandidaat uit formulier in $_POST>


En dan dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
UPDATE users
SET gestemd = 1
WHERE id = <id gebruiker uit $_SESSION>
 
Hans Zijlstra

Hans Zijlstra

13/11/2018 17:21:31
Anchor link
Thomas, dat is wel zoals het bij de aantal logins werkte.

Is jouw notatie ook zoals het zou moeten? WHERE id = <id gebruiker uit $_SESSION>

Toevoeging op 13/11/2018 17:38:35:

nu heb ik de code zo:
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
<?php
      if(isset($_POST['stem'])){
        $kandidaat = $_POST['kandidaat'];
        echo $_POST['kandidaat'];
        $query = " UPDATE ".$SETTINGS["kandidaat"]." SET aantal = aantal+1 WHERE id=".$_POST['id'];
        $query = " UPDATE ".$SETTINGS["USERS"]." SET gestemd = gestemd+1 WHERE id=".$_SESSION['id'];

        //header("Location: vote.php");
      }
      else{
        $kandidaat = NULL;
        echo "kies uw kandidaat";
      }

 ?>


zowel stem als aantal worden niet vermeerderd met 1
Gewijzigd op 13/11/2018 17:21:56 door Hans Zijlstra
 

Pagina: « vorige 1 2 3 4 5 6 volgende »

 

Dit topic is gesloten.



Overzicht

 
 

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.