单击 html link 时设置会话?

Set session when clicking html link?

我一整天都在搜索和测试不同的解决方案,但没有成功。在下面的代码中,我希望(单击时)在我在 foreach 循环中回显的 "open" 链接上设置会话。我尝试使用 AJAX,但我是 AJAX 的新手,无法使用它。我知道如何使用 GET 来做到这一点,但它太冒险了,所以我欢迎你的建议,最好是例子。

$task_array = array_combine($task_id_unique, $task_status);
                foreach ($task_array as $card_nr => $card_status) { 
                ?>  
                    <table>
                      <tr>
                        <th>card nr.</th>       
                        <th>Status</th>       
                        </tr>
                        <td><?php 
                                        echo $card_nr;?></td>
                        <td>       
                   <?php 
                            if ($card_status == true) {     
                                    echo "<a href=workcard.php>Open</a>";
                            }
                            else echo "Done ". $card_nr;?></td>
                    </table>

你尝试了什么,什么不起作用,因为这看起来像你需要的...

HTML:

<a href="home.php?a=register">Register Now!</a>

PHP:

if(isset($_GET['a'])){

    $_SESSION['link']= 'whatever';

 }

如果您需要在不刷新页面的情况下执行此操作,请使用 AJAX。

您应该在点击 link 时使用 ajax:

$.ajax({
      url: 'test.php',
      dataType: 'json',
      type: 'post',
      data: {name: "value", name2: "value2" /* ... */},
      success: function (data) {

      }

     });

在您的 test.php 中,$_POST['name'] 等于 "value"。在那里你可以做任何你想做的事。

首先,在 "Open" link 上添加 html class 和自定义 html5 属性来存储您的卡数据。例如数据卡。

<a href="#" class="your-class" data-card="card_nr_value">Open</a>

接下来,为 link 创建 Onclick 事件以发送 ajax 请求。

$( document ).ready(function() {
    $(".your-class").click(function() {
        var card_nr = $(this).attr('data-card');
        $.ajax({
            url: "workcard.php",
            type: "POST",
            data: "card=" + card_nr
        }).done(function() {
            // do something
        });
        return false;
    });
});