I think you are asking if a business type letter can be made this way. Sure. You would probably format the letter in HTML, and then echo it in php so that you can include variables drawn from your database.


First, generate a simple password like this

// simple six digit transfer code generation. Security requirement low
$len2 = 5;
while (strlen($password)<$len2+1)

You could use a simple form like this in the file

<form name = "member" action="adduser.php" method="post" >                    
<input name="given" type="text" value="<?php echo "$given"; ?>" />
<input name="userPwd" type="hidden" value="<?php echo "$password"; ?>" />
<input name="family" type="text" value="<?php echo "$family"; ?>" />
<input type="submit" name="Submit" value="Submit Form" />
</form >

to invite users to self register entering their given and family names in different text boxes. This will save you a great deal of entry work.

Next, you will have to filter the entry to prevent an injection attack and you will also probably need to process the input to standardise the entry of names to the database.
You could try something like this, which will modify the form entry data to produce a given name with the first letter in upper case and the remainder in lower case, and the family name all in upper case. The two modified entries are then joined to give a given and family name joined as a phrase.

// Filter the posted variables
$family = preg_replace("/[^A-Za-z0-9-]/", "", trim($_POST['family']));// filter everything but letters and numbers
$str = $family;
$family = strtoupper($str);//convert family name to upper case
$given = preg_replace("/[^A-Za-z0-9-]/", "", trim($_POST['given']));//filter given name/s
$given = ucwords($given);
$givfam = $given .' '. $family; //joining of given and family names
$password = $_POST['userPwd'];//generated user password posted through hidden ...

I think I agree with urtrivedi. Does your host server run a timeclock? Perhaps not.

You could try going into phpmyadmin and posting this. "SELECT * FROM products WHERE MATCH(product_name) AGAINST ('SOM')".
The output there might make things clearer for you.