Ik ben bezig met het implementeren van een chat script in een site. Het gaat om phpFreeChat http://www.phpfreechat.net/. Nu is het zo dat de chatbox in een popup moet openen. Gebruikers gegevens wil ik via een sessie doorgeven aan de popup window. In FF gaat dit prima, maar in IE niet.
Nu heb ik uiteraard al het een en ander zelf uitgezocht. Het is namelijk een bekend probleem bij IE dat het gewoon een nieuwe sessie begint bij een nieuwe window. De variabelen gaan dus niet mee. Dit kan opgelost worden door de sessie ID mee te geven via GET. Op de volgende manier:
En dan in de popup window:
Deze oplossing heb ik hier gevonden: http://nl.php.net/manual/en/function.session-start.php#51520
Maar nu komt het verveldende. De chatbox werkt op een dusdanige manier dat er op de pagina waarop deze geladen word geen $_GET en $_POST werkt. Althans als deze gebruikt worden dan werkt de chat niet. Dit is een bekende issue, hierover word gesproken in hun officiele forum.
Mijn vraag is of ik dit op een andere manier kan oplossen? Ik hoop dat mijn uitleg duidelijk genoeg is, anders hoor ik het graag
Nu heb ik uiteraard al het een en ander zelf uitgezocht. Het is namelijk een bekend probleem bij IE dat het gewoon een nieuwe sessie begint bij een nieuwe window. De variabelen gaan dus niet mee. Dit kan opgelost worden door de sessie ID mee te geven via GET. Op de volgende manier:
code:
1
| <p><a href="" onclick="window.open('chatbox.php?sid=<?php echo session_id(); ?>', '700x500', 'toolbar=no, status=no, scrollbars=yes, location=no, menubar=no, directories=no, width=700, height=500');">Open chat</p> |
En dan in de popup window:
code:
1
2
| //session_id(strip_tags($_GET['sid'])); session_start(); |
Deze oplossing heb ik hier gevonden: http://nl.php.net/manual/en/function.session-start.php#51520
Maar nu komt het verveldende. De chatbox werkt op een dusdanige manier dat er op de pagina waarop deze geladen word geen $_GET en $_POST werkt. Althans als deze gebruikt worden dan werkt de chat niet. Dit is een bekende issue, hierover word gesproken in hun officiele forum.
Mijn vraag is of ik dit op een andere manier kan oplossen? Ik hoop dat mijn uitleg duidelijk genoeg is, anders hoor ik het graag