Skip to content
View in the app

A better way to browse. Learn more.

Web Designer Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

binarymonkey

Members
  • Joined

  • Last visited

  1. Hi all, I am thinking about writing a system in PHP for my own use that will allow me to produce a quote, proposal and terms bound together in a single PDF. Possibly extending in future for invoices, credit notes and statements, etc. All of those documents would follow the same design style, and the same every time in terms of structure (except for rare occasions). At the moment I copy and paste my Word files, edit and save as PDF. Whilst this works, it is time consuming and I find myself repeating the same thing over and over. Clearly, it would be a big time saver to have a form that asks set questions and then have the documents created in seconds using PHP. The PDF would be created based on the options I chose and using the data I input. I could even make it e-mail the document directly to the customer or post it as a message in Basecamp using their API, etc. The base design templates I could create in Illustrator and pull in when generating the PDF files to maintain consistent styling and reducing the need for complex PHP calls for drawing lines and shapes (would just be text). You can see how that would save a lot of time. Now, before I start spending rakes of time looking at different ways to do this, I thought I would ask to see if anybody is doing something similar or has any useful ideas I might find interesting! Much obliged, Matthew
  2. binarymonkey replied to bezi's topic in Frontend
    Hi bezi, This is a common problem and is probably due to mixing character sets and encodings. For international compatibility, I prefer to use the Unicode character set, with the UTF-8 encoding. You should read this excellent post carefully: http://www.joelonsoftware.com/articles/Unicode.html If you don't understand it, please go back and read it again! It took me a couple of times to get it myself. To make your project work, you need to ensure everything is using the same charset and encoding. This post helps with that: http://www.ibm.com/developerworks/library/...code/index.html (Particularly the 'Programming considerations' section). I hope this solves your problem.
  3. To be #1 for 'logo design', you would need thousands and thousands of links from other websites to your website. This is the number one mistake that people make when trying to optimise for search. Whilst it is technically possible to acheive a #1 ranking for a competitive term, the amount of work and effort you would need to invest would take you a very long time. And rightly so - Google will generally reward you for genuine work and effort. There is no free ticket to the top. You could use the AdWords system to buy your way to the top, but the same principle applies here really. If you target very competitive terms like this then you will be paying a huge amount per click, and you will burn through thousands of dollars in just a couple of days. What's worse is that your conversion to sales on this will probably be quite low - you must find a niche and get traffic to your site that is actually looking for the exact thing you are offering. The first thing you can do is target by your physical geographic location. Again, you can't be too broad - so do it by county or town. E.g. 'logo design watford'. You just reduced the amount of competition (and therefore difficulty) by an order of magnitude. Now, you might still have some difficulty, even with that - so I would recommend focusing on 2 or 3 specific industries where you have done work before. E.g. If you have done lots of logos for restaurants, try this: 'restaurant logo design watford' This is going to be much easier to target, and if you get traffic from this search your visitors are very likely to convert into customers, since you offer precisely the product they just searched for (and your portfolio will back that up). There are lots of other factors involved, but this is one of the main fundamental decisions you have to get right before investing time in SEO. Also, using AdWords on precise 'long tail' phrases like that will be far cheaper and yield much higher sales - so you could use that to start building up customers who might link to you after you do the work. Hope that helps. A great website I always use is SEOmoz - check it out http://www.seomoz.org/
  4. Ade, You are right. That is why I went to the trouble of giving quite a lengthy example! In the end it will be the most efficient solution, and at least Seth will have learnt something! Matthew
  5. You don't need a CMS for such a simple issue. The page URI will be standard as far as Google Analytics is concerned so you can track like that. Or you can write some PHP to track views.
  6. You would use PHP to change the XHTML output based on the values stored in the database for that person. I assume that each page will be pretty much the same except for a few parts which are variable (e.g. the persons name / photo). This is the standard way for most dynamic sites. If you want radically different XHTML for each person, then you will need to make sure you have enough configurable values in the database to facilitate this - or you would use static XHTML files, but that would create a great deal of work and would likely end up costing too much to be viable! Matthew
  7. Oh yeah, also I would add a qualifier to the URI to prevent problems if you use that domain for any other purpose. E.g. http://www.yoursite.com/profile/testperson Apache directive then becomes: RewriteEngine On RewriteRule ^profile/([-a-z]+)$ person.php?person=$1 [NC,Last] That way if you want to add pages to your site like http://www.yoursite.com/links they won't be sent to person.php!
  8. Hi Seth, I would recommend doing this with a basic MySQL database of names (with any other info you want to attach to each name), Apache's mod_rewrite module and PHP 4/5. Easy to do this really, (assuming you have MySQL setup with PHP, and mod_rewrite enabled with Apache): 1. Create a MySQL database and then create a table with the appropriate fields. You can use phpMyAdmin for this, which is very easy to setup and use and has good documentation and support. Most hosting providers will have this installed already (e.g. with cPanel). You will want a UNIQUE index on the persons name, to prevent duplicates. 2. Using phpMyAdmin, it is possible to import data to your new table from a CSV file. You might need to mess about with the options to get it working with your particular file format, but it definitely works (I have done this lots of times) 3. You now have all the names in a database. Double check there are no duplicates (there won't be if you set up the UNIQUE index as mentioned in step 1) 4. Create a PHP file. You're going to be passed a GET parameter from Apache in this script, which will contain the name of the person that is to be shown. This directly corresponds the the database record in MySQL. So you need to assign the GET var to a PHP variable: <?php $person_name = $_GET['person']; ?> You should sanitise this variable to ensure it does not contain anything malicous - you can get SQL injection attacks otherwise. That's kinda out of the scope of this post but one way to do this is to do a regular expression check for a-z characters only (try PHP's preg_match()). Next thing to do in this PHP file is to load the right record out of your MySQL table. This would look something like this: // Formulate Query // This is the best way to perform a SQL query // For more examples, see mysql_real_escape_string() $query = sprintf("SELECT firstname, lastname, address, age FROM people WHERE firstname='%s''", mysql_real_escape_string($person_name)); // Perform Query $result = mysql_query($query); // Check result // This shows the actual query sent to MySQL, and the error. Useful for debugging. if (!$result) { $message = 'Invalid query: ' . mysql_error() . "\n"; $message .= 'Whole query: ' . $query; die($message); } // Use result // Attempting to print $result won't allow access to information in the resource // One of the mysql result functions must be used // See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc. while ($row = mysql_fetch_assoc($result)) { echo $row['firstname']; echo $row['lastname']; echo $row['address']; echo $row['age']; } // Free the resources associated with the result set // This is done automatically at the end of the script mysql_free_result($result); Name this PHP file 'person.php', save in your doc root and upload to your server. The above code will load all matching records, so you probably want to amend it to just load the first record. Check out mysql_data_seek on the PHP site for info. You can obviously construct the page with data from your database using this method. 5. You can test your PHP file by doing this http://www.yoursite.com/person.php?person=testname (replace with your data where appropriate) 6. So when you get that working and testing, you said you wanted to have 'clean' URI's. E.g. 'http://www.yoursite.com/testname' - we can do this with mod_rewrite. You have to enable this in Apache. Once that is enabled, you need to make a file containing this: RewriteEngine On RewriteRule ^([-a-z]+)$ person.php?person=$1 [NC,Last] Save this file as '.htaccess' in the root of your site, and upload. Apache will need to allow overrides for this to work. THIS IS NOT A PHP FILE! This directive basically uses mod_rewrite in combination with regular expressions. Apache will pass through the request to the person.php file with the value captured in brackets as the GET var 'person'. So now if you do 'http://www.yoursite.com/testperson' you should get the output from your PHP file. Hope that helps - I'm sure you will need to tweak my rough examples but this is the basic way to do it. You must be careful when using user-supplied data in SQL queries so you want to check that. Matthew
  9. For something like this, where the client is so vague on the requirements, I normally come in at £1200 inc. VAT. I would include web hosting (and it's quality hosting, not cheapo hosting that will go down on you a lot - not as nice it it sounds!) free for a year in that price, and a fee thereafter. Domain registration free too. Some of my local 'competitors' are quoting very small prices for the 'same' thing, ranging from £400 - 700. In my experience, and from what I have observed (about 30% of my business comes from people who have taken cheapo deals and got a cheapo looking site), the factors governing price usually end up as: # Whether the person is doing this full time, and dedicated to the cause. Many people claim to be this but in fact they are working 2 jobs, or not even out of school yet! This affects contact-ability, accountability and of course the quality of the work. # The quality of the graphic design work, and the amount of flexibility allowed in design changes before committing to a final design. Cheaper deals won't even let you make a single change to the design, you are just stuck with the one they come up with. More expensive deals will allow the Client to be happy with the design before accepting it. # Whether proper attention has been paid to usability, underlying code, semantics, file size optimisation, best-practice in terms of code, CSS, etc. Many cheaper deals will simply use FrontPage or other similar tools that are not designed for professional use - instead they produce sites that sort of work, but come riddled with messy and bad-practice coding. # The level of service. Some designers do not think web design is worthy of project management. With no proper project management tool, the project will quickly get out of control and the end result will differ quite a bit from the original requirements. More expensive designers usually include project management and will have far better general organisation - I know I'd rather have my project in the hand of somebody that's well organised. # How much they can help you when there is a problem with the work. Good designers will build in some sort of contingency and add this to the quote. This means they can spend time on unforeseen problems (which always crop up), without any problems. I think it's always worthy to say that if a designer quotes you a very low price, they are less bothered about the project and it won't be a priority. If I am taking £1200 off a client, I know I'd be falling over myself to make sure the Client is happy. And on a personal note, some designers don't care about whether the end product is good quality or not - whereas other (usually more expensive) designers will care greatly about the work produced and take pride in it. I know that's certainly true for me, and I never want to be in a situation where the Client is not 100% happy. All in all, constructing a web site consists of many, many factors. As a client that is not in the web design industry, you are at a disadvantage because you won't know about all these (many of which are not obvious). There is no way that all of these can be properly seen to unless time is allocated for it - and time costs money Hope that helps!
  10. Yeah, I was going to put both states in a single background image, and just change the background-position when hovered. This way I don't need JavaScript and IE won't keep trying to load the files (there's some caching bug for backgrounds on :hover)
  11. Hi all, Just launched this new website for my client, Catherine Dickens. She is a very successful property developer with many other strings to her bow. I was quite pleased with how it turned out, but I'd love to hear other peoples opinions! Catherine Dickens Property Group Matthew
  12. Hey everyone Good to see such an active community - I might enjoy this!
  13. Dear forum users, Just thought I'd introduce myself - Matthew Hall of Hallway Studios. I'll mainly be on the forums offering help and advice to those that ask for it where I can - sometimes I'm sure I'll be stuck on something myself though! Good to be part of the forums Matthew

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.