Solved

Script to send email not working correctly..

Posted on 2007-11-19
3
216 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
Comment Utility
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
Comment Utility
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
Comment Utility
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

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Developers of all skill levels should learn to use current best practices when developing websites. However many developers, new and old, fall into the trap of using deprecated features because this is what so many tutorials and books tell them to u…
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 …
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

743 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now