Re: Studying IF statements

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

 



Shawn

Thanks for your reply.  Some of what you are saying is a little ahead of my 
lessons, but let me address as best I can. The script worked fine in the 
previous lesson where I was to send emails from my DB, this lesson is to 
kill the email from being sent if empty.

> On your very first line you haven't surround the email in quotes (only
> one quote).

That worked fine with the single quotes and is listed in the book that way.

Then later in the line $dbc =
> mysqli_connect(hostet',UN,'PW','DB') or die('Error connecting to MySQL
> server'); you're missing a quote before hostet.

The single quote was deleted when I was sanitizing the code to post here, 
but it is in the code...sorry.

So the jist of what you are saying is to add "die" after the if 
statements...but they are not in the book

*****

I tried your code and it was not working either, am getting a parse error

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in
on line 109
 Line 109         die 'You forgot to enter a subject and or text in the 
body! <br/>Click the back button<br />';

"Shawn McKenzie" <nospam@xxxxxxxxxxxxx> wrote in message 
news:B8.22.22219.724FEB94@xxxxxxxxxxxxxxx
> Gary wrote:
>> Reading a book on php/mysql (Head First) and the following code is not
>> working, athough I am pretty sure I have it as they say to. Trying to 
>> kill a
>> sendmail script if I forget to enter a subject or text in body of email. 
>> I
>> am getting the echo, but it is still sending the emails out.
>>
>> What am I missing here?
>>
>> Thanks.
>>
>> Gary
>>
>> <?php
>>    $from = emial@xxxxxxxxx';
>>    $subject =$_POST['subject'];
>>    $text =$_POST['body_of_mail'];
>>
>>    if(empty($subject)) {
>>    if(empty($body_of_mail)){
>>
>>    echo 'You forgot to enter a subject and or text in the body! <br />';
>>
>>
>>    $dbc = mysqli_connect(hostet',UN,'PW','DB')
>>   or die('Error connecting to MySQL server');
>>
>>    $query = "SELECT * FROM table";
>>    $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 />';
>>   }
>>     $msg ="Dear $first_name.' '.$last_name\n $text";
>>     mail($to,$subject,$msg,$from);
>>     echo "Email sent to: $to <br /> ";
>>
>>    mysqli_close($dbc);
>>
>>        }
>>  }
>>
>>    ?>
>>
>>
>
> Well, first, it shouldn't do anything because you have parse errors that
> should stop the script.
>
> On your very first line you haven't surround the email in quotes (only
> one quote).  Then later in the line $dbc =
> mysqli_connect(hostet',UN,'PW','DB') or die('Error connecting to MySQL
> server'); you're missing a quote before hostet.
>
> Second, you look for empty vars and if they are empty then you echo that
> they forgot to enter them but go on to send the emails anyway.
>
> Then you loop through a database result and send to everyone and then
> you send another one to the last person you just sent to.
>
> Try this:
>
> <?php
>
>   $from = 'emial@xxxxxxxxx';
>   $subject =$_POST['subject'];
>   $text =$_POST['body_of_mail'];
>
>   if(empty($subject) || empty($body_of_mail)) {
> die 'You forgot to enter a subject and or text in the body! <br
> />Click the back button<br />';
> } else {
> $dbc = mysqli_connect('hostet',UN,'PW','DB') or die('Error connecting
> to MySQL server');
>
> $query = "SELECT * FROM table";
> $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);
>  }
>
> ?>
>
> -- 
> Thanks!
> -Shawn
> http://www.spidean.com 



-- 
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