如何将url id传递给不同的php页面?

时间:2016-05-28 08:18:37

标签: javascript php jquery ajax

现在我有一个问题,我无法获得页面的ID我已经做了多个房间有不同的ID,你可以选择你想要的房间。例如房间a = id 1和房间b = id 2

Here is picture let user select the room

一旦你选择了网址

  • 本地主机/ PME /主/ chatRoom.php?chatroomID = 1
  • 本地主机/ PME /主/ chatRoom.php?chatroomID = 2

我有一个gui房间页面我们称之为chatroom.php和多个文件的功能,但我已经使用

chatroomid = $_GET['chatroomID'];

此代码我已放置在我的所有函数php文件中,但是当我插入数据库时​​,值为0

  • insertmessage.php - 用于插入消息
  • loadmessage.php - 用于加载消息

如何将id传递给php函数文件?

这是我的ajax文件

    function submitChat(){
        var message = chatroom.message.value;
    if(chatroom.message.value == ''){
        alret('You didnt input any message');
        return;
    }

    var xmlhttp = new XMLHttpRequest();

    xmlhttp.onreadystatechange = function(){
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
            document.getElementById('inner').innerHTML = xmlhttp.responseText;
        }
    }
    var chatroomid = (location.search.match(/chatroomID=(\d+)/) || [])[0];  
    xmlhttp.open('GET','chatNew.php?&message='+ message +"&chatroomID="+chatroomid,true);
    xmlhttp.send();
    $('.chatroom-message-container').scrollTop($('.chatroom-message-container').get(0).scrollHeight);
}

$(document).ready(function(e){

    $.ajaxSetup({cache:false});
    setInterval(function(){$('#inner').load('chatMessage.php');}, 2000);

    $(".sendmessage-btn").click(function(){
        $("#area-message").val('');     
    });  
});

(function poll() {
    setTimeout(function(){
        $.ajax({
            url:"chatRoom.php", 
            success:function(data)
            {
                setValue(data.value);
            },
            dataType:"json",
            complete:poll
        });
    },
    30000
            );  
});

1 个答案:

答案 0 :(得分:1)

您是通过AJAX调用这些文件吗?

如果是这样,你仍然需要为这些调用添加参数 - 记住即使它们被加载到与原始调用相同的页面中,就PHP而言,它们是完全独立的请求。

例如,你有:

xhr.open("POST","insertmessage.php?chatroomID="+roomid,true);

您可以通过在数据属性中传递房间ID,或者通过在JS中读取查询字符串来获取房间ID:

var roomid = (location.search.match(/chatroomID=(\d+)/) || [])[0];
if( !roomid) throw new Error("Could not find room ID.");