Blank screen from /mysite/newsletters/admin/index.php

Hi All

I tried today to log in to the phpList dashboard for the first time since March 2020.

The admin page asked for login as usual but then just went to a blank screen. As an experiment I entered the wrong password and the page handled that correctly.

phpList is set to auto update and is now at version 3.5.5. Php on the webserver is set to auto update and is now on version 7.3.17.

Error_log told me that there was the line defining SEND_QUEUE_PROCESSING_REPORT in config.php had the wrong type of quotation marks which I fixed. No errors reported since then.

Any ideas would be appreciated.

Jeremy

In the absence of any ideas …

I backed up the database and uninstalled phpList using the server’s automatic installation system. This deleted all the phpList files and also the unique folder that they were loaded into. This also deleted the SQL database which had been used by phpList.

I started from scratch with a manual install of phpList version 3.5.5 from phplist.org, and unzipped this into a new “lists” subfolder of public_html.

I created a new database on the server and added the details to the config.php file in the config subfolder as per the manual installation instructions.

I then navigated in the browser to mysite/lists/admin/ and got BLANK SCREEN. This time not even a request to login.

Any ideas would be appreciated.

Thanks

@jorgon44 although the page displayed may be blank there might be some html behind it. View the page source then scroll to the end to see if there is any error message.

Hi duncanc

Yes there is html there.

The html created by admin/index.php has “body” of class “invisible”, which has style visibility:hidden.

Removing that class results in some display (left hand column and login button). However nothing much else appears and I suspect here are other parts of the page which also have the “hidden” style.

I noticed that phpList3ToBootstrap.js calls a function “removeClass” to remove the invisible class from “body” and the comment says that this happens “after loading”. I suspect that after the page loads, subject to security checks etc. the relevant parts of the page are supposed to display. Bearing in mind that my current page is a completely fresh installation the part which should display is that described in the manual, which would enable me to create the correct tables in the database.

However, it looks like something is preventing this happening. Perhaps phpList3ToBootstrap.js is not being loaded for some reason or there is a switch which is preventing the usual “unhiding” procedures from being implemented.

This will be too complicated for me to try to fix and I haven’t got the time to do this anyway - also any repair would be rubbed out on the first update.

I do not think I have any unusual arrangement. My site is hosted by Crazy Domains in Australia and I am using Google Chome, although MS Edge gives the same results - and as I said it worked perfectly before. It is very strange however that no one else has reported this issue.

Many thanks

Jeremy

Sorry, you did ask whether there was an error message in the html and I didn’t answer that.

I found this:-

<div class="note d533fc9acf638d1"><a href="./?page=home&amp;action=hidenote&amp;note=d533fc9acf638d1" class="hide ajaxable" title="Close this box">Hide</a><p>phpList will work without Javascript, but it will be easier to use if you switch it on.</p></div>

However I do have javascript “on”.

Maybe this is a clue.

@jorgon44 You can try enabling error reporting. In file admin/index.php line 116 should be

$systemTimer = new timer();

add this line after

error_reporting(-1);

That might show what is happening. Again, you might get a blank page but have to view source.

Hi duncanc

This did not add any error message to the html, however I did notice that the developer tools of both Chrome and Edge reported a 500 (Internal Server Error) when loading the page. This is reported irrespective of the error_reporting(-1); line being added.

Many thanks for your help

Jeremy

@jorgon44 Possibly the timezone has not been set but I would have expected that to have displayed an error. Try adding this to your config.php file at the end

date_default_timezone_set('America/Los_Angeles');

Don’t worry about not being in Los Angeles, this is only to see whether that is the problem.

Thanks.
Ironically its evening here, so this will have to wait till the morning!

Regards

Jeremy

Pleased to report that it fixed the problem!

Thanks very much duncanc, for your help. Hat off to you.

Jeremy

1 Like

@jorgon44 You can change the timezone to the correct one using this list https://www.php.net/manual/en/timezones.php
But I don’t know why this suddenly became a problem. Possibly your hosting company had changed something.