Archief - code achter invulformuliertje

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Morre1977

Legacy Member
Hallo,

ik heb een invulformulier gemaakt waar ik een code achter wil steken.

ik heb dus een invulvakje waar ik een getal moet ingeven. ligt dit getal tussen de 1 en de 100 dan moet er een keuze bijkomen waar ik bvb 2 of 3 moet aanduiden.

ligt dit getal tussen de 101 en de 200 krijg ik de keuze 4 of 5 etc.

afhankelijk van wat ik hier aanduid wordt in een derde vakje de formule gemaakt, invulvak 1 * getal dat gekozen is.

Is dit mogelijk en hoe begin ik hieraan ?

Raanº³

Legacy Member
ik zou met een switch() werken dan?
de waarde van de $_POST opvragen in een variabel enzo en daar dan een switch mee uitvoeren

PHP:
var $uitkomst;
var $x;

$x = addslashes(trim($_POST['x']));

Switch($x){
case >0:
case <101:
$var = 2;
echo('Keuze 2');
break;
case >100:
case <201:
$var = 4;
echo('Keuze 4');
break;
case default: 
$var = 0;
echo('Niet een getal boven de 0 en onder de 200');
break;
}
'formule
$uitkomst = vak (test deze op numerieke waarde eerst) * $var;
echo('De uitkomst van de formule is '.$uitkomst.'.');

Tyfius

Legacy Member
Dat hangt er een beetje van af. Indien je formulier over meerdere pagina's gaat werk je met een oplossing als die van Raan. Indien je formulier op 1 pagina zou moeten komen moet je je tot AJAX richten.

killgore

Legacy Member
Ik zou dit zeker meer automatisch doen dan met een switch. Switches zijn zeer irritant en voor bijna niets goed.

Een oplossing kan zijn je mogelijkheden in een dbstructuur (of vaste array te steken) en op basis van een for lusje de range te checken.

Een andere oplossing kan zeer simpel een wiskundige correlatie zijn, neem dat alles in grenzen van 100 ligt, dan deel je gewoon door 100 (integere deling, of dus afronding naar beneden). $array[0] is dan 0-99, $array[1] is 100-199, ... .

en zo zijn er nog wel wat zaken.

De meeste oplossingen zijn ook vrij methode-onafhankelijk en kan je inderdaad in zowel ajax als php doen. Vergeet niet steeds je resultaten dubbel te controleren in PHP, ajax kan je zien als een hulptool voor gebruikers, nooit als een beveiligingstool. Dus via AJAX kan je ervoor zorgen dat de gebruiker geen 20 pagina's moet laden, maar je controleert zeker nog eens alle gegevens ook in PHP, daar worden ze immers verwerkt, en een gebruiker kan AJAX bypassen.

Morre1977

Legacy Member
phoe dat gaat me wat te ver. Is er iemand die het misschien kan maken hier ? tegen betaling ? is eigenlijk nog simpeler dan ik het heb voorgesteld.

Ik heb dus al een formulier. daar staat dus een invulveldje waar ik een bedrag kan intypen. Afhankelijk van het bedrag dat er ingetypt wordt moet ik een keuze krijgen.

bedrag lager dan 5000 -> er verschijnt een keuze *24 *36 of *48
bedrag hoger dan 5000 -> er verschijnt een kezue *60 *80 *100

In een derde vakje wordt dan een bedrag gezet. dit bedrag is 17% van het bedrag van het eerste inputveldje als het bedrag lager is dan 5000. En dit bedrag is 14% van dat eerste veldje als het hoger is dan 5000

dus ik geef in het eerste veld bvb 7500 in. er verschijnt een kezue *60 *80 *100
en in het derde vakje komt 1050 ( 14% van 7500 )

Die procenten kunnen veranderen dus moeten makkelijk door mij aan te passen zijn.

Iemand interesse ?

Raanº³

Legacy Member
Hey

Ik wil me er wel eens mee bezig houden; enige nadeel is dat ik niet 'zoveel' tijd over heb en het dus niet op 1-2-3 zal kunnen. Een vergoeding moet ik niet hebben :)

Gogeta

Legacy Member
moet da op 1 pagina zijn? anders is da peanuts en spreide da over 2paginakes fzo :)

Raanº³

Legacy Member
Gogeta zei:
moet da op 1 pagina zijn? anders is da peanuts en spreide da over 2paginakes fzo :)

1 pagina is ook peanuts hoor? :) maar die ajax zever... kheb da nooit gebruikt, wil dat nooit gebruiken ook... Geef mij maar puur old-skool PHP

passero

Legacy Member
even een opmerking... maar sinds wanneer is ajax synoniem geworden voor javascript?
Als ik het goed begrijp is voor zijn probleem toch geen verkeer naar de server nodig.
De controle kan toch puur door javascript gebeuren om dan de andere velden te tonen. Tenzij natuurlijk de velden dynamisch uit een databank komen maar dit zie ik niet direct dus lijkt me javascript in orde...
Of ben ik ergens niet mee?

Bram

Legacy Member
passero zei:
even een opmerking... maar sinds wanneer is ajax synoniem geworden voor javascript?
Als ik het goed begrijp is voor zijn probleem toch geen verkeer naar de server nodig.
De controle kan toch puur door javascript gebeuren om dan de andere velden te tonen. Tenzij natuurlijk de velden dynamisch uit een databank komen maar dit zie ik niet direct dus lijkt me javascript in orde...
Of ben ik ergens niet mee?

²

ge zult idd mss wa ajax nodig hebben om de keuzes van de opvolgende veldjes te veranderen als den boel op een pagina moet blijven, maar AJAX lijkt me idd wat teveel van het goede... Tenzij da het natuurlijk een widget ergens op een site is en de pagina dus niet mag verversen...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan