By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,837 Members | 1,206 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,837 IT Pros & Developers. It's quick & easy.

PHP Web Form Script Problem

P: n/a
Hello,

I have written the following HTML Form:

<html><head><title>Survey</title></head>
<body bgcolor="black" text="white" link="#f6b580" vlink="#c0c0ff">
<img src="logo.gif" width="324" height="104"alt="logo.gif (15760
bytes)"><br><br>

<table border="0" cellpadding="0" cellspacing="0" width="307" align="left">
<tr>
<td background="tableback.gif" height="25"><p align="center"><big>Game
Submission</big><br></td>
</tr>
</table>

<tr>
<td>
<br><br><br>
<FORM METHOD="POST" ACTION="sendgamesub.php"
enctype="text/plain">

<b>Game Title</b>:<br> <INPUT TYPE="text" NAME="title" SIZE="35"><br><br>

<b>Game Master</b>:<br> <INPUT TYPE="text" NAME="game_master"
SIZE="35"><br><br>

<b>E-Mail</b>:<br> <INPUT TYPE="text" NAME="email" SIZE="35"><br><br>

<b>Game System</b>:<br> <INPUT TYPE="text" NAME="game_system"
size="35"><br><br>

Standard Rules <INPUT TYPE="radio" NAME="rules" VALUE="Standard_Rules">

Modified Rules <INPUT TYPE="radio" NAME="rules"
VALUE="Modified_Rules"><br><br>

<b>Game Type</b>:<br>
CCG <input type="radio" name="type" value="CCG"><br>
Miniatures <input type="radio" name="type" value="mini"><br>
RPG <input type="radio" name="type" value="rpg"><br>
LARP <input type="radio" name="type" value="larp"><br>
Board <input type="radio" name="type" value="board"><br><br>
<b>Maturity Rating</b>:<br>
PG <INPUT TYPE="radio" NAME="rating" VALUE="PG"><br>
AA <INPUT TYPE="radio" NAME="rating" VALUE="AA"> <br>
R <INPUT TYPE="radio" NAME="rating" VALUE="R"> <br><br>

<b>Number of Players</b>:<br> Minimum:<input type="text" name="minplayers"
size="2"> Maximum:<input type="text" name="maxplayers" size="2"><br><br>

<b>Game Description:</b><br>
What is your game about? What sort of characters are <br> available? Brief
synopsis of plot.
Limit to 5-6 sentences <br>
<TEXTAREA NAME="Game_Description" ROWS=6 COLS=35></TEXTAREA> <br><br>

<b>Anything else we should know about?:</b><br>
<TEXTAREA NAME="Additional_Info" ROWS=6 COLS=35></TEXTAREA> <br><br>

<INPUT TYPE="image" VALUE="Send" SRC="submit.gif" HEIGHT="33" WIDTH="159"
BORDER=0 ALT="picture button">

</td>
</tr>

<table border="0" width="307" align="left">
<tr>
<td align=center><br><br><h6> <a href="main.html">Home</a> | <a
href="location.html">Location</a> | <a href="games.html">Games</a> | <a
href="register.html">Register</a> | <a href="survey.html">Survey</a> | <a
href="contact.html">Contact</a>
</h6>
<h6> <br> </td>
</tr>
</table></div></body></FORM></html>
I have also written the following PHP script:

<?php
$to = my*****@uoguelph.ca;
$title = ($_POST['title']);
$game_master = ($_POST['game_master']);
$email = ($_POST['email']);
$game_system = ($_POST['game_system']);
$rules = ($_POST['rules']);
$type = ($_POST['type']);
$rating = ($_POST['rating']);
$minplayers = ($_POST['minplayers']);
$maxplayers = ($_POST['maxplayers']);
$Game_Description = ($_POST['Game_Description']);
$Additional_Info = ($_POST['Additional_Info']);
$sub = "Game Submission";
$headers .= "From: " .$game_master."<".$email.">\n";
$headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
$mes = "Title: ".$title."
Game Master: ".$game_master."
E-Mail: ".$email."
Game System: ".$game_system."
Rules: ".$rules."
Type: ".$type."
Rating: ".$rating."
Min. Players: ".$minplayers."
Max. Players: ".$maxplayers."
Game Description: ".$Game_Description."
Additional Info: ".$Additional_Info."";

