将Javascript或PHP变量传递到另一个页面

将Javascript或PHP变量传递到另一个页面,php,javascript,Php,Javascript,两天来,我一直在努力解决这个问题,但运气不好。我正在使用PHP和Javascript,我正在尝试访问另一个页面上的Javascript变量 这是我的Javascript代码,它只提醒用户taskID是什么 <script> function myFunction(taskID) { alert("Task #" + taskID); } </script> 这是我的PHP //select all tasks for this report $

两天来,我一直在努力解决这个问题,但运气不好。我正在使用PHP和Javascript,我正在尝试访问另一个页面上的Javascript变量

这是我的Javascript代码,它只提醒用户taskID是什么

<script>
function myFunction(taskID)
{
alert("Task #" + taskID);

}
</script>
这是我的PHP

//select all tasks for this report
            $tasks = mysqli_query($conn,"SELECT taskID, hoursSpent, workDone, plannedTasks FROM Tasks where reportID = $report_id AND projID = $proj_id");
            $task_count = 1;
            while($row1 = mysqli_fetch_array($tasks))
            {
                $taskID = $row1['taskID'];
                //display the task information
                echo "<strong id='tasks'>Task #" . $task_count . "</strong>";
                echo " - <a href = '#' onclick ='myFunction($taskID)'>Edit</a><br>";


                echo "Hours Spent: " . $row1['hoursSpent'] . "<br><br>"; 
                echo "Accomplished: <br>" . $row1['workDone'] . "<br><br>";
                echo "Planned for Next week: <br>" . $row1['plannedTasks'] . "<br>";
                echo "<br>";
                $task_count++;
            }
如何将该taskID传递到另一个页面,以便编辑任务信息

谢谢

只要改变一下:

echo " - <a href = '#' onclick ='myFunction($taskID)'>Edit</a><br>";
将使您容易受到注射攻击。请仔细研究准备好的声明

$tasks = mysqli_query($conn, 'SELECT taskID, hoursSpent, workDone, plannedTasks FROM Tasks WHERE reportID = ? AND projID = ?');
mysqli_stmt_bind_param($tasks, 'i', $reportID);//replace i with s if should be a string etc...
一旦你的建筑基于客户端数据进行了查询,你将使用以下方法:使用url获取id…,这是保护自己免受常见威胁的最简单方法

当然,要理解什么是注射

<script>
function myFunction(taskID) {
  location="nextpage.php?task="+taskID;
  return false;

}
</script>



echo " - <a href = '#' onclick ='return myFunction("'.$taskID.'")'>Edit</a>
或者更简单

echo " - <a href='nextpage.php?task='.$taskID.'">Edit</a>

最简单的GET变量:mysite.com/otherpage.php?taskID=3Erm,链接到page?task=123?这对你来说不管用吗?location=nextpage.php?task=+taskid有多种解决方案,例如:1在URL中使用查询参数,2在缓存中,3在pushState/onpopstate状态中,4在URL的哈希部分中,但对服务器不可见,甚至在5个会话中,6个localStorage中等等。这一切都取决于你到底想实现什么。不过,如果你的页面是静态的,并且你想一次打开多个页面,我会坚持使用URL。非常感谢!我当时忽略了它,现在我觉得自己真的很傻。已经研究了准备好的语句,并且已经准备好了两个insert语句。也将更改要准备的select查询。再次感谢@用户1536365:很高兴我能帮上忙。。。虽然我很感激你的评论,但感谢某人的方式是接受答案,点击答案旁边的大勾号。。。你也会因此得到一些名声
$tasks = mysqli_query($conn, 'SELECT taskID, hoursSpent, workDone, plannedTasks FROM Tasks WHERE reportID = ? AND projID = ?');
mysqli_stmt_bind_param($tasks, 'i', $reportID);//replace i with s if should be a string etc...
<script>
function myFunction(taskID) {
  location="nextpage.php?task="+taskID;
  return false;

}
</script>



echo " - <a href = '#' onclick ='return myFunction("'.$taskID.'")'>Edit</a>
echo " - <a href='nextpage.php?task='.$taskID.'">Edit</a>