Opslaan van een enquete
24 antwoorden
Gesponsorde links
Simon - 06/04/2006 14:41
PHP expert
je kan mss met sessies??
$_SESSION['vraag1'] = $_POST['antwoordopvraag1'];
cowb - 06/04/2006 14:45
Lid
Ja dat zou nog kunnen... dan moet ik zeker minsten 25 sessies aanmaken. Kan dit geen problemen geven?
marten - 06/04/2006 14:46
Beheerder
sessies kan je in een loop zetten ;)
en 25 sessies geven geen problemen
Simon - 06/04/2006 14:47
PHP expert
om het gemmakkelijk te maken kun je groepjes sessions gebruiken, omzeker niet te verwarren:
<?php
$_SESSION['vraag1'] = $_POST['antwoordopvraag1'];
$_SESSION['vraag2'] = $_POST['antwoordopvraag2'];
//enzovoort
//wordt dan
$_SESSION['enquete']['vraag1'] = $_POST['antwoordopvraag1'];
$_SESSION['enquete']['vraag2'] = $_POST['antwoordopvraag2'];
//mss iets duidelijker als je veel sessies hebt
?>
<?php
$_SESSION [ 'vraag1' ] = $_POST [ 'antwoordopvraag1' ] ;
$_SESSION [ 'vraag2' ] = $_POST [ 'antwoordopvraag2' ] ;
//enzovoort
//wordt dan
$_SESSION [ 'enquete' ] [ 'vraag1' ] = $_POST [ 'antwoordopvraag1' ] ;
$_SESSION [ 'enquete' ] [ 'vraag2' ] = $_POST [ 'antwoordopvraag2' ] ;
//mss iets duidelijker als je veel sessies hebt
?>
cowb - 06/04/2006 15:23
Lid
dan kan ik dit vb doen...
<?
$_SESSION['stap1']['vraag1'] = $_post['antwoordvraag1'];
$_SESSION['stap1']['vraag2'] = $_post['antwoordvraag2'];
//en voor stap 2
$_SESSION['stap2']['vraag1'] = $_post['antwoordvraag1'];
$_SESSION['stap2']['vraag2'] = $_post['antwoordvraag2'];
?>
<?
$_SESSION [ 'stap1' ] [ 'vraag1' ] = $_post [ 'antwoordvraag1' ] ;
$_SESSION [ 'stap1' ] [ 'vraag2' ] = $_post [ 'antwoordvraag2' ] ;
//en voor stap 2
$_SESSION [ 'stap2' ] [ 'vraag1' ] = $_post [ 'antwoordvraag1' ] ;
$_SESSION [ 'stap2' ] [ 'vraag2' ] = $_post [ 'antwoordvraag2' ] ;
?>
cowb - 06/04/2006 17:15
Lid
Ik heb nog een vraagje...
Ik heb in men formulier een lijstje en van bv. 6 onderwerpen... en daarin moet iemand er max 3 aanduiden... Maar hoe controleer ik op het moemten dat die persoon aanvinkt of hij er al 3 geeft gehad of niet...
timo - 06/04/2006 17:30
PHP ver gevorderde
denk dat je het het best kan doen mss wel met AJAX, onClick op een van die dingen naar een php pagina, die ++ een waarde, is die op 3, word het gedeselect en word er een alert gegeven..
cowb - 07/04/2006 15:50
Lid
Hoe simpel het ook mag zijn... mij lukt het niet :S
Thomas - 07/04/2006 16:24
Moderator
Sla de checkboxen op in array-vorm:
<input type="checkbox" name="optie[0]" value="antwoord_id" /><br />
<input type="checkbox" name="optie[1]" value="antwoord_id" /><br />
<input type="checkbox" name="optie[2]" value="antwoord_id" /><br />
<input type="checkbox" name="optie[3]" value="antwoord_id" /><br />
< input type= "checkbox" name= "optie[0]" value= "antwoord_id" />< br />
< input type= "checkbox" name= "optie[1]" value= "antwoord_id" />< br />
< input type= "checkbox" name= "optie[2]" value= "antwoord_id" />< br />
< input type= "checkbox" name= "optie[3]" value= "antwoord_id" />< br />
Per vraag weet je hoeveel antwoorden er zijn, dus je kunt hier met een for-lus doorheen (in JavaScript):
var aantal = 4; // het aantal checkboxen
var teller = 0; // aantal gecheckte elementen
for(var i=0; i < aantal; i++)
{
var elt = "optie["+i+"]"; // de elementnaam
if(document.forms['je_formulier_naam'].elements[elt].checked)
{
// checkbox geselecteerd
teller++;
}
}
window.alert("Er zijn "+teller+" elementen gechecked.");
var aantal = 4 ; // het aantal checkboxen
var teller = 0 ; // aantal gecheckte elementen
for ( var i= 0 ; i < aantal; i++ )
{
var elt = "optie[" + i+ "]" ; // de elementnaam
if ( document. forms[ 'je_formulier_naam' ] . elements[ elt] . checked)
{
// checkbox geselecteerd
teller++;
}
}
window. alert( "Er zijn " + teller+ " elementen gechecked." ) ;
cowb - 07/04/2006 17:20
Lid
Hmm dit ding doet het niet bij mij :S
Thomas - 07/04/2006 23:47
Moderator
Hm, moeten jullie je toch wat beter scholen in JavaScript - dit werkt prima:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>html template</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="JavaScript" type="text/javascript">
<!--
function check()
{
var aantal = 4; // het aantal checkboxen
var teller = 0; // aantal gecheckte elementen
for(var i=0; i < aantal; i++)
{
var elt = "optie["+i+"]"; // de elementnaam
if(document.forms['form_naam'].elements[elt].checked)
{
// checkbox geselecteerd
teller++;
}
}
window.alert("Er zijn "+teller+" elementen gechecked.");
}
//-->
</script>
</head>
<body>
<form name="form_naam" action="whatever.htm" method="post">
<input type="checkbox" name="optie[0]" value="antwoord_id" /><br />
<input type="checkbox" name="optie[1]" value="antwoord_id" /><br />
<input type="checkbox" name="optie[2]" value="antwoord_id" /><br />
<input type="checkbox" name="optie[3]" value="antwoord_id" /><br />
<button type="button" onclick="check()">check</button>
</form>
</body>
</html>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" >
< html>
< head>
< title> html template</ title>
< meta http- equiv= "Content-Type" content= "text/html; charset=iso-8859-1" />
<script language = "JavaScript" type= "text/javascript" >
<!--
function check( )
{
var aantal = 4 ; // het aantal checkboxen
var teller = 0 ; // aantal gecheckte elementen
for ( var i= 0 ; i < aantal; i++ )
{
var elt = "optie[" + i+ "]" ; // de elementnaam
if ( document. forms[ 'form_naam' ] . elements[ elt] . checked)
{
// checkbox geselecteerd
teller++;
}
}
window. alert( "Er zijn " + teller+ " elementen gechecked." ) ;
}
//-->
</script>
</ head>
< body>
< form name= "form_naam" action= "whatever.htm" method= "post" >
< input type= "checkbox" name= "optie[0]" value= "antwoord_id" />< br />
< input type= "checkbox" name= "optie[1]" value= "antwoord_id" />< br />
< input type= "checkbox" name= "optie[2]" value= "antwoord_id" />< br />
< input type= "checkbox" name= "optie[3]" value= "antwoord_id" />< br />
< button type= "button" onclick= "check()" > check</ button>
</ form>
</ body>
</ html>
cowb - 08/04/2006 13:50
Lid
Tja, maar dit is niet wat ik zocht :S ... Ik heb zelf al hopen pogingen gedaan, maar lukt me niet (ben noob in javascript) Ik wil gewoon...
Als iemand 1 aanklikt dat hij gaat controlen hoeveel er aangevikt zijn... en als er meer dan bv 3 zijn kunnen er geen meer aangevinkt worden (met een alert ofzo...)
Thomas - 08/04/2006 14:05
Moderator
Dan moet je met een onclick event controleren hoeveel er aangeklikt zijn/worden .
<input type="checkbox" name="optie[X]" onclick="this.checked = minder_dan(3)" />
< input type= "checkbox" name= "optie[X]" onclick= "this.checked = minder_dan(3)" />
minder_dan(3) retourneert een boolean die aangeeft of er minder dan 3 checkboxen aangevinkt zijn, en die bepaalt of checkbox (met index X) gechecked wordt.
cowb - 08/04/2006 14:14 (laatste wijziging 08/04/2006 15:35)
Lid
Unk?? En nu even nederlands...
Ik heb zelf ook nog wat zitte prutsen, werkt wel niet maar mss zit ik in de buurt
[EDIT] Er mag ook geen knop aan te pas komen... het is dus de bedoeling als je 1 aanvinkt dat hij al direct gaat controleren
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>html template</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="JavaScript" type="text/javascript">
<!--
function check(veld, form, aantal, maxi)
{
var teller = 0; // aantal gecheckte elementen
for(var i=0; i < aantal; i++)
{
var elt = ""+veld+"["+i+"]"; // de elementnaam
if(document.forms[form].elements[elt].checked)
{
// checkbox geselecteerd
teller++;
}
}
if(teller > maxi)
{
//hier de laatst gecheckte checkbox laten unchecken... maar hoe?
window.alert("Je mag maar "+maxi+" dingen aanduiden.");
}
}
//-->
</script>
</head>
<body>
<form name="form_naam" action="" method="post">
<input type="checkbox" name="optie[0]" value="antwoord_id" /><br />
<input type="checkbox" name="optie[1]" value="antwoord_id" /><br />
<input type="checkbox" name="optie[2]" value="antwoord_id" /><br />
<input type="checkbox" name="optie[3]" value="antwoord_id" /><br />
<button type="button" onclick="check("optie", "form_naam", 4, 3)">check</button>
</form>
</body>
</html>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" >
< html>
< head>
< title> html template</ title>
< meta http- equiv= "Content-Type" content= "text/html; charset=iso-8859-1" />
<script language = "JavaScript" type= "text/javascript" >
<!--
function check( veld, form, aantal, maxi)
{
var teller = 0 ; // aantal gecheckte elementen
for ( var i= 0 ; i < aantal; i++ )
{
var elt = "" + veld+ "[" + i+ "]" ; // de elementnaam
if ( document. forms[ form] . elements[ elt] . checked)
{
// checkbox geselecteerd
teller++;
}
}
if ( teller > maxi)
{
//hier de laatst gecheckte checkbox laten unchecken... maar hoe?
window. alert( "Je mag maar " + maxi+ " dingen aanduiden." ) ;
}
}
//-->
</script>
</ head>
< body>
< form name= "form_naam" action= "" method= "post" >
< input type= "checkbox" name= "optie[0]" value= "antwoord_id" />< br />
< input type= "checkbox" name= "optie[1]" value= "antwoord_id" />< br />
< input type= "checkbox" name= "optie[2]" value= "antwoord_id" />< br />
< input type= "checkbox" name= "optie[3]" value= "antwoord_id" />< br />
< button type= "button" onclick= "check(" optie", " form_naam", 4, 3)" > check</ button>
</ form>
</ body>
</ html>
Thomas - 08/04/2006 18:10
Moderator
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>html template</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="JavaScript" type="text/javascript">
<!--
function check_radio(button, veld, form, aantal, max)
{
var teller = 0; // aantal gecheckte elementen
for(var i=0; i < aantal; i++)
{
var elt = ""+veld+"["+i+"]"; // de elementnaam
if(document.forms[form].elements[elt].checked)
{
// checkbox geselecteerd
teller++;
}
}
if(teller > max)
{
button.checked = false;
window.alert("Je mag maximaal "+max+" checkboxen aanvinken.");
}
}
//-->
</script>
</head>
<body>
<form name="form_naam" action="" method="post">
<input type="checkbox" name="optie[0]" value="whatever" onclick="check_radio(this, 'optie', 'form_naam', 6, 3)" /><br />
<input type="checkbox" name="optie[1]" value="whatever" onclick="check_radio(this, 'optie', 'form_naam', 6, 3)" /><br />
<input type="checkbox" name="optie[2]" value="whatever" onclick="check_radio(this, 'optie', 'form_naam', 6, 3)" /><br />
<input type="checkbox" name="optie[3]" value="whatever" onclick="check_radio(this, 'optie', 'form_naam', 6, 3)" /><br />
<input type="checkbox" name="optie[4]" value="whatever" onclick="check_radio(this, 'optie', 'form_naam', 6, 3)" /><br />
<input type="checkbox" name="optie[5]" value="whatever" onclick="check_radio(this, 'optie', 'form_naam', 6, 3)" /><br />
</form>
</body>
</html>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" >
< html>
< head>
< title> html template</ title>
< meta http- equiv= "Content-Type" content= "text/html; charset=iso-8859-1" />
<script language = "JavaScript" type= "text/javascript" >
<!--
function check_radio
( button
, veld
, form
, aantal
, max ) {
var teller = 0 ; // aantal gecheckte elementen
for ( var i= 0 ; i < aantal; i++ )
{
var elt = "" + veld+ "[" + i+ "]" ; // de elementnaam
if ( document. forms[ form] . elements[ elt] . checked)
{
// checkbox geselecteerd
teller++;
}
}
{
button. checked = false ;
window
. alert
( "Je mag maximaal " + max + " checkboxen aanvinken." ) ; }
}
//-->
</script>
</ head>
< body>
< form name= "form_naam" action= "" method= "post" >
< input type= "checkbox" name= "optie[0]" value= "whatever" onclick= "check_radio(this, 'optie', 'form_naam', 6, 3)" />< br />
< input type= "checkbox" name= "optie[1]" value= "whatever" onclick= "check_radio(this, 'optie', 'form_naam', 6, 3)" />< br />
< input type= "checkbox" name= "optie[2]" value= "whatever" onclick= "check_radio(this, 'optie', 'form_naam', 6, 3)" />< br />
< input type= "checkbox" name= "optie[3]" value= "whatever" onclick= "check_radio(this, 'optie', 'form_naam', 6, 3)" />< br />
< input type= "checkbox" name= "optie[4]" value= "whatever" onclick= "check_radio(this, 'optie', 'form_naam', 6, 3)" />< br />
< input type= "checkbox" name= "optie[5]" value= "whatever" onclick= "check_radio(this, 'optie', 'form_naam', 6, 3)" />< br />
</ form>
</ body>
</ html>
Gesponsorde links
Dit onderwerp is gesloten .