Solved

Script to send email not working correctly..

Posted on 2007-11-19
3
244 Views
Last Modified: 2013-12-13
I have a page that I am going to use to regenerate a forgotten password, store it to the db and then send it to a page that emails it to the user.  For some reason my email page isn't working.  I am getting an error "Parse error: parse error, unexpected T_ECHO in /home/content/t/f/d/tfd2007/html/mag/emailpw.php on line 48" which is the line in the mail() script - $message = 'Your Username is: '.echo $row_rs_user['username']."\r\n".'Your Password is: '. echo $newpw;

I know all the sessions are set because i have echoed them in the body and see that they are correct as well as the record set information.  What am I doing wrong?  I'm sure its just a missed () or something simple but my brain is just fried from looking at it.  Here is the entire page code..

Thanks for any help!

<?php require_once('Connections/MagazineDB.php');
session_start();
 ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
$newpw = $_SESSION['nwpw'];
$user = $_SESSION['username'];
$colname_rs_user = "-1";
if (isset($_SESSION['username'])) {
  $colname_rs_user = $_SESSION['username'];
}
mysql_select_db($database_MagazineDB, $MagazineDB);
$query_rs_user = sprintf("SELECT * FROM users WHERE username = %s", GetSQLValueString($colname_rs_user, "text"));
$rs_user = mysql_query($query_rs_user, $MagazineDB) or die(mysql_error());
$row_rs_user = mysql_fetch_assoc($rs_user);
$totalRows_rs_user = mysql_num_rows($rs_user);

//Start Email
$to      = $row_rs_user['email_address'];
$subject = 'Your Login Information';
$message = 'Your Username is: '.echo $row_rs_user['username']."\r\n".'Your Password is: '. echo $newpw;
$headers = 'From: craig@topfueldesign.com' . "\r\n" .
    'Reply-To: craig@topfueldesign.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
//End Email
?><!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<meta http-equiv="Refresh" content="8;URL=index.php" />
</head>

<body>
<div id="page">
  <div id="page_content">
    <p align="center">Your New Password Has Been Sent To <?php echo $row_rs_user['email_address'] ?>.<br />
    <a href="index.php">Redirecting..</a>
  </div>
</div>
</body>
</html>
<?php
mysql_free_result($rs_user);
?>
0
Comment
Question by:graphxdiva
  • 2
3 Comments
 
LVL 5

Accepted Solution

by:
administradores earned 500 total points
ID: 20313463
replace that line with this one, removed invalid echos:


echo 'Your Username is: '. $row_rs_user['username']."\r\n".'Your Password is: '. $newpw;

Open in new window

0
 
LVL 5

Expert Comment

by:administradores
ID: 20313474
But as i guess also the code is wrong, you want to set the message not to output it, so replace with the next one:

$message = 'Your Username is: '.$row_rs_user['username']."\r\n".'Your Password is: '. $newpw;

Open in new window

0
 
LVL 4

Expert Comment

by:simonkin
ID: 20313485
Try this, just a syntax error
<?php require_once('Connections/MagazineDB.php');
session_start();
 ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 
  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
 
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
$newpw = $_SESSION['nwpw'];
$user = $_SESSION['username'];
$colname_rs_user = "-1";
if (isset($_SESSION['username'])) {
  $colname_rs_user = $_SESSION['username'];
}
mysql_select_db($database_MagazineDB, $MagazineDB);
$query_rs_user = sprintf("SELECT * FROM users WHERE username = %s", GetSQLValueString($colname_rs_user, "text"));
$rs_user = mysql_query($query_rs_user, $MagazineDB) or die(mysql_error());
$row_rs_user = mysql_fetch_assoc($rs_user);
$totalRows_rs_user = mysql_num_rows($rs_user);
 
//Start Email
$to      = $row_rs_user['email_address'];
$subject = 'Your Login Information';
$message = 'Your Username is: ' . $row_rs_user['username'] . '\r\n' . 'Your Password is: ' . $newpw;
$headers = 'From: craig@topfueldesign.com' . "\r\n" .
    'Reply-To: craig@topfueldesign.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
 
mail($to, $subject, $message, $headers);
//End Email
?><!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<meta http-equiv="Refresh" content="8;URL=index.php" />
</head>
 
<body>
<div id="page">
  <div id="page_content">
    <p align="center">Your New Password Has Been Sent To <?php echo $row_rs_user['email_address'] ?>.<br />
    <a href="index.php">Redirecting..</a>
  </div>
</div>
</body>
</html>
<?php
mysql_free_result($rs_user);
?>

Open in new window

0

Featured Post

Simplifying Server Workload Migrations

This use case outlines the migration challenges that organizations face and how the Acronis AnyData Engine supports physical-to-physical (P2P), physical-to-virtual (P2V), virtual to physical (V2P), and cross-virtual (V2V) migration scenarios to address these challenges.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
How do uses indexes to maximize MySQL Searches 14 55
How do I fix this UPDATE error? 7 32
Output in PHP throwing alignment of data off issue 12 43
Help with PHP 13 27
Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
Does the idea of dealing with bits scare or confuse you? Does it seem like a waste of time in an age where we all have terabytes of storage? If so, you're missing out on one of the core tools in every professional programmer's toolbox. Learn how to …
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question