Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by StevenOliver

  1. Unfortunately, I have google searched this exact thing, and found too many conflicting "solutions." Each "solution" proposes a line of code, followed by, "well, this worked for me...". And, I don't want to mislearn yet another "hack." Rather, I'd like to know the correct way to do this. So here is a properly worded question: For a sudo user to create files in the /var/www/html directory of an Apache2/Ubuntu 20.04 cofiguration, what are the "best practices" lines of chmod and chown code to accomplish this? Thank you
  2. But I am a member of the www-group. I thought that was the point of "becoming a member." Would you please explain what is the point of being a member of the www-data group if I do not inherit its privileges?
  3. 755 means: Owner can read, write, execute. Everyone else can read, execute. When I stat my d and f: 755 drwxr-xr-x www-data www-data Aug 5 20:18 www 755 drwxr-xr-x www-data www-data Aug 5 20:19 html 644 -rw-r--r-- www-data www-data Aug 1 18:12 index.html ... and check if I'm a member of www-data.... $ groups //command line My_User_Name sudo www-data // result So, www-data owns the files. And, I'm a member of www-data. As a member of www-data, I should also be able to write. What am I missing?
  4. Unless you really want 7.3, you know there is PHP 7.4 available, right?
  5. On Ubuntu 20.04, I've done this a hundred times and it's always worked fine: chown -R www-data:www-data /var/www/html usermod -aG www-data My_User_Name Today, when trying to write a file in html, I get a "Directory '.' is not writeable" error. All the directories are 755, all the files are 644, and I've verified I'm a member of www-data. What am I missing, please? Thank you. p.s. I know I can do "chown -R MyUserName:MyUserName /var/www/html" and then I can write to the directory... but I'm trying to figure out why on earth the above suddenly won't work.
  6. Barand, thank you. It does look naked without the ( ) though... mac_gyver, sorry I didn't know that.They sure are coming up with newfangled things nowadays!
  7. Okay, now you get to do what I've had to do a thousand times.... google your error message, click the first result and see which scenario applies to your script. Debugging goes like this: 1.) Error reporting (you now have that at the top of your page) 2.) Google your errors 3.) Fix your errors. p.s. I'm still bothered about your <form> tag which appears to have no action ... but I'm too lazy to read your code and see if you have a javascript form.submit() in there somewhere... p.s#2 ..and the line of code that reads: if(isset($_COOKIE["id"])) .... where is "id" anywh
  8. ...it took me years to realize the best websites -- the ones on "page one of google" -- almost universally break every "SEO" rule, have the worst, most improperly formatted html, duplicate content, errors up the wazoo.... heck, if it were me, nowadays, and I wanted to be on page one of google, I would intentionally violate every SEO rule. Go ahead, check it out.... look at the top sites on google, NONE of them follow any rules! Then.... go to page 50 on google, and you'll find all the perfect "no errors" websites, with perfect un-duplicated titles, perfect html, pure as the driven snow. Page 5
  9. 1.) Put this at the top of your page: <?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); ?> 2.) You have "include 'db_const.php';".... please make it like this: include('db_const.php'); 3.) Is the file "db_const.php" in the same directory as the page calling it? If your html page is in a subdirectory, e.g below the directory your db_const.php file is in, then you need your include to look like this: (include('../db_const.php'); 4.) I didn't have time to read all your html code, but I notice your <form> tag does not
  10. Jodunno's answer is correct. However, because I'm a lazy typer, I use an old-school hack (not real css, but works!): <div align="center"> I'm centered </div> ... or, better yet: <?php echo '<div align="center"> I'm centered </div>'; ?> That way, your post won't be in the wrong place, as this is a "PHP coding help" forum 😀
  11. Especially when learning PHP (like I currently am), it is really really important to have the latest PHP and latest mySQL. I literally spent months on cleaning up my PHP 5 code only to realize that PHP 7.4 is available, and those months could have been spent learning how to code properly. So definitely upgrade your PHP and mySQL to the max. Email your shared hosting company if necessary... ask them to move you to a newer server, etc. THEN all you have to do is stick the Error Reporting code on top, and it (along with a few google searches) will actually teach you how to fix everything in your
  12. #1.) Put at TOP of your php scripts: <?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); (be sure to remove this when it goes live, you don't want public to see any errors). #2.) if((isset($_POST['submit'])) && (isset($_POST['search']) && ($_POST['search'] != NULL))) { $search = $mysqli->real_escape_string($_POST['search']); $result = $mysqli->query("SELECT * FROM careers WHERE JobTitle regexp $search"); #3.) "Job Title" or "Salary Low" etc., etc., you can't have two-word variables for mysql or ph
  13. Great questions, SaranacLake! I want to know the answer to this one, too! Here's my 2 cents: When database queries are super-important, my code always does a "select" immediately after the "insert," just to verify the important data really got inserted properly. So, maybe: 1.) Create a simple Member Record database (e.g. Username and ID) 2.) Create a 2nd database crossreferencing the Member Record with any data you can gather (shopping cart, session ID's, IP, date, time, etc.) 3.) Verify those records are created by doing a select after the insert 4.) If records created proper
  14. Inside your <form> tags, you have <textarea name="remark" But, you do not have a name="fullname" anywhere inside your <form> tag. Therefore, the variable "fullname" never gets submitted (and thus, $fullname=$_POST['fullname'] will always be null, unless you fix that). That is why, when in development mode, you need to have Error Reporting turned on. One of the errors you would have seen is "undefined index fullname" which likely would have led to you discovering the error. 1.) Error reporting ON, during development. 2.) Declare your variables (and indexes) 3
  15. Barand, thank you! And, thank you for the debugging tip. I've been using echo and print interchangeably. I like your idea. So..... Guess what I did this morning! I got a copy of O'Reilly's "Learning PHP," and I'm starting from the very very beginning. One page at a time. I just now learned that "echo" and "print" don't have to be lowercase. Seriously, I'm not kidding. I'm starting from the very beginning. I'm going to actually learn PHP!
  16. OMG.... you're right! Those 3 things already did happen, and still, no register_globals! 😀 />
  17. Your post "nobody cares about XHTML" makes me happy. I've always thought XHTML is ugly, with all their stupid closing tags, but I always felt bad for writing code that wasn't "the new modern XHTML" that everybody is using. I'm glad I waited. Now it is passe. Like saying "rad." :-) Hopefully if I wait long enough, "Register Globals" will come back, too 😀
  18. Kicken, thank you for the suggestion. It would be embarrassing for me to say I am very rusty on how to create functions. So I will use the function that you wrote. Speaking of functions, I'm trying to learn jQuery.... and when I see examples on how to do things via jQuery, they are always the 2 or 3 lines without the function wrapper..... and I don't know how to make a function 'wrapper' that I can call, like I do with Javascript :-) And, as far as PHP functions, I'm still trying to figure out why "return" is sometimes written on the last line (the functions always work without the word "
  19. And in live (non-development) environment, the die($mysqli->error) should be off for security reasons. If I'm wrong, sorry.... just my two cents worth :-)
  20. That is a new one for me - I didn't know there is a one-liner to see post values. I regularly use the following line of code almost all the time when I am debugging pages with a lot of inputs: print '<pre>';foreach($_POST as $var=>$val){ echo "$var......$val<BR>"; } print '</pre>'; I put it all on one line so I can "turn it off" with a hashmark # to the left. It gives me a nice itemized column. I don't have to strain my eyes or think too hard to see what variables and values were posted. And, if you change $_POST to $_REQUEST, it will show all <form
  21. Okay, "while" loop.... my mistake; I apologize. I wrote "foreach" when I really meant "while." I am sorry you got caught up in my non-event. Best wishes, to you, too.
  22. That is cool! I noticed this fact just yesterday when I was examining the "Submit Reply" button on this site's page. The internet is advancing too fast for me :-)
  23. Correct. With buttons (other form values are different), I've never had the need to use the "value" portion of a button in my PHP processing. For me, the "value" is simply what's displayed to the visitor. In fact, if you completely leave out the value (like this: <input type="submit" name="movies">), your browser will give it a default name of "Submit" to the visitor. Correct. I'm assuming you have 3 buttons. Right? If so, the Silver Member will click the silver membership button (<input type="submit" name="silver_member" value="click me if you are silv
  24. Take for example, a company might have a "contact" page. It has a <textarea></textarea> input window with a button under it. The button will usually say something generic like "Submit" or "Send" <form name="myonlyform" method="post" action="thank_you_page.php"> <textarea>Type Message Here</textarea> <input type="submit" name="message_from_customer" value="Send"> They might have a button an inch below it for urgent messages: Have an urgent message? Click here: <input type="submit" name="urgent" value="Send Urgent Message"> Then, your
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.