mail($to, $sub, $mes, $headers);
?>

The script isn't working properly. It sends the email but there is no data
in the email. For instance it doesn't send the Game Master or the Rating.
I can't seem to see where the problem is coming from. Can somebody point
out the problem. From what I can tell there doesn't seem to be any syntax
errors. I am fairly new to PHP so I could be mistaken.

Regards,
Jeff
Jul 17 '05 #1
Share this Question
Share on Google+
6 Replies


P: n/a
Jeff Dunnett wrote:
Hello,

I have written the following HTML Form:

<html><head><title>Survey</title></head>
<body bgcolor="black" text="white" link="#f6b580" vlink="#c0c0ff">
<img src="logo.gif" width="324" height="104"alt="logo.gif (15760
bytes)"><br><br>

<table border="0" cellpadding="0" cellspacing="0" width="307" align="left">
<tr>
<td background="tableback.gif" height="25"><p align="center"><big>Game
Submission</big><br></td>
</tr>
</table>

<tr>
<td>
<br><br><br>
<FORM METHOD="POST" ACTION="sendgamesub.php"
enctype="text/plain">

<b>Game Title</b>:<br> <INPUT TYPE="text" NAME="title" SIZE="35"><br><br>

<b>Game Master</b>:<br> <INPUT TYPE="text" NAME="game_master"
SIZE="35"><br><br>

<b>E-Mail</b>:<br> <INPUT TYPE="text" NAME="email" SIZE="35"><br><br>

<b>Game System</b>:<br> <INPUT TYPE="text" NAME="game_system"
size="35"><br><br>

Standard Rules <INPUT TYPE="radio" NAME="rules" VALUE="Standard_Rules">

Modified Rules <INPUT TYPE="radio" NAME="rules"
VALUE="Modified_Rules"><br><br>

<b>Game Type</b>:<br>
CCG <input type="radio" name="type" value="CCG"><br>
Miniatures <input type="radio" name="type" value="mini"><br>
RPG <input type="radio" name="type" value="rpg"><br>
LARP <input type="radio" name="type" value="larp"><br>
Board <input type="radio" name="type" value="board"><br><br>
<b>Maturity Rating</b>:<br>
PG <INPUT TYPE="radio" NAME="rating" VALUE="PG"><br>
AA <INPUT TYPE="radio" NAME="rating" VALUE="AA"> <br>
R <INPUT TYPE="radio" NAME="rating" VALUE="R"> <br><br>

<b>Number of Players</b>:<br> Minimum:<input type="text" name="minplayers"
size="2"> Maximum:<input type="text" name="maxplayers" size="2"><br><br>

<b>Game Description:</b><br>
What is your game about? What sort of characters are <br> available? Brief
synopsis of plot.
Limit to 5-6 sentences <br>
<TEXTAREA NAME="Game_Description" ROWS=6 COLS=35></TEXTAREA> <br><br>

<b>Anything else we should know about?:</b><br>
<TEXTAREA NAME="Additional_Info" ROWS=6 COLS=35></TEXTAREA> <br><br>

<INPUT TYPE="image" VALUE="Send" SRC="submit.gif" HEIGHT="33" WIDTH="159"
BORDER=0 ALT="picture button">

</td>
</tr>

<table border="0" width="307" align="left">
<tr>
<td align=center><br><br><h6> <a href="main.html">Home</a> | <a
href="location.html">Location</a> | <a href="games.html">Games</a> | <a
href="register.html">Register</a> | <a href="survey.html">Survey</a> | <a
href="contact.html">Contact</a>
</h6>
<h6> <br> </td>
</tr>
</table></div></body></FORM></html>
I have also written the following PHP script:

