embedding php inside of php

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 = 'bluethundr@xxxxxxxxxxxx';
     $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



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux