My "echo" is doing the wrong thing...

I am probably going to be laughed at but truth to be told, I am no php expert…

Here’s the situation: I have a register form and I want people to see a message saying that the registration was successful and now they will recieve an activation e-mail. Here is the code (after you see it, I will let you know what is the error that I am recieving):

[php]


$headers = “From: $from\n”;
$headers .= “MIME-Version: 1.0\n”;
$headers .= “Content-type: text/html; charset=iso-8859-1\n”;
mail($to, $subject, $message, $headers);
echo “signup_success”;
exit();
}
exit();
}
?>

[/php]

And here is the additional script:


<script>
function restrict(elem){
var tf = _(elem);
var rx = new RegExp;
if(elem == "email"){
rx = /[' "]/gi;
} else if(elem == "username"){
rx = /[^a-z0-9]/gi;
}
tf.value = tf.value.replace(rx, "");
}
function emptyElement(x){
_(x).innerHTML = "";
}
function checkusername(){
var u = _("username").value;
if(u != ""){
_("unamestatus").innerHTML = 'checking ...';
var ajax = ajaxObj("POST", "signup.php");
        ajax.onreadystatechange = function() {
       if(ajaxReturn(ajax) == true) {
           _("unamestatus").innerHTML = ajax.responseText;
       }
        }
        ajax.send("usernamecheck="+u);
}
}
function signup(){
var u = _("username").value;
var e = _("email").value;
var p1 = _("pass1").value;
var p2 = _("pass2").value;
var c = _("country").value;
var g = _("gender").value;
var status = _("status");
if(u == "" || e == "" || p1 == "" || p2 == "" || c == "" || g == ""){
status.innerHTML = "Fill out all of the form data";
} else if(p1 != p2){
status.innerHTML = "Your password fields do not match";
} else if( _("terms").style.display == "none"){
status.innerHTML = "Please read the terms of use!";
} else {
_("signupbtn").style.display = "none";
status.innerHTML = 'please wait ...';
var ajax = ajaxObj("POST", "signup.php");
        ajax.onreadystatechange = function() {
       if(ajaxReturn(ajax) == true) {
if(ajax.responseText != "signup_success"){
status.innerHTML = ajax.responseText;
_("signupbtn").style.display = "block";
} else {
window.scrollTo(0,0);
_("signupform").innerHTML = "That's it "+u+"! Now you need to check your email at <u>"+e+"</u> in a moment to complete the sign up process by activating your account. You will not be able to log in until you successfully activate your account!";
}
       }
        }
        ajax.send("u="+u+"&e="+e+"&p="+p1+"&c="+c+"&g="+g);
}
}
function openTerms(){
_("terms").style.display = "block";
emptyElement("status");
}
/* function addEvents(){
_("elemID").addEventListener("click", func, false);
}
window.onload = addEvents; */
</script>

So… right now, what is happening is that when I creat e a new account and click on the “Create account!” button, the activation e-mail is actually sent, but the only message that I get is literaly “signup_success”, and i mean “signup_success” and not what the functions should be doing…

Does any one have a clue of what is going on?

Many thanks in advance!

If that php code is on top of the page, then using exit will kill the rest of the page, causing your problem.

Thanks very much for the help! The error wasn’t that, it was another thing that was in the top of the page, but I only thought about that possibility after I read your answer!

So, THANKS so much!

Happy coding!

Sponsor our Newsletter | Privacy Policy | Terms of Service