Re: Mail function

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

 



Hi,
   
  Tried it...but it didn't work...Not sure why. I am using a respectable ISP and they are looking at the problem although they tend to take their time. 
   
  I figure I must not be passing the variable. I will post my entire code.
   
  For all those that help again thank you.
   
  <?php
  require("config.php");
require("functions.php");
  
//echo some styles to spice it up...
  echo "
<style>
body
   {   
   background: #131313;   
   font-family: Verdana, Arial;   
   font-weight: bold;   
   font-size: 9px;   
   color: #FFFFFF;
   }
   
.register_box
   {   
   border: 1px solid #323232;   
   background: #202020;   
   font-family: Verdana, Arial;   
   font-weight: bold;   
   font-size: 9px;   
   color: #FFFFFF;
   }
</style>
";
  switch($_GET['action'])
{   
 case "new":
 //--------------------------------------       
 //[New Registration]
 //--------------------------------------
 if(!isset($_POST['register']))
 {
       echo "
          <form action='register.php?action=new' method='POST'>      
    Username: <br />      
    <input type='text' name='username' class='register_box'>      
    <br />      
    Email: <br />      
    <input type='text' name='email' class='register_box'>      
    <br />      
    Password: <br />      
    <input type='password' name='password' class='register_box'>                                              
    <br />      
    <input type='submit' name='register' value='New Registration!' class='register_box'>      
    </form>      
    "; 
   
    }
 elseif(isset($_POST['register']))
 {
     $username = mysql_real_escape_string($_POST['username']);      
  $password = mysql_real_escape_string($_POST['password']);      
  $email = mysql_real_escape_string($_POST['email']);      
  $activation_code = generateCode(25);
  
  $userq = "SELECT username FROM user_system WHERE username = '$username' LIMIT 1";      
  $emailq = "SELECT email FROM user_system WHERE email = '$email' LIMIT 1";
  
  //put errors into an array      
  $errors = array();      
  if(empty($username))
  {         
  $errors[] = "The username field was blank! <br />";      
  }
  if(mysql_num_rows(mysql_query($userq)) > 0)      
  {         
  $errors[] = "The username given is already in use! Please try another one! <br />";      
  }
     if(empty($password))      
  {         
  $errors[] = "The password field was blank! <br />";      
  }      
  if(empty($email))      
  {         
  $errors[] = "The email field was blank! <br />";      
  }
  if(mysql_num_rows(mysql_query($emailq)) > 0)      
  {         
  $errors[] = "The email given is already in use! Please try another one! <br />";      
  }
  if(count($errors) > 0)
  {
    foreach($errors as $err)
     {
       echo $err;
     }
      }
   else
   {
   $sqlq = "INSERT INTO user_system (username, password, email, is_activated, activation_code)"; 
   $sqlq .= "VALUES ('$username', '".md5($password)."', '$email', '0', '$activation_code')";
   mysql_query($sqlq) or die(mysql_error());

     echo "$email"; <----- As you can see I am echoing here...so it should be passed. 
  
   echo "Thanks for registering!          
   You will recieve an email shortly containing your validation code,          
   and a link to activate your account!";
   
           
        mail($email, "New Registration, www.sitename.com", " I'm passing it here
    Thanks for registering on SITE NAME.                  
    Here are your login details:                  
    
    Username: ".$username."         
    Password: ".$password."                  
    
    In order to login and gain full access, you must validate your account.                   
    
    Click here to validate:                  
    
    http://www.sitename.com/register.php?action=activate&user=".$username."&code=".$activation_code."; 
    
    Thanks!               
    
    [Webmaster]                  
    ");
            
   }
  }
 break;
  
  case "activate":
  //--------------------------------------
  //[Activate Account]
  //--------------------------------------
   if(isset($_GET['user']) && isset($_GET['code']))
 {
 $username = mysql_real_escape_string($_GET['user']);
 
 if(mysql_num_rows(mysql_query("SELECT id FROM user_system WHERE username = '$username'")) == 0)
 
      {         
   echo "That username is not in the database!";      
   }
   else      
   {
   $activate_query = "SELECT is_activated FROM user_system WHERE username = '$username'";          
   $is_already_activated = mysql_fetch_object(mysql_query($activate_query)) or die(mysql_error());
 
  if($is_already_activated->is_activated == 1)         
   {            
   echo "This user is already activated!";         
   }
  else         
      { 
         $code = mysql_real_escape_string($_GET['code']);
   $code_query = "SELECT activation_code FROM user_system WHERE username = '$username' LIMIT 1";             
   $check_code = mysql_fetch_object(mysql_query($code_query)) or die(mysql_error());
   
      if($code == $check_code->activation_code)
   {
   $update = "UPDATE user_system SET is_activated = '1' WHERE username = '$username'";
   mysql_query($update) or die(mysql_error());
   echo "User $username has been activated! Thanks! You may now login!";
   }
   else
   {
   echo "The activation code was wrong! Please try again!";
   }
    }
  }
  }
 else
 {
 echo "No ID or user given to activate!";
 }
 break;
} 
?>

Shafiq Rehman <rehmanms@xxxxxxxxx> wrote:
  Hi,

What i understand is, you have written a new function for sending emails.
Are you passing all the variables to that function? If not, you have to
pass.

or you can use my function
// function declaration, This function can send only HTML emails
function sendMail ($toEmail, $subject, $message, $fromName, $fromEmail)
{
$header .= "From: $from_name <$fromEmail>\n";
$header .= "Reply-To: <$fromEmail>\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-type: text/html; charset=us-ascii; format=flowed\n";
$header .= "Content-Transfer-Encoding: 7bit\n";
$header .= "X-Mailer: php\n\n";
mail($toEmail, $subject, $message, $header);
}
// variable values and usage
$toEmail = "shafiq@xxxxxxxxx";
$subject = "Hello, This is test";
$message = "Hellow Shafiq, 

This is test
message

Regards
Shafiq";
$fromName = "Sender Name";
$fromEmail = "you@xxxxxxxxxxxxxx";
sendMail ($toEmail, $subject, $message, $fromName, $fromEmail);
?>

-- 
Shafiq Rehman (ZCE)
http://www.phpgurru.com | http://shafiq.pk

On 4/5/07, Zhimmy Kanata wrote:
>
> Hi,
>
> I am working on a program to create a registration feature through a
> email notificaiton much like this list. For functional use but also for
> personal training.
>
> However, I can't seem to pass the variable into the mail function() ? If
> I echo the variable it displays it so it must be passing the variable down.
> If I enter in a fixed and workable email address where $email is then it
> works as well. So I am a little confused to this problem. I have other
> programs where I do this but I place the mail function within a new
> function(). However, when I do that it just barks back at me. Contacted my
> Hosting company they are investigating.
>
> Thanks in advance for your help...
>
> Here is the code..
>
> echo "$email";
> echo "Thanks for registering! <----- It does echo it.
> You will recieve an email shortly containing your validation code,
> and a link to activate your account!";
>
>
> mail($email, "New Registration, www.sitename.com", "
> Thanks for registering on SITE NAME.
> Here are your login details:
>
> Username: ".$username."
> Password: ".$password."
>
> In order to login and gain full access, you must validate your
> account.
>
> Click here to validate:
>
> http://www.sitename.com/login/register.php?action=activate&user=
> ".$username."&code=".$activation_code."
>
> Thanks!
>
> [Webmaster]
> ");
>
> I got the code from www.avengingsorrow.com to see all the code.
>
> Sorry about the HTML email. I am new to the list (first post) and I
> don't believe you can turn off HTML email in Yahoo.
>
> Thanks again in advance
>
> Zhimmy
>
>
> ---------------------------------
> Make free worldwide PC-to-PC calls. Try the new Yahoo! Canada Messenger
> with Voice


 		
---------------------------------
 All new Yahoo! Mail - 
---------------------------------
Get a sneak peak at messages with a handy reading pane.

[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