Problem med session data
Hej eksperter,jeg har et problem jeg håber I kan hjælpe med mig...
Jeg har nogle session data som går tabt når jeg går et skridt tilbage...
På en side vælger man en tagvinkel hvad man enten kan vælge 25, 35 eller 45 grader, eller man kan skrive en præcis vinkel i ét af tre felter til hhv. 20-29, 30-39 eller +40 grader...
og på samme side vælger man en tagafslutning som enten kan være DV eller VS...
Min kode til det er dette stykke:
-----------------------------------
function udhaeng_valg() {
print '<table border="0" cellspacing="10" cellpadding="0" width="650">';
print "<tr>";
print '<td colspan="3"><h4>Vælg vinkel</h4></td>';
print "<tr>";
print '<td><p>20-29 °</p><img src="gfx/oversigt/'. $_SESSION["husID"] .'_20'. $_SESSION["rooftype"] .'.gif" alt="" width="145" onclick="document.getElementById(\'fv25\').checked = true, document.getElementById(\'fv35\').checked = false, document.getElementById(\'fv45\').checked = false" style="cursor: hand;" /></td>';
print '<td><p>30-39 °</p><img src="gfx/oversigt/'. $_SESSION["husID"] .'_30'. $_SESSION["rooftype"] .'.gif" alt="" width="145" onclick="document.getElementById(\'fv35\').checked = true, document.getElementById(\'fv25\').checked = false, document.getElementById(\'fv45\').checked = false" style="cursor: hand;" /></td>';
print '<td><p>40-60 °</p><img src="gfx/oversigt/'. $_SESSION["husID"] .'_40'. $_SESSION["rooftype"] .'.gif" alt="" width="145" onclick="document.getElementById(\'fv45\').checked = true, document.getElementById(\'fv25\').checked = false, document.getElementById(\'fv35\').checked = false" style="cursor: hand;" /></td>';
print "</tr>";
if($_SESSION["husID"] == 4 || $_SESSION["husID"] == 5 || $_SESSION["husID"] == 6 || $_SESSION["husID"] == 16 || $_SESSION["husID"] == 17 || $_SESSION["husID"] == 18) {
print "<tr>";
print '<td><input type="radio" name="fastvalg" id="fv25" value="angle25" /> 25°<br />eller indtast præcise vinkler<br /><input type="text" value="" name="angle20" size="4" onfocus="document.getElementById(\'fv25\').checked = false" />°<br /><input type="text" value="" name="angle20_2" size="4" onfocus="document.getElementById(\'fv25\').checked = false" />°</td>';
print '<td><input type="radio" name="fastvalg" id="fv35" value="angle35" /> 35°<br />eller indtast præcise vinkler<br /><input type="text" value="" name="angle30" size="4" onfocus="document.getElementById(\'fv35\').checked = false" />°<br /><input type="text" value="" name="angle30_2" size="4" onfocus="document.getElementById(\'fv35\').checked = false" />°</td>';
print '<td><input type="radio" name="fastvalg" id="fv45" value="angle45" /> 45°<br />eller indtast præcise vinkler<br /><input type="text" value="" name="angle40" size="4" onfocus="document.getElementById(\'fv45\').checked = false" />°<br /><input type="text" value="" name="angle40_2" size="4" onfocus="document.getElementById(\'fv45\').checked = false" />°</td>';
print "</tr>";
} elseif($_SESSION["husID"] == 10 || $_SESSION["husID"] == 11 || $_SESSION["husID"] == 12 || $_SESSION["husID"] == 13 || $_SESSION["husID"] == 14 || $_SESSION["husID"] == 15 || $_SESSION["husID"] == 16) {
print "<tr>";
print '<td><input type="radio" name="fastvalg" id="fv25" value="angle25" /> 25°<br />eller indtast præcise vinkler<br /><input type="text" value="" name="angle20" size="4" onfocus="document.getElementById(\'fv25\').checked = false" />°<br /><input type="text" value="" name="angle20_2" size="4" onfocus="document.getElementById(\'fv25\').checked = false" />°<br /><input type="text" value="" name="angle20_3" size="4" onfocus="document.getElementById(\'fv25\').checked = false" />°</td>';
print '<td><input type="radio" name="fastvalg" id="fv35" value="angle35" /> 35°<br />eller indtast præcise vinkler<br /><input type="text" value="" name="angle30" size="4" onfocus="document.getElementById(\'fv35\').checked = false" />°<br /><input type="text" value="" name="angle30_2" size="4" onfocus="document.getElementById(\'fv35\').checked = false" />°<br /><input type="text" value="" name="angle30_3" size="4" onfocus="document.getElementById(\'fv35\').checked = false" />°</td>';
print '<td><input type="radio" name="fastvalg" id="fv45" value="angle45" /> 45°<br />eller indtast præcise vinkler<br /><input type="text" value="" name="angle40" size="4" onfocus="document.getElementById(\'fv45\').checked = false" />°<br /><input type="text" value="" name="angle40_2" size="4" onfocus="document.getElementById(\'fv45\').checked = false" />°<br /><input type="text" value="" name="angle40_3" size="4" onfocus="document.getElementById(\'fv45\').checked = false" />°</td>';
print "</tr>";
} else {
print "<tr>";
print '<td><input type="radio" name="fastvalg" id="fv25" value="angle25" /> 25°<br />eller indtast præcis vinkel<br /><input type="text" value="" name="angle20" size="4" onfocus="document.getElementById(\'fv25\').checked = false" />°</td>';
print '<td><input type="radio" name="fastvalg" id="fv35" value="angle35" /> 35°<br />eller indtast præcis vinkel<br /><input type="text" value="" name="angle30" size="4" onfocus="document.getElementById(\'fv35\').checked = false" />°</td>';
print '<td><input type="radio" name="fastvalg" id="fv45" value="angle45" /> 45°<br />eller indtast præcis vinkel<br /><input type="text" value="" name="angle40" size="4" onfocus="document.getElementById(\'fv45\').checked = false" />°</td>';
print "</tr>";
}
print "</table>";
}
print '<div style="float: left;">';
print '<form action="index.php?pageID=5" method="post" name="angleform" /*onsubmit="return checkAngle();*/" >';
if($_GET["tagtype"]) {
$_SESSION["tagtype"] = $_GET["tagtype"];
}
udhaeng_valg();
$d = new Tagsten();
$d->gavl_afslutning();
print '<p><input type="submit" value="'. $nextstep .'" name="submit" class="nextStepInput" /></p>';
print '</form>';
print '</div>';
print '<div style="float: right;">';
print '<table border="0" cellspacing="0" cellpadding="0">';
print '<tr>';
print '<td class="tdHeadline">Om tagvinkler</td>';
print '</tr>';
print '<tr>';
print '<td style="padding: 10px 0px 10px 0px;"><div style="float: left;"><img src="gfx/ikoner/vinkel45.jpg" width="150" height="112" alt="" style="margin-right: 5px;" /></div><div style="float: right; width: 140px; margin-top: 25px;">45<sup>o</sup> tag</div></td>';
print '</tr>';
print '<tr>';
print '<td style="padding: 10px 0px 10px 0px;"><div style="float: left;"><img src="gfx/ikoner/vinkel35.jpg" width="150" height="91" alt="" style="margin-right: 5px;" /></div><div style="float: right; width: 140px; margin-top: 25px;">35<sup>o</sup> tag</div></td>';
print '</tr>';
print '<tr>';
print '<td style="padding: 10px 0px 10px 0px;"><div style="float: left"><img src="gfx/ikoner/vinkel25.jpg" width="150" height="76" alt="" style="margin-right: 5px;" /></div><div style="float: right; width: 140px; margin-top: 25px;">25<sup>o</sup> tag</div></td>';
print '</tr>';
print '<tr>';
print '<td style="padding: 10px 0px 10px 10px;">Du kan også beregne<br />tagvinklen sådan - <a href="#">Klik her</a></td>';
print '</tr>';
print '<tr>';
print '<td>';
$selected = new SelectRoof();
$selected->showSelected();
print '</td>';
print '</tr>';
print '</table>';
print '</div>';
------------------------------
Når man så poster data til næste som som opsættes med:
---------------------------------
if(isset($_POST["angle20"]) || isset($_POST["angle30"]) || isset($_POST["angle40"]) || isset($_POST["fastvalg"])) {
if(!empty($_POST["angle20"])) {
$_SESSION["vinkel1"] = $_POST["angle20"];
$_SESSION["vinkel2"] = $_POST["angle20_2"];
$_SESSION["vinkel3"] = $_POST["angle20_3"];
$_SESSION["tagtype"] = "25".$_SESSION["rooftype"];
//30 UDEN UDHÆNG
} elseif(!empty($_POST["angle30"])) {
$_SESSION["vinkel1"] = $_POST["angle30"];
$_SESSION["vinkel2"] = $_POST["angle30_2"];
$_SESSION["vinkel3"] = $_POST["angle30_3"];
$_SESSION["tagtype"] = "35".$_SESSION["rooftype"];
//40 MED UDHÆNG
} elseif(!empty($_POST["angle40"])) {
$_SESSION["vinkel1"] = $_POST["angle40"];
$_SESSION["vinkel2"] = $_POST["angle40_2"];
$_SESSION["vinkel3"] = $_POST["angle40_3"];
$_SESSION["tagtype"] = "45".$_SESSION["rooftype"];
} else {
$_SESSION["vinkel1"] = substr($_POST["fastvalg"], -2);
$_SESSION["vinkel2"] = substr($_POST["fastvalg"], -2);
$_SESSION["vinkel3"] = substr($_POST["fastvalg"], -2);
$_SESSION["tagtype"] = substr($_POST["fastvalg"], -2).$_SESSION["rooftype"];
}
} else {
$_SESSION["tagtype"] = $_SESSION["tagtype"];
$_SESSION["vinkel1"] = $_SESSION["vinkel1"];
$_SESSION["vinkel2"] = $_SESSION["vinkel2"];
$_SESSION["vinkel3"] = $_SESSION["vinkel3"];
}
if($_POST["afslutning_sten"]) {
$_SESSION["afslutning"] = $_POST["afslutning_sten"];
} else {
$_SESSION["afslutning"] = $_SESSION["afslutning"];
}
---------------------------------------
så opsættes de forskellige sessions fint.... MEN går jeg tilbage til siden med valg af vinkel og tagafslutning så mister jeg den session der hedder "tagtype". Hvis ikke jeg vælger en vinkel....
Men sessionen er blevet oprettet én gang da jeg lavede valget første gang.
(Den bliver sat alt efter hvilken vinkel man har valgt, og valg af udhæng fra starten af siden).
hedder f.eks. 45mu (45 grader med udhæng)...
Efter man har foretaget sit valg første gang skal man have mulighed for at gå tilbage og vælge en anden tagafslutning... Har man f.eks. valg en VS skal man kunne vælge en DV... Men den skal så huske hvad man har valgt eller indtastet af hvilken...
Håber det er forståeligt....
