wright67uk Posted December 9, 2012 Share Posted December 9, 2012 How can i change my form below, so that the chosen option populates the $user_id variable. I would like to use he variable in an sql query. eg. user selects option value 5, then $user_id = 5, name: 'S Wedge', data: [<?php $sql= "SELECT month_table.month , IFNULL(AVG( yard ), 0) AS avscore FROM month_table LEFT JOIN `snag` ON month_table.month = MONTH( STR_TO_DATE( sdate, '%d/%m/%y' ) ) AND club = 'S wedge' AND user_id = $user_id AND YEAR = $year GROUP BY `month`"; $result=mysql_query($sql); while($row = mysql_fetch_array($result) ){ echo $row['avscore'].',';} ?>] }] }); }); }); </script> </head> <body> <script src="../../js/highcharts.js"></script> <script src="../../js/modules/exporting.js"></script> <form action="action=<?php echo htmlentities($_SERVER['PHP_SELF']); ?> method="post">" <label for='user_id[]'>Select the user you would like to display:</label><br> <select multiple="multiple" name="user_id[]"> <option>Select User</option> <option value="1">1</option> <option value="3">3</option> <option value="5">5</option> <option value="7">7</option> </select> <input type="submit" value="Submit"> </form> <?php echo $user_id ?> <div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"> </div> </body> </html> Quote Link to comment https://forums.phpfreaks.com/topic/271775-using-a-form-to-select-variables/ Share on other sites More sharing options...
Christian F. Posted December 9, 2012 Share Posted December 9, 2012 Yes, all you need to do is to read up on the $_POST superglobal. As well as intval (), to ensure that you are indeed getting an integer (and not an SQL injection attack). PS: I recommend using this snippet for protecting yourself against XSS attacks via $_SERVER['PHP_SELF']. Quote Link to comment https://forums.phpfreaks.com/topic/271775-using-a-form-to-select-variables/#findComment-1398377 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.