Here's a little problem I'm just discovering.

The issue has been brought to my attention by a couple of my clients when 
their mail() replies were suddenly turning up with zero variable content. 

I have several html/php contact/subscribe forms which return a mail reply to 
the web site owner. These have recently been turning up with none of the 
variables being picked up from the html form. The mail() library is still 
sending the reply correctly. All the material is hosted on commercial ISP web 
servers. A couple of them have clearly upgraded to PHP 5.x recently.

When a user fills out the form and presses the submit button the process page 
picks up the variables from the input and mails the output back to the site 
owner. Recently some of these replies have started to show up with the 
variables not being picked up. On looking through the official PHP 
documentation it would seem to be an issue of the change in the use of 
globals being turned off by default in 5.x onwards. I found an example of a 
function in the documentation to include that simulates globals being turned 
on but this does not seem to be working as expected.

While this is a very simple (and possibly only a bit irritating) problem the 
nightmare scenario for me is that I have a great many files (read several Ks) 
that rely on the same functionality, as the access to several MySql 
databases. I have very quickly tested a couple of these database constructs 
on one of the hosting sites where the mail() forms have failed and the 
database constructs do not work either. I really would prefer not to have to 
spend the whole of the next year re-writing all these files especially as 
this work is all voluntary.

Now if these very simple html form / php processing structures are now going 
to fail by not retrieving the variables what are we supposed to do to create 
web site contact forms or data entry pages for database access. I have tried 
constructing the forms as hybrid php/html and included the function noted 
above and this did not work either. In fact on one of the servers running the 
upgrade even logging on to the database construct froze at the first 
processing page. I think that either this <quote>
header("Location: adminhome.php");
exit(); </quote> failed to trigger or the "session_register();" failed.raised

Any suggestions advice would be most welcome.

I have included an example snippet of code from one of the mailback forms that 
has been working correctly for several years.

A snippet of example code--------
The Form:
Transitional//EN"    "";>
<html xmlns="";>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="css/formpage.css" type="text/css" />
<title>On-line Membership form</title>
<form method="post" action="psubscription1.php">
<h3>Join the Campaign</h3>
<legend>Contact Details</legend>
<li><label for="firstname">Name</label>
<input name="firstname" id="firstname" class="text" type="text" 
size="35" /></li>
<li><label for="address">Address</label>
<input name="address" id="address" class="text" type="text" size="35" /></li>
<li><label for="suburb">Suburb</label>
<input name="suburb" id="suburb" class="text" type="text" size="35" /></li>
<li><label for="city">City/Postcode</label>
<input name="city" id="city" class="text" type="text" size="35" /></li>
<li><label for="tel">Phone</label>
The processing done in <psubscription1.php>-----

$subject = "On-line Membership subscription";

$mailcontent="This is the reply from the on-line membership subscription form 
on the web-site.
Contact Details---------\n
Name:----- $firstname
Phone:------- $tel
mail($toaddress, $subject, $mailcontent, $additionalheaders);

All the best

PHP General Mailing List (
To unsubscribe, visit:

Reply via email to