Assembly, a free landing page template from 7uptheme.com


FULL DOCUMENTATION

  Open docs/documentation.html in any browser. It covers every section,
  every setting, both forms, images, colours and troubleshooting.

  This file is the short version.


QUICK START

  1. Open fillup.php in a plain text editor. Notepad is fine, Word is not.
  2. Find $TO at the top and put your own email address there.
  3. Upload the whole folder to your web host, keeping the structure.

  That is it. Both forms now work.

  Then send yourself one test enquiry and check three things:

    1. the email arrives, and is not in your spam folder
    2. storage/enquiries-2026-01.csv appeared and has your test in it
    3. typing that CSV address into a browser gives 403 or 404,
       never a download

  Item 3 matters. That folder holds your customers' names, phone numbers
  and addresses. Check it before you take real enquiries. Section 9 of the
  documentation explains what to do if the file downloads.


WHAT YOU NEED

  A host that runs PHP 7.4 or newer, which is nearly all of them. Nothing
  to install, no Composer, no libraries, no account anywhere. The page
  itself is plain HTML and CSS and works anywhere; only the forms need PHP.


WHAT IS IN THE FOLDER

  index.html        the page itself
  fillup.php        your settings and wording. The file to edit.
  send.php          receives both forms, checks them, saves them, emails them
  css/style.css     all styling, with every colour set at the top
  js/main.js        one file, no libraries
  images/           every picture on the page
  storage/          where enquiries are saved. Read the note inside.
  docs/             the full documentation
  README.txt        this file


THE PAGE, IN ORDER

   1. Header, sticky, with a phone number
   2. Hero
   3. Quick form, overlapping the hero
   4. Trust strip, four short claims
   5. Services, six cards
   6. Where we work, three alternating rows
   7. Parallax band
   8. How a visit works, four steps
   9. What is included, a comparison table
  10. Reviews, three quotes
  11. Gallery, nine photographs with a popup
  12. The full enquiry form
  13. Questions
  14. Closing call to action
  15. Footer

  Each one is marked in index.html with a comment like
  <!-- ===== 5. Services ===== --> so you can find it.


TWO FORMS, ONE HANDLER

  The short form in the hero and the long form near the bottom both post to
  send.php, and both write to the same CSV. The short one just leaves most
  fields empty. The "form" column in the CSV tells you which one it was.

  A phone number is required. An email address is optional, because a
  service visit is usually arranged by phone. To swap that round, section 6
  of the documentation shows the two blocks to move.


THE THREE THINGS PEOPLE GET WRONG

  1. Renaming a service in only some places.
     A job name appears in three lists: the hero form's <select>, the main
     form's <select>, and the data-service attribute on the plan buttons.
     Miss one and a button stops picking the right option, with no error to
     tell you.

  2. Deleting the hidden fields in a form.
     The field named "website" is a spam honeypot and the "ts" field is a
     timing check. Nobody ever sees them. Remove them and your spam rises
     sharply. Both forms have their own pair.

  3. Swapping an image without updating its size.
     Keep the width and height attributes on the <img> tag matching the
     real file, or the page jumps about while it loads.


IF THE EMAIL DOES NOT ARRIVE

  The enquiry is already saved in storage/, so nothing is lost.

  PHP's mail function is unreliable on some hosts. Fill in the $SMTP block
  at the bottom of fillup.php and change 'enabled' to true. There is a long
  note above that block explaining every line. The two people get wrong:

    'user' is your FULL email address, including the @ part.
    'pass' is that mailbox's password. Gmail, Outlook and Yahoo need an
    "app password" made in your account security settings, not your
    normal one.

  Set $FROM to the same address as 'user', or your provider may refuse
  to send.


NO PHP ON YOUR HOST?

  Delete send.php, fillup.php and storage/, then point both forms' action
  at a hosted form service instead. The rest of the page keeps working.


IMAGES

  The photographs supplied with this template are placeholders and are NOT
  covered by the licence. Replace them with your own before you publish.


LICENCE

  Use it for personal, commercial or client work, on as many sites as you
  like. Do not resell or redistribute the template files themselves.

  Full terms: https://www.7uptheme.com/license/


SUPPORT

  docs/documentation.html is the manual. The how-to-use page and the FAQ
  on the site cover the rest. If you would rather we set it up for you,
  tell us what you need: https://www.7uptheme.com/contact/
