嗨,我正在尝试从url获取数据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星空
表收藏夹
栏:id(自动),id_usr(我们需要从url获取的data-id中的用户ID),id_post(如果设置了所有发布集),日期(日期)
谢谢。
最佳答案
您说您想要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']
。关于php - 从URL PHP获取用户ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19971185/