Question

I want this php script to first decide whether or not it should send the following emails, all using data received from a form in another html file. At the moment I'm really not sure what I'm doing with php nor do I know where to start. For the sake of the task, I want the person to correctly identify the picture and match it with pre-assigned passwords. Once they have done this correctly 2 emails would be sent. How would I go about formatting this?

I've adjusted my code with Ian and ThomasEliss' help (Thank you for your insight), however, when I click submit on my form, it simply takes me to the php file, displaying a blank screen. What am I doing wrong. Thank you for your help :)

<?php 
$captcha = $_REQUEST['captcha'] ;
$passwords = array();
$passwords[] = '2Vd27VFfkK' ;
$passwords[] = 'MjgxfNA5Qn' ;
$passwords[] = 'tg3K3GhS6W' ;
$passwords[] = 'n2m6GHfVSK' ;
$passwords[] = 'RTxqN5euFX' ;
$passwords[] = 'AJzsWwES6D' ;
$passwords[] = '24hAgsHuW3' ;
$passwords[] = 'xHzvW9kyFk' ;
$passwords[] = 'CyXH7VRhyp' ;
$passwords[] = 'QshfjUn75Z' ;
if(in_array($usrpassword, $passwords)) {
 $to1 = $_REQUEST['usremail'] ;
 $subject1 = "Joining"; 
 $email = "me@email.com" ; 
 $name = $_REQUEST['name'] ;
 $message1 = "
** This is an automated email, please do not reply **

Hello $name,

This email has been sent because this email address was submitted to our site requesting signup documents. 
If this was not you please ignore this email.
If it was you follow the link below to receive the required documents.

If you have any other questions feel free to email our Administration Officer.

Kind regards.
" ; 
 $headers = "From: Recruiting";
 $sent = mail($to1, $subject1, $message1, $headers) ;
    if($sent) 
    print "Your mail was sent successfully"; }
    else 
    print "We encountered an error sending your submission.
 Please refresh the page to try again."; })
 }
 $to2 = "me@email.com" ;
 $subject = "Signup Forms Requested" ; 
 $from = $_REQUEST['name'] ;
 $usremail = $_REQUEST['usremail'] ;
 $comment = $_REQUEST['comment'] ;
 $email = "me@email.com" ; 
 $message2 = "
  ** This is an automated email, please do not reply **

 Hello Administration Officer,

 The following email is to advise you that $from submitted a request for sign up forms.
 The email submitted was: $usremail

 They have recieved the required documents and have included the following comment in their submission:

 $comment

 If you have any questions or problems please email the Webmaster.

 Regards.

 email: me@email.com
" ; 
 $headers = "From: $email"; 
 $sent = mail($to2, $subject2, $message2, $headers) ; 
 if($sent) 
 {header( 'Location: http://example.com' ) ; }
 else 
 {print "We encountered an error sending your submission."; }
}
else {
 {header( 'Location: http://example.com' ) ; }
}
?>
Was it helpful?

Solution

You could change the following

$password1 = '2Vd27VFfkK' ;
$password2 = 'MjgxfNA5Qn' ;
$password3 = 'tg3K3GhS6W' ;
$password4 = 'n2m6GHfVSK' ;
$password5 = 'RTxqN5euFX' ;
$password6 = 'AJzsWwES6D' ;
$password7 = '24hAgsHuW3' ;
$password8 = 'xHzvW9kyFk' ;
$password9 = 'CyXH7VRhyp' ;
$password10 = 'QshfjUn75Z' ;

if $usrpassword == $password1 || $usrpassword == $password2 || $usrpassword == $password3 || $usrpassword == $password4 || $usrpassword == $password5 || $usrpassword == $password6 ||$usrpassword == $password7 || $usrpassword == $password8 || $usrpassword == $password9 || $usrpassword == $password10

To

$passwords = array();
$passwords[] = '2Vd27VFfkK' ;
$passwords[] = 'MjgxfNA5Qn' ;
$passwords[] = 'tg3K3GhS6W' ;
$passwords[] = 'n2m6GHfVSK' ;
$passwords[] = 'RTxqN5euFX' ;
$passwords[] = 'AJzsWwES6D' ;
$passwords[] = '24hAgsHuW3' ;
$passwords[] = 'xHzvW9kyFk' ;
$passwords[] = 'CyXH7VRhyp' ;
$passwords[] = 'QshfjUn75Z' ;

if(in_array($usrpassword, $passwords))

OTHER TIPS

Another option would be to wrap your mailing in a function and then use a switch statement.

switch($_REQUEST['usrpassword']){
case '2Vd27VFfkK':
    mailFunction();
    break;
case 'MjgxfNA5Qn':
    mailFunction();
    break;
case 'tg3K3GhS6W':
    mailFunction();
    break;
case 'n2m6GHfVSK':
    mailFunction();
    break;
case 'RTxqN5euFX':
    mailFunction();
    break;
case 'AJzsWwES6D':
    mailFunction();
    break;
case '24hAgsHuW3':
    mailFunction();
    break;
case 'xHzvW9kyFk':
    mailFunction();
    break;
case 'CyXH7VRhyp':
    mailFunction();
    break;
case 'QshfjUn75Z':
    mailFunction();
    break;
default:
    //Do something to handle invalid passwords here
} 

function mailFunction(){
$to1 = $_REQUEST['usremail'] ;
$subject1 = "Joining"; 
$email = "noreply@jones.org.au" ; 
$name = $_REQUEST['name'] ;
$message1 = "
** This is an automated email, please do not reply **

Hello $name,

Kind regards.
" ; 
$headers = "From: Recruiting";
$sent = mail($to1, $subject1, $message1, $headers) ;
if($sent){
        print "Your mail was sent successfully";
}    
else{
    print "We encountered an error sending your submission. Please refresh the page to try again.";
}
$to2 = "a@b.com" ;
$subject = "Signup Forms Requested" ; 
$from = $_REQUEST['name'] ;
$usremail = $_REQUEST['usremail'] ;
$comment = $_REQUEST['comment'] ;
$email = "noreply@jones.org.au" ; 
$message2 = "
** This is an automated email, please do not reply **

 Hello Administration Officer,

 The following email is to advise you that $from submitted a request for sign up forms.
 The email submitted was: $usremail

 They have recieved the required documents and have included the following comment in their submission:

 $comment

 Regards,
" ; 
$headers = "From: $email"; 
$sent = mail($to2, $subject2, $message2, $headers) ; 
if($sent){
    header( 'Location: http://example.com' ) ; 
}
else{
    print "We encountered an error sending your submission."; 
    header( 'Location: http://404sqn.aafc.org.au/joinus.html' ) ;
} 
}

See PHP switch manual http://www.php.net/manual/en/control-structures.switch.php .

Though I agree with @ian's answer because an array is much more manageable. In that case, you could still wrap the mailer in a function and then just have:

if(in_array($usrpassword, $passwords)){
    mailFunction();
}
else{
    //Handle invalid passwords here
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top