About Jeff Cohan

Jeff and his wife, Margie, are the proud parents of Sarah and Jake. Jeff is the founder, president and chief cook and bottle washer of nSiteful Web Builders, Inc., a Web development and Internet Consulting firm. In his spare time, Jeff builds Web sites and Web applications, plays guitar, putters around in his basement woodworking shop, mercilessly spoils his grandchildren, and creates videos from more than two decades of home movies. His current video project is an extended montage of people (mainly family members) asking him to stop filming them.

Diagnostic PHP: Get All User Functions

Sometimes I want to see all the user-defined functions that are in memory when a page loads. Maybe the page doesn’t need certain functions and I can realize performance improvements by removing them. And sometimes — I’m being candid here — I copy functions from one application into a library file for another and don’t need any of them for the current application. This function, offering some diagnostic PHP, helps.
Ok. I’m hooked… let me read the full article →

Hayes Shutters Online Ordering System

Word-of-mouth referrals are still our favorite source of new business. One day no so long ago, I called a fellow (actually lady) Web developer after reading her humorous and all-too-familiar account of a “sales call from hell” on her Facebook timeline. After some commiserating, we shared highlights of recent projects and agreed to think of each other if and when opportunities to collaborate arise. Before we hung up (a soon-to-be-obsolete metaphor, I imagine), I had contact information for two prospects who might need my services. A little more than a month later, one of those prospects became a client. This article describes my first project with that client.
Ok. I’m hooked… let me read the full article →

CSS Descendant Selectors

CSS Descendant Selectors

CSS descendant selectors (also known as contextual selectors) allow you to write lean, clean, semantic html and CSS markup with a minimum number of class and ID names, making your code easier to understand and maintain, and maybe even giving you a sense of harmonious calm. In this article, I explain this claim with an example.
Ok. I’m hooked… let me read the full article →

Custom Web Form: Contract Generator in PHP & MySQL

Custom Web Form

Forms are the engine that drive user interactivity on the Web. We see them everywhere — they are the meat of eCommerce Web sites and online surveys, and simple versions of forms are common on “Contact Us” pages. Some forms are easy to make, using basic HTML, online form builders, or plugins for platforms like WordPress. But there are other applications for Web forms — including some applications for which you might not initially think a form is the answer — that require a custom solution with custom programming. This article describes a project in which we created a form-based system for generating contracts for a private school’s Independent Study Program. This system, housed within the existing password-protected Intranet/Administrative area of the school’s Web site, automates and streamlines the process of generating contracts, minimizing the need for manual calculations and eliminating most, if not all, of the opportunities for user error.
Ok. I’m hooked… let me read the full article →

How to Create Tooltips with CSS (Only)

CSS is so big that unless we work with it diligently on a day-to-day basis — and live long enough, we’re likely to be dealing with just the tip of the iceberg. In this article, I show a simple technique for creating tooltips with nothing more than CSS (no JavaScript). Hat-tip to Travis Neilson, whose DevTips YouTube channel is very informative and a real hoot.
Ok. I’m hooked… let me read the full article →

Side Effects of Rebuilding Web Sites to be Responsive and Mobile-Friendly

Screen shot of mobile search in Google

What drives many to rebuild their existing Web sites to be responsive and mobile-friendly are justifiable concerns about user experience and search engine placement. After all, the need to make Web pages look and act right on small mobile devices has only intensified as more and more people spend proportionately more of their Internet time on those devices. And then there’s Google, who, on April 21, 2015, started boosting the ranking of mobile-friendly pages on mobile search results. Yet it is a side effect of this rebuild process that may turn out to be the best reason of all to undertake it. In this article I share the insightful and unsolicited comments of a client with whom I am rebuilding his Web site to be responsive and mobile-friendly.
Ok. I’m hooked… let me read the full article →

Sort Multidimensional Arrays with PHP array_multisort

Without question, the most common operation in the Web applications I build is retrieving gobs of structured data and displaying that data in some order. In most cases, the data comes from database tables. But not always. In this article, I share what I’ve found out about how one can use the array_multisort function to sort multidimensional arrays.
Ok. I’m hooked… let me read the full article →

Everything can be gamed

image of monopoly board, metaphor for everything can be gamed

Everything can be gamed. Broadcast emails can use merge codes to make you think you’re the only recipient. Views and likes and mentions can be bought. Introductory offers can hide the small print so many layers down that you forget to even look for it. But these games — and the traps within them — might say more about the game creators than about those who accept the invitation to play.
Ok. I’m hooked… let me read the full article →

How to add an About Us blurb to every WordPress blog post

screen capture of About Us blurb

While WordPress has functions and template tags for displaying “About the Author” information on single blog post pages (in fact, many themes innately support this), there’s nothing similar for displaying “About Us” information. This article offers a simple method for adding an “About Us” blurb after the main text of every single blog post. And I hope it gets your wheels turning about ways to add customized content to your WordPress Web site.
Ok. I’m hooked… let me read the full article →

Underlining for Emphasis: How to un-underline text on a Web page with CSS

No matter how loudly and often we tell our clients who maintain their own Web sites (via WordPress and other CMS-driven platforms) that using underlining for emphasis on the Web is a very bad idea, many of them do it anyway. This article explains, first of all, why this practice is a bad idea, and then it offers a simple CSS solution for removing underlines that shouldn’t appear on Web pages.
Ok. I’m hooked… let me read the full article →