Jump to content

Archived

This topic is now archived and is closed to further replies.

eskimowned

Multiple Form Actions

Recommended Posts

Is it possible to have multiple form actions.

I want to use a form to update to MYSQL database and mail information, once the submit button is pressed. Is this possible?

Share this post


Link to post
Share on other sites
You can't have multiple actions, but you do not need that for updating database entries and mail info.

Share this post


Link to post
Share on other sites
Why cant you do both the database update and the mail action on the same page...?

Orio.

Share this post


Link to post
Share on other sites
Excellent advice gents - I was hoping for a little more than "yes this can be done" :D.

I'll clarify it a little better, I was probably a little vague: all I want to do is when the submit button is clicked it inserts a record into the database and email some information. How can this be done.

Or would I do it by updating the database within the mail script the form action sends to.

Any help anyone can give me is always greatly appreciated.

Share this post


Link to post
Share on other sites
"Or would I do it by updating the database within the mail script the form action sends to."

exactly.  you can do as many operations as you'd like on the action page; i'd suggest updating the database first, and then mailing the information.

Share this post


Link to post
Share on other sites
Quality - Cheers geezer!

I think I know how to get that to work.

Just a quick question about the mail form - using PHPmailer how do you show form vairiables as part of the HTML body?

Any help on that would be sweet.

Cheers in advance.  PEACE

Share this post


Link to post
Share on other sites
[code]
$message = "Dear ". $yourname. "<br/>";
$message.= "Thanks very much for the order for ". $widget. ". We know you'll enjoy it.<br/>";
$message.= "Yours insincerely, blah blah";
[/code]

Share this post


Link to post
Share on other sites
[code]<?php

$company = $_POST['Company'];
$first = $_POST['FirstName'];
$last = $_POST['LastName'];
$event = $_POST['Event'];
$price = $_POST['Price'];

// Grab our config settings
require_once($_SERVER['DOCUMENT_ROOT'].'/PHPdocs/phpmailer/config.php');

// Grab the FreakMailer class
require_once($_SERVER['DOCUMENT_ROOT'].'/PHPdocs/phpmailer/MailClass.inc');

// instantiate the class
$mailer = new FreakMailer();

// Set the subject
$mailer->Subject = 'This is a test';

$mailer->isHTML(true);

// Send the E-Mail
// Body
$mailer->Body = '<img src="http://www.womeninbusiness.co.uk/images/WIBsphere.jpg" alt="WIB logo" /><br />

<h2>WIB HTML test</h2>
<p>Visit us <a href="http://www.womeninbusiness.co.uk" title="Women In Business">Women In Business.co.uk</a> for a loving community!</p>
<?php "Dear ". $first. "<br/>";?>
<p>Sincerely,<br>
Shauns Web test </p>';

// Add an address to send to.
$mailer->AddAddress('shaun@designatedassociates.com', 'shaun');
$mailer->AddAddress('darren.wirth@designatedassociates.com', 'Darren');

if(!$mailer->Send())
{
  echo 'There was a problem sending this mail!';
}
else
{
  echo 'Mail sent!';
}
$mailer->ClearAddresses();
$mailer->ClearAttachments();
?>
[/code]

The bit I can't get to display is the <?php "Dear ". $first. "<br/>";?>

Any ideas?
Any help is always greatly appreciated

Share this post


Link to post
Share on other sites
[code]<?php require_once('../../Connections/Conn1.php'); ?>
<?php
mysql_select_db($database_Conn1, $Conn1);
$query_UpdateCustInfo = "SELECT * FROM Customer";
$UpdateCustInfo = mysql_query($query_UpdateCustInfo, $Conn1) or die(mysql_error());
$row_UpdateCustInfo = mysql_fetch_assoc($UpdateCustInfo);
$totalRows_UpdateCustInfo = mysql_num_rows($UpdateCustInfo);

$company = $_POST['Company'];
$first = $_POST['FirstName'];
$last = $_POST['LastName'];
$event = $_POST['Event'];
$price = $_POST['Price'];

