Archive for the ‘Programming’ Category

Programming of all types is important right now and many jobs exist in all forms of programming. Programmers are still hired to work on very old systems that use antiquated languages. Some programmers work on very low-level hardware functionality, others work on high-level software programming and markup language, and there a whole lot in between.

Solution: How to keep your PHP sessions open as long as possible

Keeping PHP Sessions open, or any sessions open regardless of what language you use, can be a pain. One of the most commonly asked questions is “How do I keep my sessions open for 30 days or more?”.

This is written from the perspective of PHP, but of course Cookies themselves can be manipulated from whatever server-side language you use to code your web application.

So if your users only stay logged in for a few hours, maybe a a couple of days at the most, and you want them to stay logged in much longer, continue reading.

The main reason this method works is because it doesn’t rely on PHP to keep the session, and sessions on the server tend to get cleared out, which is probably the most common reason for users having to login again. Rather than rely on PHP garbage collection to work properly, you take control of a secondary session that you store yourself. When the primary login check fails (depends on your application), you check the secondary session against your own records, and if you find a match, you can auto-login the user, returning control to the PHP session itself. You can choose to be seamless about the whole process, or you can present your user with one of those unnecessary messages saying “Please wait while we find your account…”. (more…)

jQuery: AJAX File Uploads made easy

jQuery is an incredible Javascript library. It allows programmers, as well as other web developers with less programming experience, to develop high-end Javascript and AJAX features on their websites. Many situations require or benefit from software written from scratch, but other situations do not. For most Javascript functionality, writing your code from scratch isn’t worth it or necessary, and that’s where jQuery comes in. jQuery isn’t necessarily easy. The more customization you want, the more specific your requirements, the longer it will take you to get it right. But even if you have the time and experience, jQuery doesn’t do everything for you.

Many people are curious about how to perform a full AJAX file upload using jQuery. Some users have noted that HTML 5 supports AJAX file uploads, however most websites aren’t written in fully support HTML 5. Other users have also shown exactly how to do this using methods such as hidden iframes, and a Javascript XMLHttpRequest() object.
(more…)

jQuery: Tips for Beginners

jQuery is an incredible Javascript framework, but it can also be a bear to learn, and a bear to write even for an experienced user.

Writing Javascript and AJAX code from scratch can be extremely time consuming, and it’s important to keep inn mind that Javascript only accounts for 1/5th of your web application, maybe less, and wasting too much time on your Javascript should be avoided. In addition to Javascript, you’ve got CSS and HTML to write, as well as your server side language and DB language (ie. PHP and MySQL). That’s 5 language to manage, 5 languages to incorporate, and that’s without even considering mobile apps.

On top of that, you’ve got 4 major browsers to test your code in (IE, Firefox, Chrome, Safari), and it all becomes a bit of a blur when you’ve been working on a project for some time. (more…)

jQuery .load() complete callback function doesn’t work properly

jQuery’s .load() method supports an optional callback function called when the request is complete. However, you might find that the complete callback function doesn’t work properly.

The jQuery .load() documentation shows 2 optional arguments to the .load() method.

The first optional argument is “data”, which is described as “A plain object or string that is sent to the server with the request.”

The second optional argument is “complete”, which is described as “A callback function that is executed when the request completes.”.

The examples on that page present some confusion, by showing this example:


$('#result').load('ajax/test.html', function() {
alert('Load was performed.');
});

The problem with that example is that the “complete” callback function is shown as the 2nd argument, not the 3rd. (more…)

jQuery: XML Errors in Firefox when using load() and other functions

If you are using jQuery, and you’ve noticed some errors appearing in Firefox, it might be a very simple fix.

The errors resemble the following:

  • “not well-formed” (maybe referring to a specific piece of returned HTML)
  • “mismatched tag. expected </input>” (or “expected </option>”, “expected </td>”, “expected </br>” etc)

Chances are you are using jQuery’s load() or get() or ajax() functions and sending a response back to jQuery via PHP or another server-side langauge. (more…)

jQuery: show hidden layer not working using show() or fadeIn() functions

Q: Using jQuery, I cannot get a hidden layer to show or hide using the $(“#layerID”).show() or #(“#layerID”).fadeIn() functions.

A: Although there could be several reasons for this, one common problem is that you have set your DIV’s style attribute to specifically hide the layer using “visibility:hidden;” and “display:none;”. In many Javascript implementations, in order to change that value, both of these attributes must be set explicitly in the “style” attribute. For example:

  • <div id=”layerID” style=”visibility:hidden;display:none;”>text</div>

Traditionally, you would use javascript to modify the style attribute in order to show the layer.

However jQuery is slightly different. If you explicitly set the style attribute to “visibility:hidden;display:none;” then jQuery will not be able to show the layer. The solution is to remove the visibility attribute from your style tag, so only the “display:none;” attribute is left. For example:

  • <div id=”layerID” style=”display:none;”>text</div>

An alternative would be to use jQuery to hide the layer upon page load. For example, here is your DIV: (more…)

History Lesson: How Facebook Apps made Facebook successful, then destroyed it

Facebook Apps: Do you care?

That just about sums up what people think of them.

When Facebook Apps debuted many people were confused. People began asking “Why do these apps exist?” “and What can I do with these apps?”.

But then something happened. The apps became crap, and people started asking a different question: “Why are these apps so dang annoyng?” and “How can I use Facebook but ignore all this App garbage?”. (more…)

What is my IP address? A better tool for a smarter developer

The rule? Simplify.

When searching for your IP address, you usually just do a Google search for “what is my IP address” and pick one of the top results. For quite a while now, Google has been displaying your IP address right in the results for that search, which makes it much easier.

But what if looking up your IP address is something you do constantly, daily or weekly?

And what if you need to look up the IP address programmatically, lets say via PHP or even Javascript? (more…)

PHP Frameworks: What not to use

Types of PHP Frameworks

Frameworks existing for many purposes and are written in many languages. PHP frameworks come in many shapes and sizes, so it’s important to match your requirements and your development capabilities with the framework.

If you are very picky, you’ll need a framework that easy to customize. If you don’t have any development resources, you’ll need to choose a framework that provides all the functionality you will need.

Frameworks can be “large” or “small”, “light” or “heavy” and everywhere in between. For example, Joomla and Drupal are “large” and “heavy”. They contain lots and lots of code, lots and lots of built-in logic, and accordingly have lots and lots of problems. On the other hand, frameworks such as CodeIgniter are “small” and “lightweight”. CodeIgniter is minimalistic, and some would consider it more of a code organization tool. WordPress isn’t strictly a framework, but works great as a framework and isn’t as “small” or “lightweight” as CodeIgniter, but it isn’t “heavy” either. (more…)

BuddyPress Bug: After De-Activating BuddyPress, my website is blank and broken. What do I do?

BuddyPress is a fantastic addition to WordPress, but as with any software it comes with some caveats. We recommend you install BuddyPress on it’s own WordPress installation, separate from your primary website, not only to protect your primary website, but because it’s safer to give BuddyPress full reign over it’s own installation.

If you need to De-Activate BuddyPress, be sure to Activate a different Theme prior to De-Activating BuddyPress.

If you don’t do this, you might notice your site goes blank – and is completely broken after you De-Activated BuddyPress. This is obviously a big problem, and a terrible bug. But it’s one that can be easily fixed by switching to a different Theme, and then switching back. (more…)