online enquete bug??
Ik ben bezig met een online enquete (in basis lijkt hij op http://www.coolcarstyling.nl/phphulp/onderzoek/ enquete), alleen heb ik meerdere vragen per pagina. Deze zijn van het type radio.
Nu doet zich het volgende 'vreemde' voor; bij het klikken van volgende is het gevolg per pc maar ook per browser(FF en IE7) verschillend, bijv. :met één vd vier vragen aangeklikt wordt toch de volgende pagina geladen en/of alle 4 de vragen moeten zijn aangeklikt (ik doe nog geen controlle op ingevulde vragen).
Waar kan dit aan liggen?
mvg Vincent
WebRtistik schreef op 10.07.2008 23:11:
(ik doe nog geen controlle op ingevulde vragen).
Hier misschien aan?
Verder, post eens wat relevante code!
Ja ok, dat verhelpt natuurlijk wel het 'probleem' maar niet het verhelpen vd oorzaak...
Wat ik van je eerste post snap is dat je een een vragenlijst hebt, over meerdere pagina's. Op een pagina staan een aantal vragen, nu klik je op volgende en de volgende pagina wordt gewoon getoont. Er zit geen controle op. Nu wil je dat de volgende pagina niet wordt getoont....
Ja ok, dat verhelpt natuurlijk wel het 'probleem' maar niet het verhelpen vd oorzaak...
Code (php)
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
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
<?php
session_start();
//maak connectie met database
include "config.php";
if($_POST['volgende'] && $_SESSION['vraagnr'] != '' && $_POST['vraag'.$_SESSION['firstQid']] != '' && $_SESSION['pageid'] != 29)
{
//CODE VOOR HET SCHRIJVEN NAAR DB(is nu nog niet van belang)
$_SESSION['pageid']++;
}
if(isset($_POST['volgende']) && $_SESSION['pageid'] == 20)// ga naar intro deel2
{
header("Location: introDeel2.php");
}
if(isset($_POST['volgende']) && $_SESSION['pageid'] == 29)// $_SESSION['vraagnr'] >= ($aantal_vragen + 1))
{
//mysql_query("INSERT INTO antwoorden (ip,antwoorden,datum) VALUES ('".$_SERVER['REMOTE_ADDR']."','".$_SESSION['antwoorden']."',NOW())");
//deze query klopt nog niet helemaal..
header("Location: einde.php");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>VoorOnderzoek</title>
<link rel="stylesheet" href="stylesheets/stylesheet4.css" type="text/css" media="screen">
<link rel="SHORTCUT ICON" href="/onderzoek/"/>
</head>
<body>
<div id="container">
<div id="header">
<p>STAP <?php echo $_SESSION['pageid'];?>/29</p>
</div>
<div id="banner">
<?php
include("afhandelingBanners.php");
?>
</div>
<!--print vragen-->
<div id="rating">
<form method='post' action='enquete.php'>
<table>
<?php
$nummer = 1;
while($row = mysql_fetch_array($vragen))
{
$vraagnr = $row['id'];//id vd vraag
if($_SESSION['vraagnr'] == ''){
$vraagnr = 1;
$_SESSION['vraagnr'] = $vraagnr;
}else{
$_SESSION['vraagnr'] = $vraagnr;
}
$vraag = $row['vraag'];//de vraag
$type = $row['type'];//het type input element
$antwoorden = explode('|',$row['antwoorden']); //de antwoorden opties
echo "<tr><td class=\"rating\"><b>";
echo $vraag;
echo "</b></td><td class=\"rating\">";
if($type == "text"){
echo '<input type="'.$type.'" name="vraag'.$_SESSION['vraagnr'].'" />';
echo "</td>";
$nummer++;
}
foreach($antwoorden as $antwoord)
{
echo '<input type="'.$type.'" name="vraag'.$_SESSION['vraagnr'].'" value="'.$nummer.'" id="antwoord'.$nummer.'" /><label for="antwoord'.$nummer.'">'.$antwoord.'</label>';
$nummer++;
}
if($type == "radio"){echo "</td>";}
echo "</tr>";
}
?>
<tr>
<td></td><td style='text-align: right;'><input type="submit" name="volgende" value="Volgende" class="button" /></td>
</tr>
</table>
</form>
</div>
<div class="push"></div>
</div>
<div id="footer">
</div>
</body>
</html>
session_start();
//maak connectie met database
include "config.php";
if($_POST['volgende'] && $_SESSION['vraagnr'] != '' && $_POST['vraag'.$_SESSION['firstQid']] != '' && $_SESSION['pageid'] != 29)
{
//CODE VOOR HET SCHRIJVEN NAAR DB(is nu nog niet van belang)
$_SESSION['pageid']++;
}
if(isset($_POST['volgende']) && $_SESSION['pageid'] == 20)// ga naar intro deel2
{
header("Location: introDeel2.php");
}
if(isset($_POST['volgende']) && $_SESSION['pageid'] == 29)// $_SESSION['vraagnr'] >= ($aantal_vragen + 1))
{
//mysql_query("INSERT INTO antwoorden (ip,antwoorden,datum) VALUES ('".$_SERVER['REMOTE_ADDR']."','".$_SESSION['antwoorden']."',NOW())");
//deze query klopt nog niet helemaal..
header("Location: einde.php");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>VoorOnderzoek</title>
<link rel="stylesheet" href="stylesheets/stylesheet4.css" type="text/css" media="screen">
<link rel="SHORTCUT ICON" href="/onderzoek/"/>
</head>
<body>
<div id="container">
<div id="header">
<p>STAP <?php echo $_SESSION['pageid'];?>/29</p>
</div>
<div id="banner">
<?php
include("afhandelingBanners.php");
?>
</div>
<!--print vragen-->
<div id="rating">
<form method='post' action='enquete.php'>
<table>
<?php
$nummer = 1;
while($row = mysql_fetch_array($vragen))
{
$vraagnr = $row['id'];//id vd vraag
if($_SESSION['vraagnr'] == ''){
$vraagnr = 1;
$_SESSION['vraagnr'] = $vraagnr;
}else{
$_SESSION['vraagnr'] = $vraagnr;
}
$vraag = $row['vraag'];//de vraag
$type = $row['type'];//het type input element
$antwoorden = explode('|',$row['antwoorden']); //de antwoorden opties
echo "<tr><td class=\"rating\"><b>";
echo $vraag;
echo "</b></td><td class=\"rating\">";
if($type == "text"){
echo '<input type="'.$type.'" name="vraag'.$_SESSION['vraagnr'].'" />';
echo "</td>";
$nummer++;
}
foreach($antwoorden as $antwoord)
{
echo '<input type="'.$type.'" name="vraag'.$_SESSION['vraagnr'].'" value="'.$nummer.'" id="antwoord'.$nummer.'" /><label for="antwoord'.$nummer.'">'.$antwoord.'</label>';
$nummer++;
}
if($type == "radio"){echo "</td>";}
echo "</tr>";
}
?>
<tr>
<td></td><td style='text-align: right;'><input type="submit" name="volgende" value="Volgende" class="button" /></td>
</tr>
</table>
</form>
</div>
<div class="push"></div>
</div>
<div id="footer">
</div>
</body>
</html>
en de afhandeling vd content:
Code (php)
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
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
<?php
include ("config.php");
session_start();
if(!isset($_SESSION['bannerIDs']))
{
//creeer tabel met bannerID's voor randomizing
$numberOfBanners = mysql_num_rows(mysql_query("SELECT id FROM banners "));
for($i = 1; $i <= $numberOfBanners; $i++)
{
$bannerIDs[] = $i;
}
shuffle($bannerIDs); //shuffle de id's
$_SESSION['bannerIDs'] = $bannerIDs;
}
if($_SESSION['pageid'] <= 19)
{
$cor = 2;//ivm index en introDeel1.php
$vragen = mysql_query("SELECT id, vraag, type, antwoorden FROM vooronderzoek_vrgn1");
$bannerNr = $_SESSION['bannerIDs'][$_SESSION['pageid']-$cor];
echo "<p>Dit is banner ".$bannerNr."| pageID :".$_SESSION['pageid']."<br />";
mysql_query("UPDATE banners SET status = 'readed' WHERE id = '".$bannerNr."'");//zet de banner op readed.
include ("banner".$bannerNr.".html");
}
if($_SESSION['pageid'] >= 21) // $_SESSION['pageid'] > 21
{
$cor = 3;//ivm index, introDeel1 en introDeel2.php
$vragen = mysql_query("SELECT id, vraag, type, antwoorden FROM vooronderzoek_vrgn2");
if(!isset($_SESSION['bannerIDsD2']))
{
$bannersOudTMP = mysql_query("SELECT id FROM banners WHERE status = 'readed' ORDER BY RAND() LIMIT 1,5");
while ($row = mysql_fetch_array($bannersOudTMP) ){
$bannersOud[] = $row['id'];
//echo $row['id']."<br/>";
}
$bannersRestTMP = mysql_query("SELECT id FROM banners WHERE status = 'notreaded'");
while ($row2 = mysql_fetch_array($bannersRestTMP)) {
$bannersRest[] = $row2['id'];
//echo $row2['id']."<br/>";
}
$_SESSION['bannerIDsD2'] = array_merge($bannersOud,$bannersRest);
shuffle($_SESSION['bannerIDsD2']);
$begin = $_SESSION['pageid']-$cor;
foreach($_SESSION['bannerIDsD2'] as $key)
{
$_SESSION['bannerIDsD2'][$begin] = $key;
$begin++;
}
}
$bannerNr = $_SESSION['bannerIDsD2'][$_SESSION['pageid']-$cor];
mysql_query("UPDATE banners SET status2 = 'readed' WHERE id = '".$bannerNr."'");
echo "<p>Dit is banner ".$bannerNr."| pageID :".$_SESSION['pageid']."<br />";
include ("banner".$bannerNr.".html");
}
?>
include ("config.php");
session_start();
if(!isset($_SESSION['bannerIDs']))
{
//creeer tabel met bannerID's voor randomizing
$numberOfBanners = mysql_num_rows(mysql_query("SELECT id FROM banners "));
for($i = 1; $i <= $numberOfBanners; $i++)
{
$bannerIDs[] = $i;
}
shuffle($bannerIDs); //shuffle de id's
$_SESSION['bannerIDs'] = $bannerIDs;
}
if($_SESSION['pageid'] <= 19)
{
$cor = 2;//ivm index en introDeel1.php
$vragen = mysql_query("SELECT id, vraag, type, antwoorden FROM vooronderzoek_vrgn1");
$bannerNr = $_SESSION['bannerIDs'][$_SESSION['pageid']-$cor];
echo "<p>Dit is banner ".$bannerNr."| pageID :".$_SESSION['pageid']."<br />";
mysql_query("UPDATE banners SET status = 'readed' WHERE id = '".$bannerNr."'");//zet de banner op readed.
include ("banner".$bannerNr.".html");
}
if($_SESSION['pageid'] >= 21) // $_SESSION['pageid'] > 21
{
$cor = 3;//ivm index, introDeel1 en introDeel2.php
$vragen = mysql_query("SELECT id, vraag, type, antwoorden FROM vooronderzoek_vrgn2");
if(!isset($_SESSION['bannerIDsD2']))
{
$bannersOudTMP = mysql_query("SELECT id FROM banners WHERE status = 'readed' ORDER BY RAND() LIMIT 1,5");
while ($row = mysql_fetch_array($bannersOudTMP) ){
$bannersOud[] = $row['id'];
//echo $row['id']."<br/>";
}
$bannersRestTMP = mysql_query("SELECT id FROM banners WHERE status = 'notreaded'");
while ($row2 = mysql_fetch_array($bannersRestTMP)) {
$bannersRest[] = $row2['id'];
//echo $row2['id']."<br/>";
}
$_SESSION['bannerIDsD2'] = array_merge($bannersOud,$bannersRest);
shuffle($_SESSION['bannerIDsD2']);
$begin = $_SESSION['pageid']-$cor;
foreach($_SESSION['bannerIDsD2'] as $key)
{
$_SESSION['bannerIDsD2'][$begin] = $key;
$begin++;
}
}
$bannerNr = $_SESSION['bannerIDsD2'][$_SESSION['pageid']-$cor];
mysql_query("UPDATE banners SET status2 = 'readed' WHERE id = '".$bannerNr."'");
echo "<p>Dit is banner ".$bannerNr."| pageID :".$_SESSION['pageid']."<br />";
include ("banner".$bannerNr.".html");
}
?>
WebRtistik schreef op 11.07.2008 00:32:
Ja ok, dat verhelpt natuurlijk wel het 'probleem' maar niet het verhelpen vd oorzaak...
Wat is dan de oorzaak volgens jou?
Niet Bumpen.
Bumpen::
SanThe.