I have a form to capture some data which should write the captured data to PHP variables which are then written to a template replacing the appropriate variables in the external file using str_replace array.
But…. for some reason the PHP opens the file, finds and replaces the first array item correctly but then replaces the remaining ones with NULL / Blank – as if the remaining form data is not being saved to the variables or something. Can anybody please tell me why the first array item is replaced properly but not the others and how to fix it?
[B]FORM CAPTURE PORTION OF CODE:
[code=html]<form id=”form1″ method=”post” action=””>
<div>What is the advertised name of your business?<input name=”busName” type=”text” value=”Enter Business Name” size=”40″ maxlength=”40″ style=”margin-left:10px;” /></div>
<hr />
<div>Enter the NUMERIC street number for your business:<input name=”busNume” type=”text” value=”Enter Numeric Address” size=”40″ maxlength=”40″ style=”margin-left:10px;” /></div>
<div>Please select street direction:<select name=”streetDir” size=”1″ style=”margin-left:10px;”>
<option>N</option>
<option>E</option>
<option>S</option>
<option>W</option>
<option> </option>
</select></div>
<div>Please enter the name of your street location:<input name=”busStreet” type=”text” value=”Enter Street Name” size=”40″ maxlength=”40″ style=”margin-left:10px;” /></div>
<div>Please select the street type:<select name=”streetType” size=”1″ style=”margin-left:10px;”>
<option>RD</option>
<option>ST</option>
<option>AVE</option>
</select></div>
<div>Enter your city:<input name=”busCity” type=”text” value=”Enter City Name” size=”40″ maxlength=”40″ style=”margin-left:10px;” /></div>
<div>Enter your state:<select name=”busState” size=”1″ style=”margin-left:10px;”>
<option>AL</option>
<option>AK</option>
<option>AZ</option>
</select></div>
<div>Enter your zip code:
<input name=”busZip” type=”text” value=”” size=”10″ maxlength=”5″ style=”margin-left:10px;” />
</div>
<hr />
<input type=”submit” value=”submit” >
</form>
[B]PHP Portion of code in the form capture document
[code=php]<?php
$busName = $_POST[“busName”];
$busNume = $POST[“busNume”];
$stDir = $POST[“streetDir”];
$busStreet = $POST[“busStreet”];
$stType = $POST[“streetType”];
$busCity = $POST[“busCity”];
$busState = $POST[“busState”];
$busZip = $POST[“busZip”];
?>
<?php
if (!empty($_POST))
{
$myFile = “template.php”;
$file_contents = file_get_contents($myFile);
$fh = fopen($myFile, ‘w’) or die(“can’t open file”);
$varibs = array(‘*bizname’,’*hn’,’*dir’,’*street’,’*stt’,’*busCity’,’*busState’,’*busZip’);
$details = array($busName,$busNume,$stDir,$busStreet,$stType,$busCity,$busState,$busZip);
$file_contents = str_replace($varibs,$details,$file_contents);
fwrite($fh, $file_contents);
fclose($fh);
}
?>
[B]Lastly – a snippet form the external template file (template.php) that is opened, searched and variables replaced in.
[code=html]<div id=”bname” class=”bdetail bold fs19″ itemprop=”name”>*bizname</div>
<span itemprop=”address” itemscope itemtype=”http://schema.org/PostalAddress”>
<div id=”baddr” class=”bdetail” itemprop=’streetAddress’>*hn *dir *street *stt</div>
<div id=”bregion” class=”bdetail” itemprop=’addressLocality’>*busCity, <span itemprop=’addressRegion’>*busState</span>*busZip <span itemprop=’postalCode’></span></div>