【问题标题】:Get user id from url php从 url php 获取用户 ID
【发布时间】:2013-11-14 06:36:38
【问题描述】:

您好,我正在尝试从 url 获取 data-id 并使用此 id 插入数据库,以制作喜欢不喜欢的系统。

data-id="1" 它是用户 ID。

链接如下:

<a data-fav="<?php echo $_SESSION['LANG']['favorite']; ?>" data-fav-active="<?php echo $_SESSION['LANG']['favorited']; ?>" class="favorite favoriteIcon" data="<?php echo $key['id']; ?>" data-id="<?php echo $key['user_id']; ?>" data-token="<?php echo $key['token_id']; ?>">

PHP 源代码

更多信息:链接在用户写的消息中,当有人点击喜欢消息时,它会转到函数调用收藏夹

public function favorites() {
    /*
     * ----------------------------------------------------------------------------
     *  Add, Remove Favorites
     * @$active  :"Check to see if the user has already added prior to Favourites"
     * @verified : "Check if the publication exists"
     * ----------------------------------------------------------------------------
     */

    $active   = self :: favsUser( null, $_SESSION['authenticated'], $_POST['id'] );
    $verified = self :: checkPost( $_POST['id'], $_POST['token'] ) ? 1 : 0;


    if( $verified == 1 && empty( $active ) )
    {
        $_idPost  = (int)$_POST['id'];
        $_sql     = $this->db->prepare("SELECT user FROM posts WHERE id = :id");
        $_sql->execute( array(  
                            ':id' => $_idPost 
                            ) 
                        );
        $response = $_sql->fetch( PDO::FETCH_OBJ );

        /** If not exists, insert new record  **/
        $sql = $this->db->prepare("INSERT INTO favorites VALUES( null, ?, ?, '1', '".$this->_dateNow."' );");
        $sql->bindValue( 1, $_GET['data-id'], PDO::PARAM_INT );
        $sql->bindValue( 2, $_POST['id'], PDO::PARAM_INT );
        $sql->execute();
        if( $sql->rowCount() !=  0 ) {

            if( $response->user != $_SESSION['authenticated'] ) {
                /* Send Interaction */
            self :: sendInteraction( $response->user, $_SESSION['authenticated'], $_idPost, 3 );    
            }
            return( 1 );
        }

    }

    if( $verified == 1 && !empty( $active ) && $active[0]['status'] == '1' )
    {
        /** If exists, update status to Delete/Trash  **/
        $sql = $this->db->prepare("UPDATE favorites SET status = '0' WHERE id_usr = ? && id_favorite = ? ");
        $sql->bindValue( 1, $_SESSION['authenticated'], PDO::PARAM_INT );
        $sql->bindValue( 2, $_POST['id'], PDO::PARAM_INT );
        $sql->execute();
        if( $sql->rowCount() !=  0 )
        {
            return( 2 );
        }
    }
    else if ( $verified == 1 && !empty( $active ) && $active[0]['status'] == '0' )
        {
            /** If exists and status == Delete/Trash, update status to Active  **/
            $sql = $this->db->prepare("UPDATE favorites SET status = '1' WHERE id_usr = ? && id_favorite = ? ");
            $sql->bindValue( 1, $_SESSION['authenticated'], PDO::PARAM_INT );
            $sql->bindValue( 2, $_POST['id'], PDO::PARAM_INT );
            $sql->execute();
        if( $sql->rowCount() !=  0 )
        {
            return( 3 );
        }
    }
        return false;
        $this->db = null;

   }   

MYSQL 明星

收藏夹

COLUMNS:id(自动),id_usr(我们需要从 url 获取的 data-id 中的用户 id),id_post(如果帖子全部设置),日期(日期)

谢谢。

【问题讨论】:

  • 您必须在 URL 中传递数据 ID。具有将此值附加到 URL 的 jQuery 事件或自定义 javascript。如果您正在执行 POST,那么我建议将其作为表单中的隐藏值。

标签: php mysql sql json


【解决方案1】:

您说您想要 URL 参数 data-id,但您从未在代码中引用它。只需使用$_GET['data-id']

编辑:现在我正在更仔细地查看您的问题,我认为您实际上是在问一个关于使用 AJAX 使用 JavaScript 执行此操作的问题。如果是这种情况,我强烈建议您使用 jQuery。然后,您只需使用类似于我在this jsFiddle 的内容来检索 id。

如果您希望链接实际用作可点击链接,您需要像这样进行更改:

<a data-fav="like" data-block-active="like" class="block" data="21" data-id="1" data-token="e6fcbe9adff7764872b8b9a571848084e36cf72a" href="?data-id=1">foo bar text goes here...</a>

然后,您实际上可以在 PHP 代码中使用 $_GET['data-id']

【讨论】:

  • 没有 URL 或 href 属性,所以我认为不会有 GET 参数。
  • 我试过这样: $sql->bindValue( 1, $_GET['data-id'], PDO::PARAM_INT ); $sql->bindValue(2, $_POST['id'], PDO::PARAM_INT);没用
  • 我只需要获取这个 id 并将其放入数据库中,即使使用 jquery 我也必须获取它。
  • 我想告诉你
  • @user2990788:我放弃了。 $HTTP_GET_VARS 已弃用。您没有提供必要的信息来证明您曾经将用户发送到以 data-id 为参数的页面。祝你好运。
【解决方案2】:

当您实际点击“锚标记链接”时,您看到的 url 是什么?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多