Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Had to add return:false because after 'show' it was submitting too fast to read the message.

Isn't it a better user experience for the form to be submitted immediately? A user would rather see the results of the form submit immediately than unnecessarily wait for a "please wait" message when there's no need to wait?

It sounds to me like you don't want pressing the submit button on the form to actually submit the form. Instead, you want pressing the submit button on the form to simply load a modal or an alert or something that shows a message you want the reader to read. And then you want the user action of dismissing that modal to be what actually submits the form.

Something more like ...

// When user tries to submit form (either by pressing Enter on their keyboard or clicking the submit button) ...
$('form').submit(function (event) {
  event.preventDefault(); // Don't actually submit the form
  $('.loading_msg').show(); // Show your loading message
})

// When user clicks the dismiss button in the modal ...
$('.loading_msg').click('.btn-dismiss', function (event) {
    // Submit the form for real
    $('form').submit();
})

Good luck!

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

OK, I'll check out your other topic. I'm sorry you're having such a difficult time with this.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

This seems like spun content. Did you write it? What are you trying to say?

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

A promise object consists of a block of code, as well as a name for a callback function if the block of code is successful, and a name for a callback function if the block of code is a failure.

Here, you're creating a new promise in which the constructor function (that's used to create the object) of the object is an anonymous function which takes two arguments: you pass in the function name you will be using for the success callback (resolve), and the function name you will be using the failure callback (reject).

The block of code in the anonymous function then has a conditional statement that determines if the promise is successful or not.

In your then-catch block, then handles what happens when resolve() is called and catch handles what happens when reject() is called. So, as it would seem, your assumption is correct. Good luck!

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I gather from your question that you have one table that lists products and their prices. However, I'm confused what the ss table is meant to do? What is ss_keys referring to? Are you meaning to do something like this:

SELECT
    products.prod_id as Product_id,
    products.prod_name AS Product_name,
    products.prod_price AS Product_price,
    COUNT(quantity_table.id) AS Product_quantity
FROM products_table
LEFT JOIN quantity_table ON (quantity_table.prod_id = products_table.prod_id)
GROUP BY products.prod_id

The problem is that I'm really confused by what you mean by ss_keys and sales? Perhaps you can explain a little better what the second table, aside from the products table, is meant to do?

Also, is it just the MySQL query you're having difficulty with, or do you need help with the dropdown as well? My guess is that you tried to use COUNT(*) without a GROUP BY clause.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I would disagree. For an online presence for a small cupcake business, I would start with a Facebook page, a listing in Yelp, and perhaps a small one or two page website. I don't think the expensive cost of a digital marketing strategist is necessary here.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I guess I’m confused by your question, as off-page SEO means content on other pages that links to your site or talks about your brand. In any case, as pretty much all content on the web is written in HTML, off-page content is HTML just as your own webpages are as well.

As far as specific HTML tags and attributes that play a role in off-page SEO, the big ones would be the meta robots noindex/nofollow tag, or link tags with a rel attribute specifying nofollow, ugc, or sponsored. The content of the other site (including its header tags, paragraph tags, etc.) all play a role.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I would not say that’s true anymore. Were you hit by the latest Link Spam update that Google released last week? What about the Helpful Content update from a few months ago? Both took really strong digs at blog paid links and guest posting.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Hi Sohan! It’s nice to meet you. What type of digital marketing do you focus on? Social media? PPC? SEO? Advertising? It’s quite a big industry out there! :)

What is your favorite part?

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Sorry, I can’t provide any specific recommendations because I’ve never hired any e-commerce devs before. I’ve also never hired any backend web devs before.

My use cases are either for writing assignments or small (a couple week long) front-end dev projects.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Did you have a question or were you just sharing this little tidbit? Do you do a lot of email marketing campaigns? Can you recommend any suggestions to improve any of these statistics?

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

The only way I know of is to create viral link bait. I’m not good at doing it either. Join the club lol.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Hi and welcome to DaniWeb!

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I typed the above post up from my phone, but I was thinking about it now that I made it to my computer, and have more to add.

You can think of it in terms of any other contract worker. Suppose you have a woodworking project you would like to get done. It wouldn't make sense to try to guess what the best tools for the job might be (e.g. a screwdriver, a saw, etc.) and then put an ad out for people with experience using screwdrivers and saws. Instead, you should explain, in depth, what you want the final project to be, find someone with experience doing similar projects, and then expect that they will come to work with their tool belt and expertise.

