Solved

Script to send email not working correctly..

Posted on 2007-11-19
3
238 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

Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

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

Things That Drive Us Nuts Have you noticed the use of the reCaptcha feature at EE and other web sites?  It wants you to read and retype something that looks like this.Insanity!  It's not EE's fault - that's just the way reCaptcha works.  But it is …
This article discusses four methods for overlaying images in a container on a web page
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
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 …

777 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