saversites Posted December 17, 2017 Report Share Posted December 17, 2017 (edited) Folks, Do you spot any logical errors in my script ? I have not given the full script but the SendMail part where I am encountering problem. I get error: Parse error: syntax error, unexpected '"' in /home/...... on line 155. Line 155 is the line before the <html> tag. That line shows this: $body = "$first_name." ".$surname ?>, Look at the 5th line from the following code. That is where the error occurs: [php] $account_name = "$username"; //Step 3C. Email user their account activation link for them to click to confirm their Email Address and activate their new Account. $to = "$primary_website_email"; $subject = "Your Following Browser account activation details!"; $body = "$first_name." ".$surname ?>, <html> <head> <title>Activation Link</title> </head> <body> Thank you for joining us!<br> You need to click on the following link <a href="<?php .$account_activation_link.">$account_activation_link?></a> to activate your account. </body> </html>"; <?php $headers = "From: $site_admin_email"; //More headers //Always set content-type when sending HTML email $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-9" . "\r\n"; if (!mail($to,$subject,$body,$headers)) { //Alert user System Error. System unable to email the Account Activation Link. echo "Sorry! We have failed to email you your account activation details. Please contact the website administrator!"; exit(); } else { //Alert user System Success. System was able to email the Account Activation Link. echo "<h3 style='text-align:center'>Thank you for your registration!</h3><br>"; echo "Now, check your email \"$primary_website_email\" for details on how to activate your new account \"$account_name\" which you just registered."; exit(); } [/php] Edited December 17, 2017 by saversites Quote Link to comment Share on other sites More sharing options...
saversites Posted December 17, 2017 Author Report Share Posted December 17, 2017 It is like this: $body = "$first_name." ".$surname ?>, The dbl quote prior to $first_name represents the opening dbl quote for the variable $body. The 2 dbl quotes in between $first_name. .$surname represent a space. (Space inbetween $first & $surname). So, $firstname, concatenator, 2 dbl quotes representing the space, concatenator, $surname. The closing dbl quote for the $body variable is right after the closing html tag (few lines below the $body variable). I hope that is clear. Therefore, I do not see any errors on this line: $body = "$first_name." ".$surname ?>, According to the error, one of these dbl quotes should not exist. It does not say which one but I'm guessing php is picking on the first one ALL for nothing. Quote Link to comment Share on other sites More sharing options...
administrator Posted December 17, 2017 Report Share Posted December 17, 2017 3 hours ago, saversites said: $body = "$first_name." ".$surname ?>, You have to concatenate these strings together. So something like: $body = $first_name . $surname; Quote Link to comment Share on other sites More sharing options...
saversites Posted December 18, 2017 Author Report Share Posted December 18, 2017 I did not understand others' hints that you do not concatenate inside dbl quotes but sngl quotes only. Thank You! Solved. Quote Link to comment Share on other sites More sharing options...
administrator Posted December 18, 2017 Report Share Posted December 18, 2017 Cool Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.