I am reviewing a web page that uses javascript, php, ajax and Yii framework that with php5 worked correctly, but having updated to php7 no longer works.
I comment the details belowk:
In the screen I am reviewing, MyWebPage/Folder1/protected/views/applications/file1.php is executed which assigns to the variable $load this value:
$load=‘protected/views/aplicaciones/cargas/file2.php’;
At the end of this php there is a block of code where it call several javascript libraries and then assign value to various dynamic variables, using this code:
So this php calls the file3.js javascript using this code:
This javascript theoretically calls file2.php, using this code:
function requestData()
{
waitingDialog({});
$.ajax({
data: "startTime="+startTime+"&endTime="+endTime+"&period="+period+"&db="+db+"",
type: "POST",
url: loadpage,
datatype: "json",
success: function(data)
{
closeWaitingDialog();
var json= eval(data);
// Process and paint json
// ...
},
error: function()
{
closeWaitingDialog({});
},
cache: false
});
With Firebug I see that loadpage = protectec/views/aplicaciones/cargas/file2.php
that looks right.
However, the problem is that after the line
var json= eval(data);
the value of json is undefined and instead of this it should contain a series of data that should be displayed on the page. These data are obtained by protectec/views/aplicaciones/cargas/file2.php, when it is executed.
From the tests I have done with Firebug the problem could be that protectec/views/applications/loads/file2.php is not being executed now, but using php 5 it is axecuted and json has correct data to show.
Any comment or suggestion is appreciated.