Note that there are some explanatory texts on larger screens.

plurals
  1. POWorking with sessions
    text
    copied!<p>I am making a "color-me-table", where I have a grid of cells, and the user chooses a cell, then can decide on what to change the color in that cell to. I have the table down, but I do no really understand sessions. I could have just asked a general question about sessions, but I thought this example might make more sense. Here is my table, without any real functionality:</p> <pre><code>&lt;?php session_start() ; if(!isset($_SESSION['color_data'])){ $_SESSION['color_data']=array( array("#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999"), array("#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999"), array("#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999"), array("#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999"), array("#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999"), array("#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999"), array("#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999"), array("#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999"), array("#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999"), array("#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999", "#999999") ); } switch($_POST['col']) { case "0" : case "1" : case "2" : case "3" : case "4" : case "5" : case "6" : case "7" : case "8" : case "9" : $col = $_POST['col'] ; } switch($_POST['row']) { case "0" : case "1" : case "2" : case "3" : case "4" : case "5" : case "6" : case "7" : case "8" : case "9" : $row = $_POST['row'] ; } switch($_POST['r']) { case "00" : case "33" : case "66" : case "99" : case "CC" : case "FF" : $r = $_POST['r'] ; } switch($_POST['g']) { case "00" : case "33" : case "66" : case "99" : case "CC" : case "FF" : $g = $_POST['g'] ; } switch($_POST['b']) { case "00" : case "33" : case "66" : case "99" : case "CC" : case "FF" : $b = $_POST['b'] ; } $color_data= $_SESSION['color_data'] ; if ($r &amp;&amp; $g &amp;&amp; $b) { $color_data[$_POST["row"]][$_POST["col"]]= "#$r$g$b"; } if (!is_null($r) &amp;&amp; !is_null($g) &amp;&amp; !is_null($b) &amp;&amp; !is_null($row) &amp;&amp; !is_null($column) ) { $color_value = "#$r$g$b" ; $color_data[] = array($row, $column, $color_value) ; } $_SESSION['color_data'] = $color_data ; ?&gt;&lt;html&gt; &lt;head&gt; &lt;title&gt;Color Me Table&lt;/title&gt; &lt;/head&gt; &lt;body&gt;&lt;?php echo $color_value ; ?&gt; &lt;form action="assignment4.php" method="POST"&gt; &lt;table&gt; &lt;tr&gt; &lt;td width="20"&gt;&lt;/td&gt; &lt;td&gt;&lt;input type="radio" name="col" value="0"&gt;0&lt;/td&gt; &lt;td&gt;&lt;input type="radio" name="col" value="1"&gt;1&lt;/td&gt; &lt;td&gt;&lt;input type="radio" name="col" value="2"&gt;2&lt;/td&gt; &lt;td&gt;&lt;input type="radio" name="col" value="3"&gt;3&lt;/td&gt; &lt;td&gt;&lt;input type="radio" name="col" value="4"&gt;4&lt;/td&gt; &lt;td&gt;&lt;input type="radio" name="col" value="5"&gt;5&lt;/td&gt; &lt;td&gt;&lt;input type="radio" name="col" value="6"&gt;6&lt;/td&gt; &lt;td&gt;&lt;input type="radio" name="col" value="7"&gt;7&lt;/td&gt; &lt;td&gt;&lt;input type="radio" name="col" value="8"&gt;8&lt;/td&gt; &lt;td&gt;&lt;input type="radio" name="col" value="9"&gt;9&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;input type="radio" name="row" value="0"&gt;0&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;00&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;01&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;02&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;03&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;04&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;05&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;06&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;07&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;08&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;09&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;input type="radio" name="row" value="1"&gt;1&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;10&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;11&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;12&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;13&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;14&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;15&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;16&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;17&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;18&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;19&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;input type="radio" name="row" value="2"&gt;2&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;20&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;21&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;22&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;23&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;24&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;25&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;26&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;27&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;28&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;29&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;input type="radio" name="row" value="3"&gt;3&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;30&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;31&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;32&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;33&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;34&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;35&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;36&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;37&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;38&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;39&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;input type="radio" name="row" value="4"&gt;4&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;40&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;41&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;42&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;43&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;44&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;45&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;46&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;47&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;48&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;49&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;input type="radio" name="row" value="5"&gt;5&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;50&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;51&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;52&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;53&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;54&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;55&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;56&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;57&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;58&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;59&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;input type="radio" name="row" value="6"&gt;6&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;60&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;61&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;62&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;63&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;64&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;65&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;66&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;67&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;68&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;69&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;input type="radio" name="row" value="7"&gt;7&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;70&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;71&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;72&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;73&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;74&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;75&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;76&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;77&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;78&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;79&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;input type="radio" name="row" value="8"&gt;8&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;80&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;81&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;82&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;83&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;84&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;85&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;86&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;87&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;88&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;89&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;input type="radio" name="row" value="9"&gt;9&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;90&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;91&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;92&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;93&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;94&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;95&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;96&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;97&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;98&lt;/td&gt; &lt;td width="20" bgcolor="#999999"&gt;99&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;table border="1" &gt; &lt;tr&gt; &lt;th&gt;Red&lt;/th&gt; &lt;th&gt;Green&lt;/th&gt; &lt;th&gt;Blue&lt;/th&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;select name="r" &gt; &lt;option value="FF" &gt;100%&lt;/option&gt; &lt;option value="CC" &gt;80%&lt;/option&gt; &lt;option value="99" &gt;60%&lt;/option&gt; &lt;option value="66" &gt;40%&lt;/option&gt; &lt;option value="33" &gt;20%&lt;/option&gt; &lt;option value="00" &gt;0%&lt;/option&gt; &lt;/select&gt; &lt;/td&gt; &lt;td&gt; &lt;select name="g" &gt; &lt;option value="FF" &gt;100%&lt;/option&gt; &lt;option value="CC" &gt;80%&lt;/option&gt; &lt;option value="99" &gt;60%&lt;/option&gt; &lt;option value="66" &gt;40%&lt;/option&gt; &lt;option value="33" &gt;20%&lt;/option&gt; &lt;option value="00" &gt;0%&lt;/option&gt; &lt;/select&gt; &lt;/td&gt; &lt;td&gt; &lt;select name="b" &gt; &lt;option value="FF" &gt;100%&lt;/option&gt; &lt;option value="CC" &gt;80%&lt;/option&gt; &lt;option value="99" &gt;60%&lt;/option&gt; &lt;option value="66" &gt;40%&lt;/option&gt; &lt;option value="33" &gt;20%&lt;/option&gt; &lt;option value="00" &gt;0%&lt;/option&gt; &lt;/select&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;input type="submit" name="submit" value="Submit" /&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt; </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload