I'm building a simple tool that will assemble a string based on HTML form input.
However, two variables are not being pulled into the string as expected.
Here is the HTML form:
<form action="stringmaker.php" method="post">
<label for="subline">Subject line:</label>
<input type="text" id="subline" name="subline" size="30" /><br /><br />
<label for="emailtype">Email Type</label>
<select name="emailtype">
<option value="advocacy" selected>Advocacy</option>
<option value="fundraising">Fundraising</option>
<option value="newsletter">Newsletter</option>
<option value="event">Event</option>
<option value="cultivation">Cultivation</option>
</select><br /><br />
<label for="campaign">Campaign</label>
<select name="campaign">
<option value="campaign1" selected>Campaign 1</option>
<option value="campaign2" selected>Campaign 2</option>
<option value="campaign3" selected>Campaign 3</option>
<option value="campaign4" selected>Campaign 3</option>
</select>
<h3>Audience Information</h3>
<label for="audiencetype">Audience Type</label>
<select name="audiencetype">
<option value="noaudiencetype" selected>None</option>
<option value="interestgroup">Interest Group</option>
<option value="donors">Donors</option>
<option value="actiontakers">Action-Takers</option>
</select><br /><br />
<label for="geo">Audience Geography</label>
<select name="geo">
<option value="national" selected>National</option>
<option value="state">State</option>
<option value="district">District</option>
<option value="city">City</option>
</select><br /><br />
<label for="statename">State</label>
<select name="statename">
<option value="ak" selected>Alaska</option>
<option value="al">Alabama</option>
<option value="az">Arizona</option>
<option value="dc">Washington, D.C.</option>
</select><br /><br />
<input type="submit" value="Go" name="submit" />
And here is the PHP:
<?php
$subline = $_POST['subline'];
$emailtype = $_POST['emailtype'];
$campaign = $_POST['campaign'];
$audiencetype = $_POST['audiencetype'];
$geo = $_POST['geo'];
$statename = $_POST['statename'];
echo "<p>Here's your string!<br>";
echo $subline,"|",$emailtype,"|",$campaign,"|",$audiencetype,"|",$geo,"|",$statename;
?>
The output is missing the first ($subline) and fifth ($geo) variables, and I can't figure out what is different with those.
Thanks for your help.
print_r($_POST);show us the resultsecho $subline."|".$emailtype."|".$campaign."|".$audiencetype."|".$geo."|".$statename;dots are to concatenate, not commas. Plus, your question's code is missing a closing</form>tag.echoallows multiple arguments, and it prints them all.