Afhandeling variabelen binnen PHP
Nu is het probleem dat hoewel de waarde van de ene keuze wel goed doorgegeven wordt naar de volgende echter daarna is de vorige altijd nul. Ik voeg een voorbeeld scriptje bij waarbij je precies kunt zien wat ik bedoel. Wie weet hoe dit op te lossen is ?
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
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
<?php
$aantal="20";
for ($p=0; $p<=$aantal; $p++){
$periode[$p]="$p";
}
?>
<table cellspacing="2" cellpadding="2" border="0" width="">
<form method="POST" ACTION="">
<tr valign="top" height="20">
<td align="right"> <b> Keuze 1 : </b> </td>
<td><select size="1" name="thisField1" onchange="submit();">
<?php
for ($p=0; $p <= $aantal; $p++){
$thisField1= $p;
echo "<option value=".$thisField1.">".$periode[$p]."</option>";
}
?>
</select></td></tr>
<?php
$thisField1=$_POST['thisField1'];
echo "Keuze 1 = ".$thisField1."<br>";
?>
<form method="POST" ACTION="">
<tr valign="top" height="20">
<td align="right"> <b> Keuze 2 : </b> </td>
<td><select size="1" name="thisField2" onchange="submit();">
<?php
for ($p=$thisField1; $p <= $aantal; $p++){
if ($thisField2 == $p){
echo "<option selected value=".$thisField2.">".$periode[$p]."</option>";
}else{
$thisField2= $p;
echo "<option value=".$thisField2.">".$periode[$p]."</option>";
}
}
?>
</select></td></tr>
<?php
$thisField2=$_POST['thisField2'];
echo "Keuze 2 = ".$thisField2."<br>";
?>
<form method="POST" ACTION="">
<tr valign="top" height="20">
<td align="right"> <b> Keuze 3 : </b> </td>
<td><select size="1" name="thisField3" onchange="submit();">
<?php
for ($p=$thisField2; $p <= $aantal; $p++){
if ($thisField3 == $p){
echo "<option selected value=".$thisField3.">".$periode[$p]."</option>";
}else{
$thisField3= $p;
echo "<option value=".$thisField3.">".$periode[$p]."</option>";
}
}
?>
</select></td></tr>
<?php
$thisField3=$_POST['thisField3'];
echo "Keuze 3 = ".$thisField3."<br>";
?>
<form method="POST" ACTION="">
<tr valign="top" height="20">
<td align="right"> <b> Keuze 4 : </b> </td>
<td><select size="1" name="thisField4" onchange="submit();">
<?php
for ($p=$thisField3; $p <= $aantal; $p++){
if ($thisField4 == $p){
echo "<option selected value=".$thisField4.">".$periode[$p]."</option>";
}else{
$thisField4= $p;
echo "<option value=".$thisField4.">".$periode[$p]."</option>";
}
}
?>
</select></td></tr>
<?php
$thisField4=$_POST['thisField4'];
echo "Keuze 4 = ".$thisField4."<br>";
?>
</table></form></form></form></form>
$aantal="20";
for ($p=0; $p<=$aantal; $p++){
$periode[$p]="$p";
}
?>
<table cellspacing="2" cellpadding="2" border="0" width="">
<form method="POST" ACTION="">
<tr valign="top" height="20">
<td align="right"> <b> Keuze 1 : </b> </td>
<td><select size="1" name="thisField1" onchange="submit();">
<?php
for ($p=0; $p <= $aantal; $p++){
$thisField1= $p;
echo "<option value=".$thisField1.">".$periode[$p]."</option>";
}
?>
</select></td></tr>
<?php
$thisField1=$_POST['thisField1'];
echo "Keuze 1 = ".$thisField1."<br>";
?>
<form method="POST" ACTION="">
<tr valign="top" height="20">
<td align="right"> <b> Keuze 2 : </b> </td>
<td><select size="1" name="thisField2" onchange="submit();">
<?php
for ($p=$thisField1; $p <= $aantal; $p++){
if ($thisField2 == $p){
echo "<option selected value=".$thisField2.">".$periode[$p]."</option>";
}else{
$thisField2= $p;
echo "<option value=".$thisField2.">".$periode[$p]."</option>";
}
}
?>
</select></td></tr>
<?php
$thisField2=$_POST['thisField2'];
echo "Keuze 2 = ".$thisField2."<br>";
?>
<form method="POST" ACTION="">
<tr valign="top" height="20">
<td align="right"> <b> Keuze 3 : </b> </td>
<td><select size="1" name="thisField3" onchange="submit();">
<?php
for ($p=$thisField2; $p <= $aantal; $p++){
if ($thisField3 == $p){
echo "<option selected value=".$thisField3.">".$periode[$p]."</option>";
}else{
$thisField3= $p;
echo "<option value=".$thisField3.">".$periode[$p]."</option>";
}
}
?>
</select></td></tr>
<?php
$thisField3=$_POST['thisField3'];
echo "Keuze 3 = ".$thisField3."<br>";
?>
<form method="POST" ACTION="">
<tr valign="top" height="20">
<td align="right"> <b> Keuze 4 : </b> </td>
<td><select size="1" name="thisField4" onchange="submit();">
<?php
for ($p=$thisField3; $p <= $aantal; $p++){
if ($thisField4 == $p){
echo "<option selected value=".$thisField4.">".$periode[$p]."</option>";
}else{
$thisField4= $p;
echo "<option value=".$thisField4.">".$periode[$p]."</option>";
}
}
?>
</select></td></tr>
<?php
$thisField4=$_POST['thisField4'];
echo "Keuze 4 = ".$thisField4."<br>";
?>
</table></form></form></form></form>
Gewijzigd op 01/01/1970 01:00:00 door Henri
Gewijzigd op 01/01/1970 01:00:00 door Stefan van Iwaarden
$periode[$p]= $p; dus
wes:
gewoon
$periode[$p]= $p; dus
$periode[$p]= $p; dus
Volgens mij staat dat er al ??
nee, dat staat er nog niet, jij hebt er aanhalingstekens omstaan.
Dat maakt voor de werking niks uit, omdat het dubbele zijn
ik zei niet dat het het probleem zou oplossen, maar het is niet netjse coden :) verpest het nou niet ^_^
wes:
ik zei niet dat het het probleem zou oplossen, maar het is niet netjse coden :) verpest het nou niet ^_^
De vraag was wel of iemand wist hoe dit probleem op te lossen. Als als je mij er op had willen wijzen dat die dubbele quots er niet moeten staan had je dat er mischien bij moeten zetten. Nu leek het net alsof dit het antwoord op dit probleem was. En dat is het dus niet want quotes of niet dat maakt voor de werking niets uit.
sowieso dingen als 4 forms in elkaar zetten gaat nooit goed werken
Nope, je moet de action wel instellen en daar precies inzetten waar het naartoe moet. en dan daar afhandelen!
wes:
sowieso dingen als 4 forms in elkaar zetten gaat nooit goed werken
Nee dat het zo niet werkt, daar ben ik wel achter. Ik ben juist opzoek naar hoe het wel zou werken.
Han:
Nope, je moet de action wel instellen en daar precies inzetten waar het naartoe moet. en dan daar afhandelen!
Ik dacht dat als je de actie niet instelde dat hij binnen hetzelfde script bleef. Want het is niet de bedoeling om naar een volgpagina te gaan of zoiets.Ik weet niet of je het script al eens gerund hebt of niet, maar als je dat doet zie exact wat er niet goed gaat.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
SanThe:
In formulier 2 de waarden zetten in hidden fields uit formulier 1. In formulier 3 de waarden uit 2 incl. de hidden fields. Idem voor 4.
Nee San niet als je bedoelde :
dit werkt ook niet nu krijg ik zelfs de waarde niet meer door in het volgende veld. Maar bedankt voor je poging om me te helpen.
Gewijzigd op 01/01/1970 01:00:00 door Henri
Code (php)
1
<input type="hidden" name="veldnaam uit 1e formulier" value="<?php echo $_POST['veldnaam uit 1e formulier']; ?>">
Edit: Foutje.
Edit2: Code tags.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
SanThe:
In formulier 2
Edit: Foutje.
Edit2: Code tags.
Code (php)
1
<input type="hidden" name="veldnaam uit 1e formulier" value="<?php echo $_POST['veldnaam uit 1e formulier']; ?>">
Edit: Foutje.
Edit2: Code tags.
Nee san Helaas werkt ook dit niet.
Ik weet niet of je de moeite genomen hebt om het scriptje te downloaden en te testen? ( dit is maar een voorbeeld script overigens, aleen bedoeld om het probleem duidelijk te maken. Het dient verder nergens toe). Maar als je dat doet zul je zien dat het script op zich goed werkt, behalve dat de voorgaande keuze steeds terug gezet wordt naar 0 en dat wil ik juist niet ik wil deze keuze juist vast houden en op het scherm hebben.
Gewijzigd op 01/01/1970 01:00:00 door Henri
Nee, ik heb niets getest. Maar de manier die ik aangeef moet gewoon werken.
SanThe:
Nee, ik heb niets getest. Maar de manier die ik aangeef moet gewoon werken.
Ja San, het zou mischien wel moeten maar als ik dit toepas dan heb ik in de volgkeuzes geen keuzes meer ze krijgen allemaal de maximale waarde zodat er geen selectie mogelijkheid meer overblijft.
En de voorgaande selectie wordt nog steeds op nul gezet.
Beste mensen, allemaal bedankt voor het meedenken. Maar het is me zojuist gelukt om het probleem op te lossen.