Hi there. I am early in learning PHP and have been reading your forum with great interest and also admiration for how great you all are helping out newbies and even looking over their code for them. And you're so logical and organized in your explanations. It's a beautiful thing and I like to help too when I can, and hope someday will (I have a long way to go :( and I'm thick headed and virtually illiterate in anything except html, but I keep going and know the lights are coming on :)

I have been trying to write php script for a relatively simple html form I created. It is my first attempt to create a real script I need rather than little tests in learning. I plugged away at it for two solid days, some pasted code and some written on my own. I finally felt confident I had every element I wanted in there and all good syntax. I uploaded the html form and php file, tested, and the form did not come through and I was redirected to a blank page. The name of my php document showed up in the url address window. I've been trying to deduce from this what's happening, seems to act like I'm asking the document to open in the browser rather than initiating the action of sending me the form results by email. So is the problem in my form? No, I've gone all through it and can't find a thing there. Nor can I find anything in my php document.

After hours of searching forums and such, I decided to get a php editor, Antechinus, downloaded and installed and activated the php editor that it needs to work with, and opened my document in it. (I am excited to work with this editor) I asked it to check my syntax, and it returned this message:


Initializing...

Errors parsing c:\users\linda\desktop\sixcrows\sixcrowswebsite\ojaja2011.php

Process closed!

PHP Parse error: syntax error, unexpected T_STRING in c:\users\linda\desktop\sixcrows\sixcrowswebsite\ojaja2011.php on line 59

I went over and over line 59, and if it has a syntax problem, so do all the other identical entries before and after. I even retyped the whole thing and as soon as I got to the spot, the editor highlighted it, and when I tried to check the syntax again, it gave me the same error. I removed the whole line to see what would happen, and on checking the syntax, it delivered another error for a later line, which I also eliminated to see, and on checking it delivered another error.

Apparently there are several errors. I am guessing that's how the editor works, presents one at a time and goes on to the next when it's fixed. I am perplexed and don't know what to do next. Anybody out there have suggestions or willing to look at my code? I didn't know if I should just paste the whole thing here.

Thank you so much.
Linda

Recommended Answers

All 28 Replies

Hi, I will gladly look over your code. Just post it here and either me or someone else will be more than happy to help you out.

Oh thank you so much.

<?php
if(isset($_POST['email'])) {
	
	// recipient and subject
	$email_to = "gathering@sixcrows.org";
	$email_subject = "OJAJA Talent Shindig Registration";
	
	
	function died($error) {
		// error code here
		echo "Sorry, some of the required information is missing. ";
		echo "Note the red asterists for required fields.<br /><br />";
		echo $error."<br /><br />";
		echo "Please fill in the missing information, and try again.<br /><br />";
		die();
	}
	
	// validation expected data exists
	if(!isset($_POST['Name']) ||
		!isset($_POST['Email']) ||
		!isset($_POST['Phone1']) ||
		!isset($_POST['Phone2']) ||
		!isset($_POST['Gender']) ||
		!isset($_POST['Child']) ||
		!isset($_POST['Age']) ||
		!isset($_POST['ParentsKnow']) ||
		!isset($_POST['FirstGathering']) ||
		!isset($_POST['Talent'])) {
		died('We are sorry, but there appears to be a problem with the form you submitted.');		
	}
	
	$Name = $_POST['Name']; // required
	$Email = $_POST['Email']; // required
	$Phone1 = $_POST['Phone1']; // required
	$Phone2 = $_POST['Phone2']; // not required
	$Gender = $_POST['Gender']; // required
	$Child = $_POST['Child']; // required
	$Age = $_POST['Age']; // not required
	$ParentsKnow = $_POST['ParentsKnow']; // not required
	$FirstGathering = $_POST['FirstGathering']; // required
	$Talent = $_POST['Talent']; // required
	
	$error_message = "";
	$email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
  if(!eregi($email_exp,$Email)) {
  	$error_message .= 'Please enter your correct email address.<br />';
  }
	$string_exp = "^[a-z .'-]+$";
  if(!eregi($string_exp,$Name) < 2) {
  	$error_message .= 'Please enter your name. You might want us to know who you are ;).<br />';
  }
  if(!eregi($string_exp,$Phone1) < 2) {
  	$error_message .= 'We need one phone number for you. Please put it in the first box. Add another contact number in the second box if you like.<br />';
  }
  if(!eregi($string_exp,$Gender) < 2) {
  	$error_message .= 'Please tell us if you are a boy or a girl. We want a balance for the Shindig.<br />';
  }
  if(!eregi($string_exp,$Child) < 2) {
  	$error_message .= 'Please tell us if you are a child under 18 years old. Sorry, young at heart doesn't apply here.<br />';
  }
  if(!eregi($string_exp,$FirstGathering) < 2) {
  	$error_message .= 'Please tell us if this is your first Six Crows Gathering. This will help us to help you.<br />';
  }
  if(!eregi($string_exp,$Talent) < 2) {
  	$error_message .= 'Please describe your "act" and if you like, some background about you and your talent. <br />';



  }
  if(strlen($error_message) > 0) {
  	died($error_message);
  }
	$email_message = "Form details below.\n\n";
	
	function clean_string($string) {
	  $bad = array("content-type","bcc:","to:","cc:","href");
	  return str_replace($bad,"",$string);
	}
	
	$email_message .= "Name: ".clean_string($Name)."\n";
	$email_message .= "Email: ".clean_string($Email)."\n";
	$email_message .= "Phone1: ".clean_string($Phone1)."\n";
	$email_message .= "Gender: ".clean_string($Gender)."\n";
	$email_message .= "Child: ".clean_string($Child)."\n";
	$email_message .= "Age: ".clean_string($Age)."\n";
	$email_message .= "ParentsKnow: ".clean_string($ParentsKnow)."\n";
	$email_message .= "FirstGathering: ".clean_string($FirstGathering)."\n";
	$email_message .= "Talent: ".clean_string($Talent)."\n";
	
	
<!-- Return message here -->

Thanks for taking part in our OJAJA Talent Shindig. With your help, we will create a lively evening of fun at the 9th Annual Six Crows Gathering in 2011. Your form is ready to send. After we receive it, we will add you to our OJAJA lineup. We will confirm receipt. Down the road as plans develop, we will provide further information to participants.

Yours in Service,
The 2011 Six Crows Gathering Organizing Committee

<?
}
?>

The string at line 59 contains a single quote ('), which should be escaped by a backslash (\').

Pritaeas, thank you for responding. Would you clarify this answer for me? Are you referring to the start quote or the end quote? If the end quote, do I remove the slash from before which is currently /<', and change it to </', or add an additional one, /</' ? There are seven identical strings (code wise) and they are all the same, so should I adjust them all the same way? Why were the other strings not called out as errors by the editor? Sorry, I really need basic help.

No, You are using a single quote in between (doesn't). That is the one that should be escaped. As it is now, the single quote in doesn't is recognized as the closing quote for the string.

$error_message .= 'Please tell us if you are a child under 18 years old. Sorry, young at heart doesn\'t apply here.<br />';

Oh, thank you so much. Avoid single quotes in words, noted. I'll see where that takes me.

Yes, it did work in removing the error reference from that string. I uploaded and am still having the same result. When I submit I get a blank page, and the url is my domain with the name of the php file. I feel like I am calling it incorrectly as if I want it to open in the browser instead of acting on the form information.

This code only shows output if you POST information to it. If you just call it, it does nothing, ergo the blank page.

I apologize, my terminology is improper. I have the form created in html. It is on the server in the root directory along with the php file. I tested the form by putting something in all the fields, then hit the submit button. That's when it gives me back a blank page instead of my message, and it does not send me an email with the information requested and submitted in the form.

Can you show me a link to your page ? (Or paste the form here.)

Note that array keys are case sensitive, so perhaps the first line should be:

if (isset($_POST['Email']))

Try the following:

<?php
if(isset($_POST['email'])) {
	
	// recipient and subject
	$email_to = "gathering@sixcrows.org";
	$email_subject = "OJAJA Talent Shindig Registration";
	
	
	function died($error) {
		// error code here
		echo "Sorry, some of the required information is missing. ";
		echo "Note the red asterists for required fields.<br /><br />";
		echo $error."<br /><br />";
		echo "Please fill in the missing information, and try again.<br /><br />";
		die();
	}
	
	// validation expected data exists
	if(!isset($_POST['Name']) ||
		!isset($_POST['Email']) ||
		!isset($_POST['Phone1']) ||
		!isset($_POST['Phone2']) ||
		!isset($_POST['Gender']) ||
		!isset($_POST['Child']) ||
		!isset($_POST['Age']) ||
		!isset($_POST['ParentsKnow']) ||
		!isset($_POST['FirstGathering']) ||
		!isset($_POST['Talent'])) {
		died('We are sorry, but there appears to be a problem with the form you submitted.');		
	}
	
	$Name = $_POST['Name']; // required
	$Email = $_POST['Email']; // required
	$Phone1 = $_POST['Phone1']; // required
	$Phone2 = $_POST['Phone2']; // not required
	$Gender = $_POST['Gender']; // required
	$Child = $_POST['Child']; // required
	$Age = $_POST['Age']; // not required
	$ParentsKnow = $_POST['ParentsKnow']; // not required
	$FirstGathering = $_POST['FirstGathering']; // required
	$Talent = $_POST['Talent']; // required
	
	$error_message = "";
	$email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
  if(!eregi($email_exp,$Email)) {
  	$error_message .= 'Please enter your correct email address.<br />';
  }
	$string_exp = "^[a-z .'-]+$";
  if(!eregi($string_exp,$Name) < 2) {
  	$error_message .= 'Please enter your name. You might want us to know who you are ;).<br />';
  }
  if(!eregi($string_exp,$Phone1) < 2) {
  	$error_message .= 'We need one phone number for you. Please put it in the first box. Add another contact number in the second box if you like.<br />';
  }
  if(!eregi($string_exp,$Gender) < 2) {
  	$error_message .= 'Please tell us if you are a boy or a girl. We want a balance for the Shindig.<br />';
  }
  if(!eregi($string_exp,$Child) < 2) {
  	$error_message .= 'Please tell us if you are a child under 18 years old. Sorry, young at heart doesn\'t apply here.<br />';
  }
  if(!eregi($string_exp,$FirstGathering) < 2) {
  	$error_message .= 'Please tell us if this is your first Six Crows Gathering. This will help us to help you.<br />';
  }
  if(!eregi($string_exp,$Talent) < 2) {
  	$error_message .= 'Please describe your "act" and if you like, some background about you and your talent. <br />';



  }
  if(strlen($error_message) > 0) {
  	died($error_message);
  }
	$email_message = "Form details below.\n\n";
	
	function clean_string($string) {
	  $bad = array("content-type","bcc:","to:","cc:","href");
	  return str_replace($bad,"",$string);
	}
	
	$email_message .= "Name: ".clean_string($Name)."\n";
	$email_message .= "Email: ".clean_string($Email)."\n";
	$email_message .= "Phone1: ".clean_string($Phone1)."\n";
	$email_message .= "Gender: ".clean_string($Gender)."\n";
	$email_message .= "Child: ".clean_string($Child)."\n";
	$email_message .= "Age: ".clean_string($Age)."\n";
	$email_message .= "ParentsKnow: ".clean_string($ParentsKnow)."\n";
	$email_message .= "FirstGathering: ".clean_string($FirstGathering)."\n";
	$email_message .= "Talent: ".clean_string($Talent)."\n";
	
	$headers='';
	$headers.="To: {$_POST['Recipient']}\n";
	$headers.="From: webmaster@sixcrows.org\n";
	mail($_POST['Recipient'],$_POST['Subject'],$email_message,$headers);
?>	
	
<!-- Return message here -->

Thanks for taking part in our OJAJA Talent Shindig. With your help, we will create a lively evening of fun at the 9th Annual Six Crows Gathering in 2011. Your form is ready to send. After we receive it, we will add you to our OJAJA lineup. We will confirm receipt. Down the road as plans develop, we will provide further information to participants.

Yours in Service,
The 2011 Six Crows Gathering Organizing Committee

<?php
}
?>

Pritaeas, I'm sorry, I have no idea what that means. Hielo, thank you also for trying. I did give it a try and had the same result. I have persisted -- for almost the whole of four days!! -- and am ready to throw my hands up, I am so far behind in my work.

My biggest problem is I am trying to learn it through tutorials I'm finding online,
and no two give the same syntax parameters. It seems there are many ways of doing the same thing, and no two tutorials have all the fields I need covered. If anyone can suggest a better way for me to do this, I appreciate the help.

At this point, I am way past the first code I posted. I scrapped the whole thing and started over with a new approach. When that failed, my error log gave me this message:

[Wed Oct 27 10:47:39 2010] [error] [client 98.250.84.109] PHP Warning:
mail() expects at least 3 parameters, 2 given in /usr/vhome/sixcrows.org/

O don't understand why I have to add the third field, message, for the email body when all I want is the feedback results. But I went ahead, and am now not getting error messages in my error log, but it's still not working as I need it to. On testing, I now get my error message in my browser window, and the supposed form result is being delivered to my email address, but without any feedback results. I guess that's progress, but I just can't figure out what else to do. No syntax errors show up in the document, and no error is reported in the log, but I'm not getting the requested feedback.

Please someone would you look over my new code and see if I'm missing something glaring? I really want to learn this, but I'm days behind in my work and can't spend any more time right now trying to solve this, and at the same time I have to get this form working asap! I feel like I have give four days of my life to what should have taken an hour to accomplish!

<?php

function checkOK($field)
{
if (eregi("\r",$field) || eregi("\n",$field)){
die("Invalid Input!");
}
}

$recipient = "gathering@sixcrows.org";
$subject = "OJAJA Registration";
$message = "Form Feedback is as follows:";


mail($recipient, $subject, $message);

	$Name=$_POST['Name'];
	$Email=$_POST['Email'];
	$Phone1=$_POST['Phone1'];
	$Phone2=$_POST['Phone2'];
	$Gender=$_POST['Gender'];
	$Child=$_POST['Child'];
	$Age=$_POST['Age'];
	$ParentsKnow=$_POST['ParentsKnow'];
	$FirstGathering=$_POST['FirstGathering'];
	$Talent=$_POST['Talent'];
{
if (!preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $Email)) {
  echo "Please enter your correct email address.";
} elseif ($Name == "") {
  echo "Please enter your name. You might want us to know who you are";
} elseif ($Phone1 == "") {
  echo "We need one phone number for you. Please put it in the first box. Add another contact number in the second box if you like.";
} elseif ($Gender == "") {
  echo "Please tell us if you are a boy or a girl. We want a balance for the Shindig.";
} elseif ($Child == "") {
  echo "Please tell us if you are a child under 18 years old. Sorry, young at heart does not apply here.";
} elseif ($FirstGathering == "") {
  echo "Please tell us if this is your first Six Crows Gathering. This will help us to help you.";
} elseif ($Talent == "") {
  echo "Please describe your act and if you like, some background about you and your talent.";
} if (mail($recipient, $subject)) {
  echo "Thanks for taking part in our OJAJA Talent Shindig. With your help, we will create a lively evening of fun at the 8th Annual Six Crows Gathering in 2011. As plans develop, we will provide further information to participants.
\n\n
Yours in Service,\n
The 2011 Six Crows Gathering Organizing Committee";
} else {
  echo "Can't send email to $recipient";
}}
?>

Thank you.

I added it though I didn't think I needed anything in the body but my
results. I am now returning my error message in my browser window, and the
form result is now coming to me from "Apache" but it only contains the
message I put in that spot, and not my form results. There are no more error
messages in the log.

mail() expects at least 3 parameters, 2 given in /usr/vhome/sixcrows.org/...don't understand why I have to add the third field, message, for the email body when all I want is the feedback results

The problem is on line 42, since you are calling mail() again. What you need to do is change LINE to:

$mailResult = mail($recipient, $subject, $message);

so that $mailResult will have the "outcome/result" of the attempted email action.

THEN on line 42, get rid of the mail() function and instead use:

if ($mailResult){...}

the supposed form result is being delivered to my email address, but without any feedback results

The instant you call mail(), it is at THAT point when an email will be sent out. If you look at line 15 again, at that point $message only has "Form Feedback is as follows:" so that is all you will get. Try:

<?php
function checkOK($field)
{
	if (eregi("\r",$field) || eregi("\n",$field)){
		die("Invalid Input!");
	}
}

$recipient = "gathering@sixcrows.org";
$subject = "OJAJA Registration";
$message = "Form Feedback is as follows:";

	$Name=$_POST['Name'];
	$Email=$_POST['Email'];
	$Phone1=$_POST['Phone1'];
	$Phone2=$_POST['Phone2'];
	$Gender=$_POST['Gender'];
	$Child=$_POST['Child'];
	$Age=$_POST['Age'];
	$ParentsKnow=$_POST['ParentsKnow'];
	$FirstGathering=$_POST['FirstGathering'];
	$Talent=$_POST['Talent'];


if (!preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $Email)) {
  	echo "Please enter your correct email address.";
} elseif ($Name == "") {
  	echo "Please enter your name. You might want us to know who you are";
} elseif ($Phone1 == "") {
  	echo "We need one phone number for you. Please put it in the first box. Add another contact number in the second box if you like.";
} elseif ($Gender == "") {
  	echo "Please tell us if you are a boy or a girl. We want a balance for the Shindig.";
} elseif ($Child == "") {
  	echo "Please tell us if you are a child under 18 years old. Sorry, young at heart does not apply here.";
} elseif ($FirstGathering == "") {
  	echo "Please tell us if this is your first Six Crows Gathering. This will help us to help you.";
} elseif ($Talent == "") {
  	echo "Please describe your act and if you like, some background about you and your talent.";
} 
else
{

	$message .= PHP_EOL . '           Name: ' . $Name;
	$message .= PHP_EOL . '          Email: ' . $Email;
	$message .= PHP_EOL . '        Phone 1: ' . $Phone1;
	$message .= PHP_EOL . '        Phone 2: ' . $Phone2;
	$message .= PHP_EOL . '         Gender: ' . $Gender;
	$message .= PHP_EOL . '          Child: ' . $Child;
	$message .= PHP_EOL . '            Age: ' . $Age;
	$message .= PHP_EOL . '   Parents Know: ' . $ParentsKnow;
	$message .= PHP_EOL . 'First Gathering: ' . $FirstGathering;
	$message .= PHP_EOL . '         Talent: ' . $Talent;


	$mailResult=mail($recipient, $subject, $message);

	if ($mailResult) {
		echo "<p>Thanks for taking part in our OJAJA Talent Shindig. With your help, we will create a lively evening of fun at the 8th Annual Six Crows Gathering in 2011. As plans develop, we will provide further information to participants.</p>
		<br/>
		<p>Yours in Service,</p>\n
		<p>The 2011 Six Crows Gathering Organizing Committee</p>";
	}
	else 
	{
		echo "<p>Can't send email to $recipient</p>";
	}
}
?>

Thank you. Wow, that was fast. You must be seasoned.

So to clarify, you are suggesting I change line 15 to:

$mailResult = mail($recipient, $subject, $message);

and line 42 to:

} if ($mailResult)) {

So to clarify, you are suggesting I change line 15...

Yes. ADDITIONALLY, you need to append the data submitted (which is currently in $_POST) onto your $message variable so that is actually emails to you as well.

Look at my previous post. All the changes are there.

On another note, on line 2 of my FIRST post if(isset($_POST['email'])) should have been UPPERCASE "E" for Email since your form has name="Email".

hielo, I can't thank you enough. It works. Now if you would indulge me one more time, I have to sheepishly admit that I messed it up trying to make a change on the form. I had originally put a check box for kids to check that their parents know about their participation. I didn't want it to be required as all respondents won't be children, only some will be. On testing, when I checked the box nothing happens. I guess a single checkbox won't return results, so I tried a radio button instead, and made sure the name matches what's in the php. Now I'm back to no results. Can you determine why? If I make it a yes/no with two radio buttons, can I make it required only if the answer to if it is a child is yes?

Can you determine why? If I make it a yes/no with two radio buttons, can I make it required only if the answer to if it is a child is yes?

Of course.

try:

...
} elseif ($Child == "Yes" && (!isset($ParentsKnow) || empty($ParentsKnow)) ) {
  	echo "Please tell us if you are a child under 18 years old. Sorry, young at heart does not apply here.";
...

instead of simply using: ...} elseif ($Child == ""){...

Step backward I'm afraid. I added the code and then duplicated it in the next line to make the age required for children. Somehow, it doesn't like this new code. I made sure it was just as you instructed. I also tried removing the third bracket as I wondered if that was the problem as I couldn't see where there was a third to close, but that produced exactly the same error.

[Wed Oct 27 18:25:21 2010] [error] [client 98.250.84.109] PHP Parse error: syntax error, unexpected T_BOOLEAN_AND in /usr/vhome/sixcrows.org/home/http/ojaja.php on line 36, referer: http://www.sixcrows.org/OJAJARegistrationForm.htm

Here is the complete file as it now is.

<?php

function checkOK($field)
{
if (eregi("\r",$field) || eregi("\n",$field)){
die("Invalid Input!");
}

}

       

$recipient = "gathering@sixcrows.org";
$subject = "OJAJA Registration";
$message = "$Name is registering for OJAJA 2011";

$Name=$_POST['Name'];
$Email=$_POST['Email'];
$Phone1=$_POST['Phone1'];
$Phone2=$_POST['Phone2'];
$Gender=$_POST['Gender'];
$Child=$_POST['Child'];
$Age=$_POST['Age'];
$ParentsKnow=$_POST['ParentsKnow'];
$FirstGathering=$_POST['FirstGathering'];
$Talent=$_POST['Talent'];
       
      if (!preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $Email)) {
      echo "Please enter your correct email address.";
      } elseif ($Name == "") {
      echo "Please enter your name. You might want us to know who you are";
      } elseif ($Phone1 == "") {
      echo "We need one phone number for you. Please put it in the first box. Add another contact number in the second box if you like.";
      } elseif ($Gender == "") {
      echo "Please tell us if you are boy or girl. We want a balanced Shindig.";
      } elseif ($Child == "Yes") && (!isset($ParentsKnow) || empty($ParentsKnow)) ) {
      echo "Please tell us if you are a child under 18 years old. Sorry, young at heart does not apply here.";
      } elseif ($Child == "Yes") && (!isset($Age) || empty($Age)) ) {
      echo "Please tell us how old you are.";	
      } elseif ($FirstGathering == "") {
      echo "Please tell us if this is your first Six Crows Gathering. This will help us to help you.";
      } elseif ($Talent == "") {
      echo "Please describe your act and if you like, some background about you and your talent.";
      }
      else
      {
      $message .= PHP_EOL . ' Name: ' . $Name;
      $message .= PHP_EOL . ' Email: ' . $Email;
      $message .= PHP_EOL . ' Phone 1: ' . $Phone1;
      $message .= PHP_EOL . ' Phone 2: ' . $Phone2;
      $message .= PHP_EOL . ' Gender: ' . $Gender;
      $message .= PHP_EOL . ' Child: ' . $Child;
      $message .= PHP_EOL . ' Age: ' . $Age;
      $message .= PHP_EOL . ' Parents Know: ' . $ParentsKnow;
      $message .= PHP_EOL . 'First Gathering: ' . $FirstGathering;
      $message .= PHP_EOL . ' Talent: ' . $Talent;
      $mailResult=mail($recipient, $subject, $message);
      if ($mailResult) {
      echo "<CENTER><p><br/><br/><br/><br/>Thanks for taking part in our OJAJA Talent Shindig. With your help, <br/>we will create a lively evening of fun at the 8th Annual Six Crows Gathering <br/>in 2011. As plans develop, we will provide further information to participants.</p>
      <p>Yours in Service,</p>\n
      <p>The 2011 Six Crows Gathering Organizing Committee</p></CENTER>";
      }
      else
      {
      echo "<p>Sorry, you are experiencing a finicky form that won't send itself right now. Try again later, or email the requested information to $recipient</p>";
      }
      }
      ?>

Again, thank you.

On lines 36 and 38 you have: ... == "Yes"[B])[/B]... That closing parenthesis to the right of "Yes" does not belong there. Look closer at what I posted earlier. It should simply be: ... == "Yes"...

Can you post the code?
^
Ignore that, my browser didn't load any comments

I looked at that line over and over and didn't see that. Seems obvious NOW!!! It's back up and running smooth as silk! Hielo, thank you again so much for all this help. I would never have gotten there on my own.

I started this adventure determined to get through the learning curve. I don't remember being so confused learning html, and I've read that php isn't that complex. Different tutorials give different ways of doing things but don't really explain all the intricacies and this way doesn't always jive with that way. It's a matter of understanding the logic. How do people learn this stuff? Can you recommend any good tutorials?

Thank you again.

How do people learn this stuff? Can you recommend any good tutorials?

Having a background in C, transitioning to PHP was not an issue for me. So I really did not go to any tutorial. I literally looked up the functions in the online manual as I needed them. The user comments on that online manual also help a lot.

Having said that, I have a seen a lot of people recommend the w3schools.com php tutorial. Perhaps you may want to give that a try.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.