Well it sure notices that the passwords are diffrent, but theres 1 problem, it thinks they are diffrent everytime. heres my form code where the pw are: ( No! its not the full code just the parts that have to do with the pw.) [code] PASSWORD: <input name='$password' title="$password" type="password" class="input1" size="22"> CONFIRM: <input name='$password2' title="$password2" type="password" class="input1" size="22"> [/code] heres the rules part of the processing page:(I put all the code that controls the errors its probably something simple, but dont forget I'm still pretty new, mostly learned from tut's) [code] <?php $errors=0; $error="The following errors occured while processing your form submission.<ul>"; pt_register('POST','Plan'); pt_register('POST','Domain'); pt_register('POST','PaymentMethod'); pt_register('POST','Company'); pt_register('POST','FirstName'); pt_register('POST','LastName'); pt_register('POST','Email'); pt_register('POST','Phone1'); pt_register('POST','Phone2'); pt_register('POST','Phone3'); pt_register('POST','Address'); pt_register('POST','City'); pt_register('POST','State'); pt_register('POST','Zipcode'); pt_register('POST','Country'); pt_register('POST','password'); pt_register('POST','password2'); pt_register('POST','Agree'); if($Plan=="" || $Domain=="" || $PaymentMethod=="" || $FirstName=="" || $LastName=="" || $Email=="" || $Address=="" || $City=="" || $Zipcode=="" || $Country=="" || $Password=="" || $ConfirmPassword=="" || $Agree=="" ){ $errors=1; $error.="<li>You missed something! You forgot to fill in a requiered field, Go back and fix it."; } if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$Email)){ $error.="<li>You have entered a invalid email. Ya didn't fool nobody, Go back and fix it."; $errors=1; } if($password!= password2 ) $error.="<li>Your passwords do not match, please go back and correct them."; if($errors==1) echo $error; else{ [/code]