Jump to content
Latest News: (loading..)


  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by MrPhil

  1. MrPhil

    MySQL 5.7 gotcha

    I think that osC should be fixed to run with MySQL 5.7 at its default settings, as that's what most sites will end up running on. All fields should have a reasonable default of the right type (not NULL if you can help it). There may be some cases where PHP code has to be fixed to provide a correct type of data (e.g., a 0 instead of ""), but we'll probably find those only through trial and error (MySQL runtime errors).
  2. MrPhil

    Is version 3 in production?

    Who is wasting their time doing a lot of osC 3 add-ons? I don't recall seeing any. 3.0 was experimental/developmental, and never really went anywhere here. I think someone may have picked it up and further developed it into a commercial product (Shopify?), but in osCommerce land it's dead -- it was just never given a proper burial (i.e., removed from the site). You haven't missed anything.
  3. I would have to assume that "ready made provider" would be a fee-based service to host, install, configure, load inventory, etc. The shop owner simply runs the business side, not having to think about the software. Depending on their software skills (or lack thereof), this might in the long run be more profitable for them if they can spend their time managing their business and not losing sales due to poor SEO, obsolete versions, etc. This could be quite a business opportunity for someone, and there's no reason it couldn't use osCommerce. P.S. Yes, the whole named version thing is ridiculous, but I've never been able to talk Gary out of it. He just doesn't see how hard it is for business people to keep track of which version they're using.
  4. With PHP 5.6 you're getting those deprecated errors? That means that you were running on something even older (maybe 5.3 or 5.4) before. If you're still at osC 2.3 (anything shy of CE/Frozen) you're going to be in for a lot of headaches as you try to patch your store to run with up-to-date PHP versions. Keep in mind that anything earlier than PHP 7.1 is completely unsupported now. You're rolling dice with Death to keep running on anything earlier. If you think you'll only be running your store for a relatively short time, that may be an acceptable level of risk. Customers have "signed on in the admin"? Oooh, that sounds not too good. Is this the store's admin (not good to let customers in), or a special area for the custom build function? That might not be too bad, but probably does have a lot of user interface work to deal with. It's probably a little late to say, "I told you so," but all store owners need to keep detailed records of exactly what is installed, what add-ons are installed, what custom work was done, and why these things were done. The last item is so you don't spend time time trying to port your changes up to the latest version, only to find it can't be done, or it's already built in to the new store (e.g., mobile-friendly). If you don't have good records, someone might be able to get a copy of the original 2.3 (I think it's still available, in the archives) and compare file-by-file to your store to see what was done. It will be a lot of work, separating the wheat from the chaff, but at least you can have an idea of what a code change is for, and best decide how to proceed. If you're very lucky, much of the custom build work might be usable with little or no change. Good luck!
  5. MrPhil

    International SEO

    This page might be of interest as an overview: https://moz.com/learn/seo/hreflang-tag They state: "Google recommends not using rel="canonical" across country or language versions of your site. But you can use it within a country or language version". I work only in English, so I can't tell you what exactly that implies, or what best practices are.
  6. Your error log shows many warnings about deprecated PHP functions, particularly class constructors. This means that your host has upgraded your PHP, and it's unhappy about some older osC code. If that's all the warnings you're getting, it should be possible to specify that "deprecated" errors can be suppressed in application_top.php files (search for E_DEPRECATED, I think, in this forum). This is NOT a permanent fix, but might be easier than trying to roll back the PHP version. Use the breathing room you've gained to upgrade to the current "Frozen" version. If your store is heavily modified, you'll have a lot of work ahead of you to fold your changes into the current version. Don't try to stay at old osC versions, or old PHP versions, for any longer than you absolutely have to.
  7. In general, it's considered bad to display errors to the public, as that can give hackers valuable information. Sending detailed errors to a log file would be good, with maybe just a generic "sorry, something went sideways" message to the public. Now, how can you capture error output (to stdout, I presume, which gets folded into the page) if such a thing can happen just about anywhere? Do error messages have a distinctive "look" to them, so that if you could capture all output to a string, and before releasing that string ("print") to the browser, look through it for error messages and remove them? Offhand, I'm not sure how that could be done, at least across a wide range of servers.
  8. MrPhil

    Unusual shipping requirements

    No harm done with responding to a 13 year old post, if the problem and solution given might still be relevant to someone. Since the thread would have been so deeply buried, I would assume that Jack would be aware of its age. Likely the OP is long gone, but in case there are others in this boat... As long as we're having a pleasant chat about unusual shipping requirements, is there anything built-in to restrict certain products to certain geographic zones (such as countries)? For example, physically shipping goods only within the USA, but digital downloads anywhere not embargoed? I'm sure I could code up something, but if someone has already done the work... the key is to alert the customer well in advance before they load up their cart with a mixture of physical and virtual goods and then try to check out.
  9. MrPhil

    MySQL 5.7 gotcha

    Bad Doggy! Bad, Bad, Doggy! So, what's the solution for ongoing changes needed to osC for someone going to MySQL 5.7 (as eventually we all will)? Would this be adding something like DEFAULT NULL (or whatever the correct syntax is) to any (non autoincrement) field without an existing default value? Or should we be giving a reasonable value as a default, especially if NULL is not explicitly handled in the PHP code (or NOT NULL given)? I would call this "fixing the problem" rather than a work-around. There are lots of fields without default values in Frozen, so there may well be some which get INSERTed with a missing default value. At least, all the changes would be confined to oscommerce.sql, and no PHP changes would be needed.
  10. If the prospect of installing an *AMPP server fills you with fear (as it should... it's a major undertaking which does require a fair amount of computer science skills), I second the suggestion to just make a test or development folder on your live site, and install "Frozen" there (with patches). Make a second database and work with a copy of your live site, so you don't risk messing it up. When you're happy with it and ready to go live, back up your old store and database (and know how to restore the backup!!!!!), then shut down your old store and allow enough time for everyone to get off it, copy your new files over the old ones (production store directory), and go through the database conversion again to bring your old database up to snuff with the new osC's schema. If you had installed your store in public_html/, it's probably too late now, but that was a bad thing to do. You want to keep your site root clear of applications, so that each application is safely isolated in its own directory tree (such as catalog/) and nobody is stepping on anyone else's toes. There are .htaccess tricks you can do to avoid having customers having to type in "catalog/" in the URL, and later you can add a landing page in the root to direct visitors to the appropriate application. If you have Search Engine rankings already built up, it's probably too late to change the URL structure without losing everything and having to start over with SEO. *AMPP servers are almost always "bleeding edge" with their PHP and MySQL versions, and it's likely that you will have trouble getting Frozen to work on a PHP 7.2 system. After doing all sorts of extra work to get osC to work on this server, it is likely to break when you move it back to an older production server (older PHP and MySQL versions). I don't find it worth the extra effort -- just use a separate directory on your live server. If you wish to keep others out, password protect it from your control panel. By the way, your control panel (cPanel is a specific brand of control panel) should have a way to bulk move files over from one directory to another, without having to FTP them to your PC and back up, although that may be just as easy for you. Finally, keep in mind that software "rots" over time... you have to keep a server reasonably up to date, with supported PHP levels, etc., and the applications you run on your site (such as osC) fall behind newer PHP levels and stop working after a while, unless you make a constant effort to keep up to date. Keeping good records of all changes (add-ons and custom work) you do on your site make it much easier to get your new store back to where you want it, and less painful to keep up to date.
  11. MrPhil

    MySQL 5.7 gotcha

    I presume that "autoincrement" fields would not need an explicit default. In the non-default fields, the old way was to insert a NULL? And that's no longer automatically done? Presumably you could still give a NULL as the default?
  12. If you ever see  in a file, it's the UTF-8 Byte Order Mark. It means you used a bad editor that insists on sticking the BOM into a file, regardless of whether or not you need it. You should never see these characters (together, as a BOM) in any osCommerce file.
  13. MrPhil

    Just a quick PayPal question, please?

    As far as I know, the only guy who can do this is missing in action for the last 18 months or so. He won't promote the much-better Frozen to full osC 2.3.5 or 2.4 status, which would be even better than telling people, "Here's the downloadable version. Oh by the way, it's no good -- go here to get a better version!"
  14. Be careful! The official version downloadable from this site ( does not run on PHP 7! It merely has the "deprecated" warnings shut off, which is basically useless. Use only one of the Community Supported versions: Frozen if you want a stable version, or Edge for more advanced features (if you don't mind something that's changing constantly). The good news is that both Frozen and Edge run on PHP 7.1 and are mobile-friendly (plus many other enhancements). As for templates, that should not be your deciding factor. There is no official or clear cut definition of a "template" -- they range from replacing some CSS files all the way to replacing most of the code! Many templates, even paid ones, are dinosaurs still stuck back in osC 2.2 time (as much as ten years old), so be very careful about installing osC and then slapping in a template. You may end up with an obsolete system that will not run properly on PHP 7. At the least, get a written guarantee from the vendor that their template works with Frozen.
  15. MrPhil

    Just a quick PayPal question, please?

    Glad to have helped before you got in too deeply. Unfortunately, the only guy (the forum and product owner) who can elevate "Frozen" to the official product status has been AWOL for over a year, so we have this continuous problem of innocent victims installing the old, obsolete code and we then have to tell them they should have installed the community-supported version instead! And that version, in turn, is kept updated by only one (other) guy, who could take the ball and go home at any time. At least it's open source (on GitHub) and free, so someone else can take over in that event. I suspect some of the weird things you were seeing may have been old osC code incompatibility with PHP 7.1, rather than design flaws as such. You may find some squawking in various error logs. Regarding PayPal, they certainly can be expensive! It takes quite a fair volume of sales before it's worth moving to a Merchant Account with Payment Gateway to directly handle credit card purchases (don't forget to factor in PCI-DSS compliance costs). You might also want to look at other Third Party payment systems such as Stripe and Authorize.Net -- they might be cheaper for you than PayPal.
  16. MrPhil

    Just a quick PayPal question, please?

    I'm going to give you 100:1 odds that what you have is the "official" osC downloaded from this site. The bad news is that version is totally obsolete and you will have nothing but trouble with it if you try to set up a "real" store (as opposed to just playing around with it). You need to use "Frozen" (see the link below in my signature), which is PHP 7.1 ready, mobile-friendly, and is much more up to date with more features. At some point you will need to completely remove the official and install the Frozen version. Sorry.
  17. @HeCares I have sent you a PM. I didn't see that you had posted additional information anywhere else. Not being a Partner or Sponsor, apparently I can't read the Commercial Support Inquiries section. If you have already posted there, please be assured that I'm not trying to step on anyone.
  18. MrPhil

    Please help me with login problem

    Check your configure.php files for an entry which is normally something like "/catalog", but you may have changed it to "/" instead of "" when you installed in the root (a bad idea, but that may be water under the bridge). If you're sure your host didn't sneak in a PHP upgrade, your HTTPS/SSL work must be to blame. Can you show us what you changed? There would be changes in the configure.php files and in .htaccess URL redirects/rewrites.
  19. There is no 2.4.3. There is a, which I presume you mean. Do not upgrade to the "official" downloadable from this site; it is obsolete. Use osC 2.3.41BS "Frozen" (see link below in my signature) to get: PHP 7.1 capable, mobile-friendly, many new features, and more secure than the official release. You will end up having to do a fresh install of Frozen, and then migrate your database (and other data, such as images) over to the new system. This is done manually by comparing the old and new DB schemas. Finally, you have to determine what add-ons and custom work was done on the old sites, and how you will handle them on the new versions. There has been discussion here and there on the details of doing the conversion, but that's the gist of it.
  20. MrPhil

    ELI5: Hooks vs. Modules (Bootstrap Edition) "Frozen" is stable and production ready. "Edge" is still under development, can change day to day, and is considered "unstable" (although, quite usable). You should use Frozen (which is Bootstrap 3) unless you have an overriding need for Bootstrap 4 (Edge) and you're willing to put up with instabilities in your production store.
  21. MrPhil

    Please help me with login problem

    First, why do you double the slash after the domain? It should be a single slash: https://www.bibbtool.com/login.php When the osCsid is given, and you click on that link, it doesn't work? You're not saving that link for later and typing it back in (or cut and pasting)?
  22. MrPhil

    getting 'easy' csv import to work

    Just add him to your "Ignored Users" list, and be done with it.
  23. MrPhil

    Please help me with login problem

    Also useful would be exactly what version of osCommerce (and whether "official" or "community edition"), exactly what PHP version (and whether your host just upgraded PHP), and any other information that might be useful in diagnosing the problem.
  24. MrPhil

    Fake accounts

    "Albania"? Is that in quotes because you think it's a fake country name? Just curious... yes, it is ex-Soviet Bloc. Watch Wag the Dog.
  25. 30 days might be a little quick on the draw. I wonder if there is legal precedent to say that's too soon to discard records? I would think that 6 to 12 months' retention of shipping information would stand up in court if someone sued you for non-delivery. Other information on the order should probably be retained for at least 12 months, perhaps longer (especially for warranty periods, not to mention financial records and tax filings). At some point you should be able to reasonably say, "Enough! I've held on to this information for long enough."