So it's similar with one caveat. Something you should be on the lookout for through the hiring process, especially if you aren't a programmer yourself, is to first and foremost make sure the developer you hire has done similar projects before. A lot of times you'll find programming consultants who are attracted to an interesting project, but it's interesting to them because it's not something they have ever done before so it's fun working on something different. But then you're essentially paying them to learn on your dime, instead of to just do. When working with your new hire to choose which language to use, make sure to ask them why they feel that's the right fit for the job, and if they can show …

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I have had really good experiences hiring on Upwork. Another good site for this kind of talent is TopTal.

If you are not a developer yourself, my recommendation would be to first find a developer who wants to join your project, who had experience building eCommerce APIs, and then let them choose based on a combination of their experience and which languages might be the best tool for the job. If you’re lucky, you can significantly cut back on expenses that way by not having to reinvent the wheel as much. For example, they already have eCommerce libraries they have used before, or rolled their own, etc.

In other words, I feel picking the right person for the job is much more important than picking the right tool and then trying to find someone who knows how to use that tool. Find the right person.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

It's really hard for me to piece together what you're trying to do with these code snippets. I can't really picture what the form looks like, what the modal is meant to be looking like, or what exactly isn't working.

A modal is supposed to load when you submit the form? Why is there a return false in your beforeSend function?

I don't have any experience with SweetAlerts ... is that what you're using for the modal? Does SweetAlert have event handling for closing the modal?

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Hi Morris! Welcome to DaniWeb :)

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Hi and welcome to DaniWeb, although I admit I’m a little bit late in posting here.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I just saw this post now but I’m on my phone in bed about to go to sleep. I’ll help you out tomorrow. JQuery is my jam. :)

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

The service doesn’t need to be that reliable if you just need it for one time use. One and done.

Or use your own phone number.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Not sure if this is relevant. It’s pretty old.

https://stackoverflow.com/questions/22469713/managing-tweepy-api-search

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I don’t know python so this is completely a stab in the dark, but what if you do lowercase writer() instead of Writer()?

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member
Gavra Meads commented: Thanks +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Well, for sure AI-created content is getting a lot of buzz lately!

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Server response time is limited by the speed of your web servers (and has nothing to do with front-end javascript execution, etc.). You might also be able to use a CDN such as Cloudflare to improve page speeds if you cache HTML pages, although this isn't possible with their free plan. (I believe you have to have at least their Business plan.) If you are unhappy with server response time and are on a shared hosting plan, you may wish to consider switching hosting companies. Server response time is also largely due to any backend code that powers your site. For example, perhaps your database queries are inefficient or connection to a separate database server is too slow, or perhaps your backend code (PHP, etc.) is written inefficiently. This isn't really anything we can diagnose properly in a forum such as this one, as there are so many possible things that could be going wrong on the server side, and we wouldn't have any insight into any of them just by looking at your site.

Good luck!

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

A lot of what you have written here is beyond what I'm familiar with since I haven't used iframes in well over a decade.

