如何通过php中的onclick访问id

时间:2018-04-05 17:18:40

标签: javascript php jquery

我一直在寻找,但没有运气,我在HTML标签上有一个JavaScript on-click功能。点击功能会将我重定向到另一个页面。另一页上的内容取决于JavaScript on-click事件中传递的id。问题是我不知道如何访问我的PHP文件中的id,以便我可以运行SQL查询来显示数据。我也不希望ID显示在网址中。

我的HTML点击元素:

<h1 onclick="ContentPage(this.id)" value='.$id.'>'.$title.'</h1>

我的javasript功能:

<script>
function ContentPage(){

    location.href = "show-content.php";
};
</script>

3 个答案:

答案 0 :(得分:6)

你有很多方法可以去......

根据您当前的方法 -

修改你的功能:

function ContentPage(id){
    location.href = "show-content.php?id="+id;
}

id的值将在$_GET变量中;特别是索引id

在你的页面上,

$passedId = $_GET['id'];

另一种方法 - 不使用内联JS -

<h1 id="myTitle_'.$id.'" class="clickNavigate" value='.$id.'>'.$title.'</h1>

然后您的JavaScript代码变为

jQuery(".clickNavigate").on("click", function(e) {
    var myID = jQuery(this).attr("id");
    var idParts = myID.split("_");

    location.href = "show-content.php?id="+idParts[1];

});

答案 1 :(得分:1)

使用GET的快速示例,您也可以使用POST

https://www.tutorialspoint.com/php/php_get_post.htm

HTML

<h1 onclick="ContentPage(this)" value='.$id.' id="myid">'.$title.'</h1>

JAVASCRIPT

<script>
function ContentPage(elem){
    location.href = "show-content.php" + "?id=" + elem.value;
};
</script>

PHP

$id = $_GET["id"];

答案 2 :(得分:0)

你可以做的是使用URL中的javascript将id发送到这样的新页面:

<script>
function ContentPage(elem){
    location.href = "random-page.php?id=" + value;
};
</script>

然后在该页面上,从URL获取id,然后使用表单将其发布到您的实际页面。这样在实际页面上,您可以使用$ _POST来检索它,而不会显示在URL中。

随机page.php文件:

    $id = $_GET["id"];

    <html>
      <form id='form1' name='myform' action='show-content.php' method='POST' >
        <input type='text' value='<?php echo $id; ?>' name='id' hidden />
        <input type='submit' name='myform' />
      </form>


      <script type="text/javascript">
        document.getElementById('form1').submit(); // SUBMIT FORM
      </script>
    </html>

在show-content.php上,执行此操作以获取ID:

if(isset($_POST['myform'])){
  $id = $_POST['id'];
}

它有点复杂,但如果你想要一个没有AJAX等的快速解决方案,值得一试。