Well, form1.htm is the name of the page. "form action" is what will do if something is done to the page. In this case, the action is "form1.php" and that means that when something is done to the page (e.g. something is submitted, etc), your computer will fetch "form1.php". On the page is not a normal, "submit button." Instead, it is an image, who's source is croll_peter.jpg. that is why it says, "image src= blah blah" (src stands for source) That image is named, "croll" and that is just an internal arbitrary name for that image, in case the coder wants to call on it later. The width of the image to be displayed is 100 pixels; the height is 150 pixels. The </form> just means "end of the form" A form is a spot on your webpage where an action is to be done (either a text box, submit button, etc.) All those thingys have to be in a form. Otherwise they won't do nothin.
Now, on form1.php (that's the page your form is going to "fetch"), there is the tags <? and ?> that tells the computer that there is going to be php stuff in there. $names is an arbitrary name. $blahblahblah could have been used just as easily. But in this case, the author decided that the variable (something that can be given any value) "$names" is to hold alot of things. $refrigerator = milk; menas the refrigerator just has milk. "array" means "alot of stuff". $refrigerator = array ("milk","juice","biscuits","catchup") means the fridge now has a bunch of different things. So, in the case of your example, the array, "croll" is to have, "Prof. Peter Croll" put into it)
Ultimately, your 2 pages consist of a first page, where you can input something, and your second page stores those things into an array. those will all be lost as soon as you quit your browser. That is where mySQL comes in :-)