There are several ways to do this.
Some people like the approach:

if ($submit) { send_email(); }

or you can put a hidden field in your form, like op:

<input name="op" type="hidden" id="op" value="send" />

and use:

if (isset($HTTP_GET_VARS['op']) && ($HTTP_GET_VARS['op'] == 'send'))

and there are many others.
by the way in the code you wrote you have:

<form method="post" .....>

and then you use:

$id=$_GET['id'];  <---  if this is the same than $HTTP_GET_VARS['id'] this
wont work

Where does that mail function (is it a function?)  go?

The function sends an email, for more details consult the php manual.

----- Original Message -----
From: "Phil Matt" <[EMAIL PROTECTED]>
Sent: Thursday, January 29, 2004 7:10 PM
Subject: [PHP-DB] PHP and mail forms

> Hello to all.
> I am trying to write a simple (at least I thought it was simple...)
"Contact Us" form that
> sends an email when it is submitted.
> The $to_name variable was passed from a previous page. I am sure that the
> was passed, as I can echo it and it is being passed correctly - thanks to
this list!
> The problem I am having is this: I cannot quite figure out how an html
form handles this
> mail function when the "to" field is filled with an existing variable.
> This is what I've got: (I removed all of the table formatting to make it
clearer here)
> <form name="mailer" method="post" action="<? $_SERVER['PHP_SELF']; ?>">
> <input name="from_name" type="text" id="from_name"
> <input name="from_email" type="text" id="from_email"
> <input name="subject" type="text" id="subject" value="<?=$subject?>"
> <textarea name="message" cols="55" rows="15"
> id="message"><?=$message?></textarea>
> <input name="userid" type="hidden" id="userid" value="<?$to_name?>" />
>           <input type="submit" name="Submit" value="mail">
> So, I think that this sets up the form for processing, AFAIK.
> Then, I added the stuff that pulls the email address associated with the
id in $to_name
> from the MySQL database, and adds the string for the proper domain. I've
left out the
> connection stuff for clarity:
> $id=$_GET['id'];
> $string="";
> $result= mysql_query("SELECT * FROM mydatabase WHERE ID=$id",$db);
> while ($myrow = mysql_fetch_row($result)){
> $to_name="$myrow[3]$string"; } ?>
> I know that the "thing" that actually sends mail looks like this:
> mail($to_name, $from_name, $subject, $message, "From:
$from_email\nX-Mailer: PHP/"
> .. phpversion());
> But how do I get this all to happen when the user hits the submit button?
Where does
> that mail function (is it a function?)  go? I have read a lot of stuff on
the various PHP lists
> and sources, but I just cannot figure out this piece of the puzzle.
> TIA for your suggestions, and for your patience with my lack of knowledge
> -- Phil Matt
> --
> PHP Database Mailing List (
> To unsubscribe, visit:

PHP Database Mailing List (
To unsubscribe, visit:

Reply via email to