Software, your way.
burger menu icon
WillMaster

WillMaster > LibraryManaging Website Forms

FREE! Coding tips, tricks, and treasures.

Possibilities weekly ezine

Get the weekly email website developers read:

 

Your email address

name@example.com
YES! Send Possibilities every week!

Inserting File Into Form Field

Sometimes it is desirable to insert the content of a file into a form field. The file may be easier to update than changing the form every time.

Examples are an often-changed price to insert into a hidden field and a letter template file to insert into a textarea field.

I'll use both examples in this article. I'll show you how to insert the content of the files into the form fields with SSI and with PHP. Following those will be note about inserting the content with JavaScript.

The Files

For the example price file, let's name it price.txt and have it contain:

14.57

For the letter file, let's name it letter.txt and have it contain:

Dear __________

Thank you for attending the event.

Sincerely,

__________

For these instructions, let's put both files into the document root on the server. (The document root directory is the directory where the domain's main or index file is located.)

The Form

Let's use this form for the examples:

<form>
<input type="hidden" value="[INSERTA]" />
<textarea>[INSERTB]</textarea>
<input type="submit" />
</form>

Notice the [INSERTA] and [INSERTB] placeholders in the form code. In the instructions, the placeholders will be replaced with code to insert the contents of the price file and the contents of the letter file, respectively.

Using SSI to Insert Files Into Form Fields

SSI pages generally require a .shtml file name extension. The page with the form might be named form.shtml, for example.

To insert the content of the files into the form fields, replace [INSERTA] with:

<!--#include virtual="/price.txt"-->

and replace [INSERTB] with:

<!--#include virtual="/letter.txt"-->

If the files are not in the document root, change the location accordingly. SSI locations must be server locations; http://... URLs can not be used.

Using PHP to Insert Files Into Form Fields

PHP pages generally require a .php file name extension. The page with the form might be named form.php, for example.

To insert the content of the files into the form fields, replace [INSERTA] with:

<?php readfile($_SERVER['DOCUMENT_ROOT']."/price.txt") ?>

and replace [INSERTB] with:

<?php readfile($_SERVER['DOCUMENT_ROOT']."/letter.txt") ?>

If the files are not in the document root, change the location accordingly.

Some PHP installations are configured to allow http://... URLs in the readfile() function call. If yours does and you wish to use it, replace everything between the parentheses with the URL of the file between quotes. Example:

<?php readfile("http://example.com/price.txt") ?>

Using JavaScript to Insert Files Into Form Fields

Using JavaScript is not as straightforward as using SSI and PHP.

The entire form field needs to be imported from the external file, not just the field value. The content of the file to be imported must first be converted into JavaScript because only JavaScript can be imported. (The text to JavaScript converter may be used.)

This is generally more work than would be saved by not having to update the form itself when the values change.

However, it can be done. JavaScript-ize the entire form field, save it to a file, then import it with something like this:

<script
   type="text/javascript" 
   src="/file.js">
</script>

To Summarize

Inserting the content of a file into a form field as its value is fairly straight-forward with SSI and with PHP. Use the appropriate code to insert it.

Because both SSI and PHP code is inserted into the file before the file is sent to the browser, their tags can be used within other HTML tags. The SSI and PHP code tags are removed before the page is sent to the browser.

JavaScript, on the other hand, is run after the HTML code is loaded into the browser. For that reason, SCRIPT (or other) tags can not be inside HTML tags. For that reason, inserting with JavaScript requires inserting the entire form field.

Will Bontrager

Was this article helpful to you?
(anonymous form)

Support This Website

Some of our support is from people like you who see the value of all that's offered for FREE at this website.

"Yes, let me contribute."

Amount (USD):

Tap to Choose
Contribution
Method

All information in WillMaster Library articles is presented AS-IS.

We only suggest and recommend what we believe is of value. As remuneration for the time and research involved to provide quality links, we generally use affiliate links when we can. Whenever we link to something not our own, you should assume they are affiliate links or that we benefit in some way.

How Can We Help You? balloons
How Can We Help You?
bullet Custom Programming
bullet Ready-Made Software
bullet Technical Support
bullet Possibilities Newsletter
bullet Website "How-To" Info
bullet Useful Information List

© 1998-2001 William and Mari Bontrager
© 2001-2011 Bontrager Connection, LLC
© 2011-2024 Will Bontrager Software LLC