However, let me start with first thing's first: What is your goal in including iframes for pages on your website on your website? The typical use case for iframes would be to include third-party content embedded in your site, and that's when there's lots of security vulnerabilities you need to be careful of. If you have 100% control over the content in the iframe as well as the content hosting the iframe, then I don't see much of a security concern (perhaps there is and I just don't know about it), although I don't quite see the point? Iframes might not be the best tool for the job.

Also, to the best of my knowledge, there is no way to edit text or content within an iframe that you don't have control of. For example, you can't load daniweb.com in an iframe on your site, and change content in the iframe to say BoroWeb instead.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Hi and welcome to DaniWeb. My first thoughts, while spending a moment or two browsing your site, is it appears at first glance that the game descriptions are low quality content / spun content / content that is copied/pasted from elsewhere on the web / written by AI bots.

I'm not sure if this is true, but that's the impression that I get. Perhaps something to work on improving?

I also noticed that most of your pages are not indexed by Google. Is that intentional? I'm curious if you are using Google Search Console and have submitted your sitemap there?

sunshineboy1996 commented: Thank you, I just built it not long ago, now I want to know if there is any possible optimization point +0
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Hi there and welcome to DaniWeb!!

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Echoing what Skillz is saying, you need to access the files either by a domain name or by an IP address. If you are on a shared hosting plan, and it's not a feature of your hosting company's control panel, you most likely can't use the IP address option.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Hi Sanjay! Welcome to DaniWeb! What brought you here?

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Welcome! Thanks for joining. What do you think so far?

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member
    $sql_count = "SELECT COUNT('id') FROM domains WHERE (domain = ? OR domain_email = ?) AND password = ?";

It looks fine. However, it's not as secure as using password_hash() and password_verify() because you can then use BCRYPT with a salt. SHA256 is designed for encrypting large amounts of data efficiently and quickly, and is not as ideal for passwords, although you can definitely use it. Especially be wary of the unsalted way you're using it.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Sorry, I don’t understand? What information? I’m not disagreeing with the value that backlink data apps like Ahrefs bring to the table.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I think that a lot of restaurants are already using Grubhub, DoorDash, etc. built into their POS. So perhaps there's a way to integrate in a way that is low barrier to entry for the restaurant?

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

If I look at your SQL query SELECT COUNT('id') FROM domains WHERE domain = ? OR domain_email = ? AND password = ? it's ambiguous if you mean (domain = ? OR domain_email = ?) AND password = ? or domain = ? OR (domain_email = ? AND password = ?.

However, you shouldn't be retrieving a row with a password passed in anyways.

Nothing strikes me as obvious as to why the MySQL query may be failing.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Online reputation management is when you put out a bunch of positive articles and content about your brand (business profiles, press releases, etc.) with the goal of having them rank higher in the search results any negative press you may want to bury from being easily discovered when people Google you or your brand.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

I don't use PDO.

I use MySQLi but I don't use prepared statements. I just use manual queries and make sure to properly escape all user-input passed into the queries. I also use my own ORM that I wrote.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

When looking at the code block you have posted above, what does it spit out on lines 102 as the password? Is MySQL successfully returning a row with the domain being passed in? It's possible that the MySQL query is succeeding but there's simply zero rows returned, and therefore $db_password is null.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member
Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

There are already so many tools you can use to retrieve your site's backlinks. As you mentioned, there's Ahrefs, etc., and they all do a very thorough job spidering the web, best I can tell. The goal of my tool isn't to be yet another.

Instead, it's an easy way to check that links you may have acquired (naturally, unnaturally, paid, sponsored, white hat, black hat, etc.) are actually capable of benefiting you. Many link builders think to check that a link is nofollow'ed but that's not enough to ensure that the link is visible to Google and crawlable. The page the link is on can be blocked via robots.txt, etc.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

As long as you have complete control over your web server (or virtual machine), you can host as many domain names as you like on it. If you don't have complete control over your web server, you may have to pay your hosting company per domain.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Perhaps I'm missing something, but you are setting the unencrypted password that the end user types in into $password. You're then using an SQL query to select a row where the password is the value of that unencrypted password. If your passwords are stored in the database encrypted, it would result in no rows being retrieved.

Instead, please look into PHP's password_hash and password_verify functions.

What I have experience doing is save the password to the database with the password_hash() function. This encrypts the password with a unique salt. Then, when it comes time to logging in, I retrieve the row from the database that has the correct username (or in your case, domain). Then, use password_verify() to compare the password field retrieved from the database with the unencrypted one retrieved via POST, and check for a match.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

It looks like people are typing random spam into your search queries. Your search results page should be noindexed or blocked in robots.txt.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

That should work, yes.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

The date has to be formatted in W3C Datetime format.

That means it needs to be YY-MM-DD and you currently have YY-DD-MM.

Also, the times are formatted incorrectly as well. Try using ISO 8601 date @ https://www.php.net/manual/en/datetime.format.php

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Hi and welcome to DaniWeb!! Funny you should join today. DaniWeb just launched a backlink checker last night, the first of a handful of SEO and other dev tools I'm starting to build out targeting the DaniWeb audience.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

User profile spam is different than user profile thin content. ;) I'm not talking about user profiles that include links or self-promotion.

That being said, I actually recently started working on creating some tools to hopefully make DaniWeb more engaging. I started with an SEO tool since that's one of my main interests. You can check it out here. It actually just went live yesterday.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

First, just find all the thin pages of your websites, and remove those that are just created for the purpose of SEO

Removing pages created for the purpose of SEO. The hard part is figuring out what constitutes a thin page but is created for users. For example, I've found that Google looks at all DaniWeb member profiles as thin pages, so I needed to take care of that to recover from a penalty back in the day.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

It’s not considered new content if there isn’t a substantial change to the content of the page. Google has reiterated this recently as well, specifically going after blogs that have articles such as “Top X of 2022” and then update it to be “Top X of 2023” and make a couple small changes. That was the example Google mentioned, anyways, but I suspect the algorithm would extend to what you’re doing as well.

Dani 4,653 The Queen of DaniWeb Administrator Featured Poster Premium Member

Google catches onto those tricks very, very quickly. It’s a sure way for Google to start not trusting your sitemap. And it also makes your content easily detectable as automated. I highly suggest not doing it, but of course you’re free to do a test run and see what works for you.