Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Php variables to an email.

0 views
Skip to first unread message

GarryJones

unread,
Sep 7, 2010, 7:07:00 PM9/7/10
to
I am collecting data and storing it in PHP variables.

All it all its 33 variables. I store these in mysql after some
controls and validation checks.

I then want to send an email to the user to confirm the information
and point out possible problems.

I have tried but NONE of the variables are being read in and it just
sends the raw php code with the variable names,

Can someone point me in the right direction....

Thanks

Garry Jones
Sweden

Marious Barrier

unread,
Sep 7, 2010, 7:18:33 PM9/7/10
to

Some code for us to had a clue what it is about would be good. none of
us is clairvoyant here. ;)

GarryJones

unread,
Sep 7, 2010, 7:52:21 PM9/7/10
to
> Some code for us to had a clue what it is about would be good. none of
> us is clairvoyant here. ;)

Ok, I thought maybe it would be quicker if someone could just point me
in the right direction, it must be an everyday thing to do with php
but I can't find a simple solution. Just websites tha confuse me with
great complex answers involving pear,perl and mime but I am not
interested in learning something new, I just need this to work in an
easy way with php.

After reading in the values I am trying to send the values $bokfor and
$bokeft in the following email. I receive the php code and not the
actual variable.

<?php
// multiple recipients
$to = 'ga...@vasatrampet.se' . ', ';
$to .= 'in...@vasatrampet.se';

// subject
$subject = 'Whatever';

// message
$message = "
<html>
<head>
<title>Bokningsbekräftelse</title>
</head>
<body>
<p>Hej<?= $bokfor ?>&nbsp;<?= $bokeft ?>, tack för din bokning!</p>
</body>
</html>
";

// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Garry <ga...@cykeltours.se>' . "\r\n";
$headers .= 'From: Garry <ga...@vasatrampet.se>' . "\r\n";
$headers .= 'Bcc: ga...@vasatrampet.se' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);
?>

The Natural Philosopher

unread,
Sep 7, 2010, 7:57:43 PM9/7/10
to
> <p>Hej".= $bokfor." ".$bokeft ." tack för din bokning!</p>

> </body>
> </html>
> ";
>
> // To send HTML mail, the Content-type header must be set
> $headers = 'MIME-Version: 1.0' . "\r\n";
> $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
>
> // Additional headers
> $headers .= 'To: Garry <ga...@cykeltours.se>' . "\r\n";
> $headers .= 'From: Garry <ga...@vasatrampet.se>' . "\r\n";
> $headers .= 'Bcc: ga...@vasatrampet.se' . "\r\n";
>
> // Mail it
> mail($to, $subject, $message, $headers);
> ?>
>

See the line edited above:-

<p>Hej ".$bokfor." ".$bokeft." tack för din bokning!</p>

Marious Barrier

unread,
Sep 7, 2010, 8:15:19 PM9/7/10
to

There is still an = symbol there.

Jerry Stuckle

unread,
Sep 7, 2010, 8:35:57 PM9/7/10
to

Garry, this line is your problem:

<p>Hej<?= $bokfor ?>&nbsp;<?= $bokeft ?>, tack för din bokning!</p>

You're already in PHP - the <?= does nothing for you, other than print
out those characters. However, the ?> at the end terminates PHP; then
your &nbsp; and the rest is output to the browser.

However, I'm very surprised you didn't get an error - this would be
invalid PHP code (no ending ';' statement delimiter). You should ensure
your development system has the following in your php.ini file:

error_reporting=E_ALL // E_ALL | E_STRICT is even better
display_errors=on

Additionally, using <?= outputs to the screen, not appends to the
string, as you wish. However, it also depends on short_open_tags=on in
your php.ini file - not a good thing to count on (among other things, it
interferes with XML delimiters).

These two statements are exactly equivalent:

<?= $bokfor ?>

and

<?php echo $bokfor; ?>

If you would have used the longer version, it might have caught your
attention, also.

The solution is to change the line to:

<p>Hej" . $bokfor . "&nbsp;" . $bokeft . ', tack för din bokning!</p>

Or, since you're using double quotes, which will interpret PHP variables
within the string, you could just use:

<p>Hej $bokfor &nbsp; $bokeft, tack för din bokning!</p>

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstu...@attglobal.net
==================

The Natural Philosopher

unread,
Sep 8, 2010, 7:53:08 AM9/8/10
to
I know. See the last line I posted.
0 new messages