FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Re: Php variables to an email.
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: Php variables to an email. [message #169351 is a reply to message #169348] Wed, 08 September 2010 00:35 Go to previous message
Jerry Stuckle is currently offline  Jerry Stuckle
Messages: 2598
Registered: September 2010
Karma:
Senior Member
On 9/7/2010 7:52 PM, GarryJones wrote:
>> 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 = 'garry(at)vasatrampet(dot)se' . ', ';
> $to .= 'info(at)vasatrampet(dot)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<garry(at)cykeltours(dot)se>' . "\r\n";
> $headers .= 'From: Garry<garry(at)vasatrampet(dot)se>' . "\r\n";
> $headers .= 'Bcc: garry(at)vasatrampet(dot)se' . "\r\n";
>
> // Mail it
> mail($to, $subject, $message, $headers);
> ?>
>

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.
jstucklex(at)attglobal(dot)net
==================
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: Openssl through HTTP Proxy (cUrl?)
Next Topic: executing command with shell_exec()
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Wed Nov 27 07:34:05 GMT 2024

Total time taken to generate the page: 0.05146 seconds