mysql_query("INSERT INTO CUSTOMER (Company, `First Name`, `Last Name`, Event, price) VALUES ('$Company', '$first', '$last', '$event', '$price')");
mysql_close();

// Grab our config settings
require_once($_SERVER['DOCUMENT_ROOT'].'/PHPdocs/phpmailer/config.php');

// Grab the FreakMailer class
require_once($_SERVER['DOCUMENT_ROOT'].'/PHPdocs/phpmailer/MailClass.inc');

// instantiate the class
$mailer = new FreakMailer();

// Set the subject
$mailer->Subject = 'This is a test';

$mailer->isHTML(true);

// Send the E-Mail
// Body
$mailer->Body = '<img src="http://www.womeninbusiness.co.uk/images/WIBsphere.jpg" alt="WIB logo" /><br />

<h2>WIB HTML test</h2>
<p>Visit us <a href="http://www.womeninbusiness.co.uk" title="Women In Business">Women In Business.co.uk</a> for a loving community!</p>
<?php "Dear ". $first. "<br/>";?>

<p>Sincerely,<br>
Shauns Web test </p>';

// Add an address to send to.
$mailer->AddAddress('shaun@designatedassociates.com', 'shaun');
$mailer->AddAddress('darren.wirth@designatedassociates.com', 'Darren');

if(!$mailer->Send())
{
  echo 'There was a problem sending this mail!';
}
else
{
  echo 'Mail sent!';
}
$mailer->ClearAddresses();
$mailer->ClearAttachments();
?>
<?php
mysql_free_result($UpdateCustInfo);
?>
[/code]

I've also included a copy of the code to show the update record query, thats not working either, DOH!

Any help anyone can give me on that as well would be awesome. Cheers everyone!

Share this post


Link to post
Share on other sites
Hej,
In regards to the "Dear.."; not printing.
replace

<?php "Dear ". $first. "<br/>";?>

with

<?php echo"Dear ". $first. "<br/>";?>

Share this post


Link to post
Share on other sites
I've just done the suggested change and this is what comes out in the email:

WIB HTML test
Visit us Women In Business.co.uk for a loving community!

";?>
Sincerely,
Shauns Web test

DOH!

Any sugggestions would be greatly appreciated.

Peace

Share this post


Link to post
Share on other sites
Cheers for the help, I made the suggested change but this time nothing happened, the email came through but the php variable didn't come through. doh!

I still cant get it to update the table either.

Sorry to be a pain, but if anyone can shed any light on this it would be quality.

Share this post


Link to post
Share on other sites
Hej
  I suggest you check that the 'first name' field on the form that sends to your script is spelt right.

WW.

Share this post


Link to post
Share on other sites
It is spelt right, just checked and double checked. If it had been that I would have been very upset.

Still no joy I'm afraid. I'm assuming it must be something to do with PHPmailer.

I'm getting so frustrated with this.

Share this post


Link to post
Share on other sites
Hi,

Its simple. Your making the mail into the $mailer->Body so all behind the = sign must be in either ' and end in ' or " and end in ". So when you want to add the Dear at the end you should get ride of the <?php sign and the " and have something like this.

</p>Dear '. $first. '<br/>';

Share this post


Link to post
Share on other sites
That worked - you are a legend! Thanks to everyone who gave me suggestions, this is a bit of a learning curve for me, so all of your advice is greatly appreciated.

Now I know I'm pushing my luck here - but has anyone any ideas why the insert record query at the top isn't doin anything?

Cheers

Liverpool Eskimo

Share this post


Link to post
Share on other sites
if this is the one your starting with a select statment instead of an update statement.
$query_UpdateCustInfo = "SELECT * FROM Customer";
$UpdateCustInfo = mysql_query($query_UpdateCustInfo, $Conn1) or die(mysql_error());

if you want more help on this start a new post all these pages take time to view

Share this post


Link to post
Share on other sites

×

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.