2016-04-14 15 views
0

Sadece isimleri kullanarak gönderenin ve alıcının e-postalarıyla eşleşen bir ekip e-posta formum var. Bir js komut istemi eklemek istiyorum, böylece listede olmayan bir kişi mesaj göndermek için e-postalarını kullanabilir. Burada ben nePHP Tetikleyicileri Sonra PHP'ye Veriyi Dön

else { 
    echo "<script type='text/javascript'>prompt('$otheremail');</script>"; 
    $otheremail = file_get_contents("otheremail.json"); 

    #$otheremail=$_POST['data']; 
    $findat2= '@'; 
    $pos2=strpos($otheremail, $findat2); 
    while ($pos2 == false) { 
     $pos2 = 'enter a valid email'; 
     echo "<script type='text/javascript'>prompt('$pos2' , '');</script>"; 
    } 
} 
mail($toaddress, $subject, $message, $headers); 
$success=htmlspecialchars($_GET['to']); 
$success=ucwords($success); 
$valid= 'sent to' . ' ' . $success . ' ' . 'from a php server. Hit the back arrow' ; 
echo "<script type='text/javascript'>alert('$valid');</script>"; 

php her zaman javascript önce yürütülür sunucu tarafında çalıştırılır, bu durum jquery's ajax yoluyla elde edilmeli ve bu yüzden bunu yapamazsınız

<?php 
    session_start(); 
    $name=htmlspecialchars($_GET['name']); 
    $name=trim($name); 
    $name=ucwords($name); 
    #talkes in the parameter of 'name' from html form then trims it and changes the first letter to uppercase [tells the name of sender] 
    $to=htmlspecialchars($_GET['to']); 
    $to=trim($to); 
    $to=ucwords($to); 
    #takes in the parameter of 'to' from html form then trims it and changes the first letter to uppercase [tells the name of recipient] 
    $from=htmlspecialchars($_GET['from']); 
    $from=trim($from); 
    #takes in the parameter of 'from' from html and trims it [tells the email of the sender] 
    $message=htmlspecialchars($_GET['message']); 
    $message=trim($message); 
    #takes in the message content from the html form 
    $fromsub=htmlspecialchars($_GET['name']); 
    #takes in the parameter of 'name' from the html form and inserts it in the subject field of the email 

    #below is where the email is formatted given the values from the html form 

    $toaddress='[email protected]'; 
    $subject= $fromsub . ' ' . 'sent you a message'; 
    $headers = 'From: ' . $fromsub . "\r\n" . 
       'Reply-To: ' . $from . "\r\n"; 
    $mailcontent= 'Team Member: ' . $fromsub . "\r\n" 
        .'Email: ' . $from . "\r\n" 
        .'Message: '.$message. "\r\n"; 
    $fromaddress= 'From: ' . $from; 

    mail($toaddress, $subject, $message); 

    $nwc=str_word_count($to); 
    #checks that word count of name is at least 2 
    while ($nwc < 2) { 
     $nwc = "Please enter a first and last name"; 
     echo "<script type='text/javascript'>alert('$nwc');</script>"; 
     exit; 
    } 
    #counts words in from sub 
    $fswc=str_word_count($fromsub); 
    #checks that fromsub word count is less at least two 
    while ($fswc < 2) { 
     $fswc = "Please enter a first and last name"; 
     echo "<script type='text/javascript'>alert('$fswc');</script>"; 
     exit; 
    } 

$passemail = htmlspecialchars($_GET['from']); 
$findat = '@'; 
$pos = strpos($passemail, $findat); 
    while ($pos === false) { 
$pos = "Enter a valid email"; 
     echo "<script type='text/javascript'>alert('$pos');</script>"; 
     exit; 
    } 
          /*INDEX OF NAMES --- WILL EVENTUALLY BECOME AN SQL DATABASE --- INDEX OF NAMES*/ 

