Una cosa que he empezado a hacer más a menudo recientemente es recuperar algunos datos al comienzo de una tarea y almacenándola en a $ _SESSION ['myDataForTheTask'].
Ahora parece muy conveniente hacerlo, pero no sé nada sobre el rendimiento, los riesgos de seguridad o similares, utilizando este enfoque. ¿Es algo que regularmente hacen los programadores con más experiencia o es más una cosa de aficionados que hacer?
Por ejemplo:
if (!isset($_SESSION['dataentry']))
{
$query_taskinfo = "SELECT participationcode, modulearray, wavenum FROM mng_wave WHERE wave_id=" . mysql_real_escape_string($_GET['wave_id']);
$result_taskinfo = $db->query($query_taskinfo);
$row_taskinfo = $result_taskinfo->fetch_row();
$dataentry = array("pcode" => $row_taskinfo[0], "modules" => $row_taskinfo[1], "data_id" => 0, "wavenum" => $row_taskinfo[2], "prequest" => FALSE, "highlight" => array());
$_SESSION['dataentry'] = $dataentry;
}
Su consulta SQL es vulnerable a ataques de inyección SQL. Por ejemplo, alguien podría poner '? Wave_id = wave_id' y la consulta seleccionaría todas las filas. (Es peor con las solicitudes DELETE, INSERTAR y ACTUALIZAR). En este caso, debe escribir el código para asegurarse de que sea un número, y la forma más fácil de hacerlo es intval() –