Bastien Koert
On 2012-06-30, at 8:00 PM, Tim Dunphy <
[email protected]> wrote:
> Hello,
>
> I am trying to get the hang of php using some examples that I found
> in a book. I've been making progress lately, but one thing has me a
> bit stumped.
>
>
> In an HTML form that I am echoing through PHP I would like to embed
> smaller chunks of php in the code like so:
>
>
> echo '<br /><br />
> <form method="post" action="sendemail.php">
> <label for="subject">Subject of email:</label><br />
> <input id="subject" name="subject" type="text" value="<?php
> echo $subject;?>"><br />
> <label for="elvismail">Body of email:</label><br />
> <textarea id="elvismail" name="elvismail" rows="8"
> cols="40">"<?php echo $text;?>" </textarea><br />
> <input type="submit" name="Submit" value="Submit" />
> </form>';
>
>
>
> If I do embed the smaller chunks of php in the form the way I've just
> shown you the script instantly breaks and the web page shows only a
> white screen of death.
>
> And I see this in the web server logs
>
> [Sat Jun 30 19:12:54 2012] [notice] child pid 7769 exit signal
> Segmentation fault (11)
>
>
> If I remove the smaller bits of php as I show here the web page starts
> working again
>
>
> echo '<br /><br />
> <form method="post" action="sendemail.php">
> <label for="subject">Subject of email:</label><br />
> <input id="subject" name="subject" type="text"><br />
> <label for="elvismail">Body of email:</label><br />
> <textarea id="elvismail" name="elvismail" rows="8"
> cols="40"></textarea><br />
> <input type="submit" name="Submit" value="Submit" />
> </form>';
>
>
> Here, I'll show the entire script so you can get a better sense of what it does
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html xmlns="
http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
> <title>Make Me Elvis - Send Email</title>
> <link rel="stylesheet" type="text/css" href="style.css" />
> </head>
> <body>
> <img src="blankface.jpg" width="161" height="350" alt=""
> style="float:right" />
> <img name="elvislogo" src="elvislogo.gif" width="229" height="32"
> border="0" alt="Make Me Elvis" />
> <p><strong>Private:</strong> For Elmer's use ONLY<br /><br
> Write and send an email to mailing list members.</p>
>
> <?php
>
> error_reporting(E_ALL);
> ini_set('display_errors', 'On');
>
> if (isset($_POST['Submit'])) {
>
> $from = '
[email protected]';
> $subject = $_POST['subject'];
> $text = $_POST['elvismail'];
> $output_form = "false";
>
> if (empty($subject) && empty($text)) {
> echo 'You forgot the email subject and body.<br />';
> $output_form = 'true';
>
> }
>
>
> if (empty($subject) && !empty($text)) {
> echo 'You forgot the email subject.<br />';
> $output_form="true";
>
> }
>
> if ((!empty($subject)) && empty($text)) {
>
> echo 'You forgot the email body text.<br />';
> $output_form="true";
>
>
> }
>
> } else {
>
> $output_form = 'true';
>
> }
>
>
>
> if ($output_form == 'true') {
>
>
> echo '<br /><br />
> <form method="post" action="sendemail.php">
> <label for="subject">Subject of email:</label><br />
> <input id="subject" name="subject" type="text"><br />
> <label for="elvismail">Body of email:</label><br />
> <textarea id="elvismail" name="elvismail" rows="8"
> cols="40"></textarea><br />
> <input type="submit" name="Submit" value="Submit" />
> </form>';
>
>
> } else {
>
> $dbc = mysqli_connect('127.0.0.1', 'admin', 'secret
>
> ', 'elvis_store')
> or die('Error connecting to MySQL server.');
>
> $query = "SELECT * FROM email_list";
> $result = mysqli_query($dbc, $query)
> or die('Error querying database.');
>
> while ($row = mysqli_fetch_array($result)){
> $to = $row['email'];
> $first_name = $row['first_name'];
> $last_name = $row['last_name'];
> $msg = "Dear $first_name $last_name,\n$text";
> mail($to, $subject, $msg, 'From:' . $from);
> echo 'Email sent to: ' . $to . '<br />';
> }
>
> mysqli_close($dbc);
>
> }
>
>
> ?>
>
> </body>
> </html>
>
>
> I was hoping that someone might be out there that could understand
> this problem and point out where I'm going wrong.
>
> Thanks!
>
> --
> GPG me!!
>
> gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit:
http://www.php.net/unsub.php
>
You can't have an echo inside and echo. Properly quote and concatenate the additional echo and you'll be fine
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit:
http://www.php.net/unsub.php