<?php
$to = my*****@uoguelph.ca;
$title = ($_POST['title']);
$game_master = ($_POST['game_master']);
$email = ($_POST['email']);
$game_system = ($_POST['game_system']);
$rules = ($_POST['rules']);
$type = ($_POST['type']);
$rating = ($_POST['rating']);
$minplayers = ($_POST['minplayers']);
$maxplayers = ($_POST['maxplayers']);
$Game_Description = ($_POST['Game_Description']);
$Additional_Info = ($_POST['Additional_Info']);
$sub = "Game Submission";
$headers .= "From: " .$game_master."<".$email.">\n";
$headers .= "Content-Type: text/plain; charset=iso-8859-1\n";
$mes = "Title: ".$title."
Game Master: ".$game_master."
E-Mail: ".$email."
Game System: ".$game_system."
Rules: ".$rules."
Type: ".$type."
Rating: ".$rating."
Min. Players: ".$minplayers."
Max. Players: ".$maxplayers."
Game Description: ".$Game_Description."
Additional Info: ".$Additional_Info."";

mail($to, $sub, $mes, $headers);
?>

The script isn't working properly. It sends the email but there is no data
in the email. For instance it doesn't send the Game Master or the Rating.
I can't seem to see where the problem is coming from. Can somebody point
out the problem. From what I can tell there doesn't seem to be any syntax
errors. I am fairly new to PHP so I could be mistaken.

Regards,
Jeff


Not that it has anything to do with the problem, but you should be
single-quoting the email address:

$to = 'my*****@uoguelph.ca';

In fact, with PHP 5, the script aborted with this error:

PHP Parse error: syntax error, unexpected '@' in
D:\\htdocs\\sendgamesub.php on line 2, referer: http://localhost/test.html
You don't need the parens around all these:

$var = $_POST[...];
As for the empty content, it started working for me when I dropped the
'enctype="text/plain"' from the <form ...> element.
You should consider using an HTML validator. Firefox was a Tidy
extensions that lists 15 warnings for the page as listed above.

NM

--
convert UPPERCASE NUMBER to a numeral to reply
Jul 17 '05 #2

P: n/a
NM,

Thank you very much for your help. My problems are solved.

Regards,
Jeff
Jul 17 '05 #3

P: n/a
I noticed that Message-ID: <11*************@corp.supernews.com> from
News Me contained the following:
You don't need the parens around all these:

$var = $_POST[...];


In fact he could have saved the bother of writing those lines at all
e.g.

$headers .= "From: " .$_POST['game_master']."<".$_POST['email'].">\n";

--
Geoff Berrow (put thecat out to email)
It's only Usenet, no one dies.
My opinions, not the committee's, mine.
Simple RFDs http://www.ckdog.co.uk/rfdmaker/
Jul 17 '05 #4

P: n/a
Geoff Berrow wrote:
I noticed that Message-ID: <11*************@corp.supernews.com> from
News Me contained the following:
You don't need the parens around all these:

$var = $_POST[...];


In fact he could have saved the bother of writing those lines at all
e.g.

$headers .= "From: " .$_POST['game_master']."<".$_POST['email'].">\n";


NO!!!

Never *ever* put unvalidated content into your email headers.

Suppose I posted some data to your site with "game_master" set to something
like this:

no****@nowhere.com%0ATo:%2*************@ilikespam. org%0ASubject:%20V14GR4...

Insecure scripts like yours make things really easy for spammers. Think
about it.

--
phil [dot] ronan @ virgin [dot] net
http://vzone.virgin.net/phil.ronan/
Jul 17 '05 #5

P: n/a
Geoff Berrow wrote:
$headers .= "From: " .$_POST['game_master']."<".$_POST['email'].">\n";


Ugly.

Better:
$headers .= "From: {$_POST[game_master]} <{$_POST[email]}>\n";

--
Toby A Inkster BSc (Hons) ARCS
Contact Me ~ http://tobyinkster.co.uk/contact

Jul 17 '05 #6

P: n/a
I noticed that Message-ID:
<pa****************************@tobyinkster.co.u k> from Toby Inkster
contained the following:
$headers .= "From: " .$_POST['game_master']."<".$_POST['email'].">\n";


Ugly.

Better:
$headers .= "From: {$_POST[game_master]} <{$_POST[email]}>\n";


The OP had already used the concatenation operator and so was familiar
with it. When I am teaching PHP, I find my students struggle with
syntax. Reducing the amount of things to remember helps.
--
Geoff Berrow (put thecat out to email)
It's only Usenet, no one dies.
My opinions, not the committee's, mine.
Simple RFDs http://www.ckdog.co.uk/rfdmaker/
Jul 17 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.