if (strstr($to, 'Andrew Pitten')) { 
$toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Anna Correia')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Bryanna Bergevin')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Brianna Bergevin')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Caroline Pitten')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Jason Provencher')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Jordan Provencher')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Ryan Bobbit')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Sean Sylvester')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Max Goddard')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'James Davis')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Mr Davis')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Mr. Davis')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Mrs Corliss')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Mrs. Corliss')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Sean Muller')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Mr Muller')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Mr. Muller')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Josh Waxman')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Carissa Yim')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'John Pitten')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Zev Sernik')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'YG')) { 
    $toaddress='[email protected]'; 
} 
elseif (strstr($to, 'Tech Support')) { 
    $toaddress='[email protected]'; 
} else { 
    echo "<script type='text/javascript'>alert('$otheremail');</script>"; 
    $otheremail=$_POST['data']; 
    $findat2= '@'; 
    $pos2=strpos($otheremail, $findat2); 
    while ($pos2 == false) { 
     $pos2 = 'enter a valid email'; 
     echo "<script type='text/javascript'>prompt('$pos2' , '');</script>"; 
    } 
} 

mail($toaddress, $subject, $message, $headers); 
$success=htmlspecialchars($_GET['to']); 
$success=ucwords($success); 
$valid= 'sent to' . ' ' . $success . ' ' . 'from a php server. Hit the back arrow' ; 
echo "<script type='text/javascript'>alert('$valid');</script>"; 


/* 
#=================#===============================================================#============== 
|VARIABLE GLOSSARY|      DEFINITON         | 
#=================#===============================================================#============== 
|$fromsub   |takes in from and puts it into email subject     | 
|$fswc   |counts the words in fromsub and makes sure its two words  | 
|$name   |takes in the name of SENDER         | 
|$nwc    |checks that the RECIPIENT is first and last name    | 
|$toaddress  |email address of RECIPIENT from the variable $to    | 
|$to    |takes in 'to'             | 
|$subject   |email subject             | 
|$message   |takes in content from the field 'message'      | 
|$passeamail  |checks that email includes @         | 
|$headers   |email header             | 
|$success   |lets the user know that they have succesfully sent the email | 
|$findat   |set the $passemail value to pos        | 
|$pos    |set the $passemail value to check for @      | 
|$valid   |pushes a javascript alert using $success as a field variable | 
#=================#===============================================================#=============== 
OTHER NOTES 

else echo "I do not recognize this person"; 
nl2br somehwere 
*/ 
    ?> 

cevap

0

İşte tüm vücut bunu kolayca yap. İşte (ajax olmadan) önerim var:

  1. yeni bir sayfa (p1.php) oluşturma, basitçe e-posta parametreleri alır (, mesaj, gelen e ...)-mail.php 'yi göndermek e-posta gönderin veya gönderin ve gönderin;
  2. Geçerli sayfanızı yalnızca değer almak ve formunuzu <form action = "p1.php" method = "post"> şeklinde ayarlamak için kullanın ve daha sonra bu formda kullanıcının gönderilecek e-postayı seçmesi için girişleri görüntüleyin. ajax nasıl kullanılacağı

İşte bu javascript:

Bu olabilir olmak bir düğme tıklaması veya diğer olayın tetiklediği bir işlev ...

<script> 
    function send_mail(to_email, message, headers){ 
     var from_email = prompt("Where from?"); 

     var form_data = {from:from_email ,to:to_email, message, headers};//add your own data 

     $.ajax({ 
      url : "send-email-page.php", 
      type: "POST", 
      data : form_data , 
      success: function(data) 
      { 
       //data is what the send-email-page will echo 
       //it could be a message for the user saying 'email sent' 
      } 
     }); 
    } 
</script> 

Ve eğer bir şey olabilir php sayfanızda bunun gibi:

<a href = "javascript: send_mail(<?php echo "$to,$message,$headers";?>)">Send from another address</a> 

Eğer php JS eklerseniz JS html için basılacaktır ama tüm php kodu it would Belki

sahip e kadar yürütülmez, bir kez daha

:

cevabımı düzenledikten sonra Geçerli bir isim olup olmadığını değerlendirmek için en iyisi olun ve eğer değilse, diğer adı soran bir girdi ile yeni bir form yazdırın ve bu form gönderildiğinde kendini tekrar aynı (php sayfası) olarak adlandırın. Kullanıcının girdiği yeni adın dışında parametreler al, bu şekilde geçerli bir e-posta/isim isteyene kadar sürekli bir e-posta soracaksın, eğer isim geçerliyse sadece e-postayı gönder ve formu bastırma.

+0

Şimdi bir js e-posta formu kullanmam gerekiyor mu? –

+0

Bunun için daha fazla kod farklı isimlerden geçiyor gibi görünüyor ve daha sonra bir e-posta adresi uygular. –

+0

Bu isimleri e-posta adreslerini oluşturan sayfaya nasıl iletirsiniz (get, post, ...)? –

İlgili konular