Saturday, 20 March 2010
 
  Home arrow Contoh Script arrow PHP Script arrow PHP Script: Kirim Email pake PHP
template designed by peekmambo.com
 

- 4 langkah mudah belajar bikin web. Langsung praktek!
- TUNGGU TANGGAL TERBITNYA! Buku baru dari Prothelord: Cara Mudah Membuat Desain Web untuk Pemula.
- Bisnis Pulsa Tanpa Biaya Registrasi

Popular
Terbaru !!!
Iklan Kursus
Main Menu
Home
Tutorial Programming
Belajar PHP
Belajar HTML
Belajar MySQL
Belajar Web
Membuat Website
Belajar Visual Basic
Tempat Kursus Web
Contoh Script
Belajar Komputer
Jaringan Komputer
Bisnis Internet
Berita
English Tutorial
My Blog
Artikel
Surat Anda
Forum Prothelonians
Buku
Login Form
Username

Password

Remember me
Forgotten your password?
No account yet? Create one
Statistics
Members: 1301
News: 209
WebLinks: 15
Visitors: 1391101
PHP Script: Kirim Email pake PHP PDF Print E-mail
Written by Prothelord   
Saturday, 14 March 2009
PHP Script yang saya tulis kali ini adalah tentang mengirimkan email. Anda tentunya sudah tahu bahwa kita bisa mengirimkan email dengan menggunakan PHP. Sebelum saya tunjukkan script PHPnya, ada sedikit cerita kenapa saya menulis tentang script email ini.
Beberapa waktu yang lalu, saya menerima email dari salah satu pengunjung http://kursus-online.com yang menanyakan mengapa script PHP untuk mengirimkan emailnya tidak bisa digunakan untuk mengirimkan ke lebih dari 1 penerima. Padahal menurut beliau, scrip tersebut seharusnya bisa digunakan untuk mengirimkan ke 2 alamat penerima.

Nah, inilah script asli yang dikirimkannya:


<?php
  /****SET THE MAX CHARS FOR EACH MESSAGE***************/
   
   //it is recommended not to set the max too high, to prevent extremely long messages
   // from stalling your server
   
   $EMAIL_MAX = 2500;
   $SMS_MAX = 120;
  
  /*****************************************************/

  //function for stripping whitespace and some chars
  function cleanUp($str_to_clean, $newlines, $spaces){
  
   //build list of whitespace chars to be removed
   $bad_chars = array('\r', '\t', ';');
  
   //if newlines are false, add that to the list of bad chars
   if(!$newlines){array_push($bad_chars, '\n');}
   
   //if spaces are false, strip them too
   if(!$spaces){array_push($bad_chars, ' ');}
   
   $str_to_clean_a = str_replace($bad_chars, '', $str_to_clean);
   $str_to_clean_b = strip_tags($str_to_clean_a);
   return $str_to_clean_b;
  }
  
  //function to check for valid email address pattern
  function checkEmail($email) {
   if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {return false;}
   return true;
  }
  //function to check for valid url pattern
  function checkURL($url) {
   if(!eregi("^http:\/\/", $url)) {return false;}
   return true;
  }
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title>Contact Form</title>
 <style type="text/css">
  /* BASIC STYLES */
  body{font-family: 'Lucida Grande',Trebuchet, Tahoma, sans-serif;color:#222;font-size:11px;}
  fieldset{margin:0;padding:0;border:0;}
  label{width:250px; display:block;}
  .txt_input{width:250px; display:block;}
  textarea{height:80px; width:250px;}
  input{display:block;}
  .req{color:#f00;font-size:90%;}
  #form_errors{color:#f00; display:none;}
  #form_thanks{color:#000; display:none;}
 </style>

 <script type="text/javascript">
v_fields = new Array('sender_name','sender_subject','sender_url','sender_message');alert_on = true;thanks_on = true; thanks_message = "Terima Kasih Telah Memasang Iklan. TUnggu beberapa saat agar iklan muncul.."; 
 function validateForm(){
  
  //alert(v_fields);
  
  //init errors
  var err = "";
  
  //start checking fields
  for(i=0;i<v_fields.length;i++){
   
   //store the field value
   var _thisfield = eval("document.contact."+v_fields[i]+".value");
   
   //check the field value
   if(v_fields[i] == "sender_name"){
    if(!isAlpha(_thisfield)){ err += "Please enter a valid name\n";}
   }else if(v_fields[i] == "sender_subject"){
    if(!isAlpha(_thisfield)){ err += "Please enter a valid subject\n";}
   }else if(v_fields[i] == "sender_email"){
    if(!isEmail(_thisfield)){ err += "Please enter a valid email address\n";}
   }else if(v_fields[i] == "sender_url"){
    if(!isURL(_thisfield)){ err += "Please enter a valid URL\n";}
   }else if(v_fields[i] == "sender_phone"){
    if(!isPhone(_thisfield)){ err += "Please enter a valid phone number\n";}
   }else if(v_fields[i] == "sender_message"){
    if(!isText(_thisfield)){ err += "Please enter a valid message\n";}
   }
   
  }//end for
  
  if(err != ""){
   if(alert_on){
    alert("The following errors have occurred\n"+err);
   }else{
    showErrors(err);
   }
   
   return false;
  
  }
  
  return true;
 }
 
 //function to show errors in HTML
 function showErrors(str){
  var err = str.replace(/\n/g,"<br />");
  document.getElementById("form_errors").innerHTML = err;
  document.getElementById("form_errors").style.display = "block";
 
 }
 
 //function to show thank you message in HTML
 function showThanks(str){
  var tym = str.replace(/\n/g,"<br />");
  document.getElementById("form_thanks").innerHTML = tym;
  document.getElementById("form_thanks").style.display = "block";
 
 }
 
 function isEmail(str){
 if(str == "") return false;
 var regex = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i
 return regex.test(str);
 }
 
 function isText(str){
  if(str == "") return false;
  return true;
 }
 
 function isURL(str){
  var regex = /[a-zA-Z0-9\.\/:]+/
  return regex.test(str);
 }
 
 // returns true if the number is formatted in the following ways:
 // (000)000-0000, (000) 000-0000, 000-000-0000, 000.000.0000, 000 000 0000, 0000000000
 function isPhone(str){
  var regex = /^\(?[2-9]\d{2}[\)\.-]?\s?\d{3}[\s\.-]?\d{4}$/
  return regex.test(str);
 }
 
 // returns true if the string contains A-Z, a-z or 0-9 or . or # only
 function isAddress(str){
  var regex = /[^a-zA-Z0-9\#\.]/g
  if (regex.test(str)) return true;
  return false;
 }
 
 // returns true if the string is 5 digits
 function isZip(str){
  var regex = /\d{5,}/;
  if(regex.test(str)) return true;
  return false;
 }
 
 // returns true if the string contains A-Z or a-z only
 function isAlpha(str){
  var regex = /[a-zA-Z]/g
  if (regex.test(str)) return true;
  return false;
 }
 
 // returns true if the string contains A-Z or a-z or 0-9 only
 function isAlphaNumeric(str){
  var regex = /[^a-zA-Z0-9]/g
  if (regex.test(str)) return false;
  return true;
 }

</script>

 <?php
 if(isset($_POST["submitForm"])){

  $_name = cleanUp($_POST["sender_name"], false, true);

  $_subject = cleanUp($_POST["sender_subject"], false, true);

  $_message = cleanUp($_POST["sender_message"], true, true);

  $_url = cleanUp($_POST["sender_url"], false, false);

  
  $_body = "You have been sent this message from your contact form\n\n";
  
  if($_name){
   $_body .= "NAME: $_name\n\n";
  }
  
  if($_email){
   $_body .= "EMAIL: $_email\n\n";
  }
  
  if($_url){
   $_body .= "URL: $_url\n\n";
  }
  
  if($_phone){
   $_body .= "PHONE: $_phone\n\n";
  }
  
  if($_message){
  
   //check length of body, reduce to max chars
   if(strlen($_message) > $EMAIL_MAX){$_message= substr($_message, 0, $EMAIL_MAX);}else{$_message = $_message;}
   if(strlen($_message) > $SMS_MAX){$_message2 = substr($_message, 0, $SMS_MAX);}else{$_message2 = $_message;}
  }
  
  

  //store the recipient(s)
  $_to = array();

  //now get the recipient(s)
  $_to[] = " ";
  
  //define the subject
  if(!$_subject){$_subject = "E-Mail from your contact form";}

  
  if(!$_name){$_name = "CONTACT FORM";}
  if(!$_email){$_email = $_name;}
  
  //set the headers
  $_header = "From: $_name < $_email >" . "\r\n" .
    "Reply-To: ".$_email."\r\n" .
    "Super-Simple-Mailer: supersimple.org";
  
  //we can send up to 2 emails (EMAIL and/or SMS)
  if(count($_to) > 2){ $_to = array_slice($_to,0,2);}
  
  for($i=0;$i<count($_to);$i++){
   
   //get the correct message, based on where it is delivering to
   if(strstr($_to[$i],"teleflip.com")){$_text = $_body.$_message2;}else{$_text = $_body.$_message;}
   
   //send the email(s)
   mail($_to[$i], $_subject, $_text, $_header);
   
  }
  
  echo "<script type=\"text/javascript\">window.onload = function(){showThanks(thanks_message);}</script>";
 }
 ?>

</head>
<body>
<div id="container">
<div class="contact">
    
  <fieldset style="float:left;">
  <p id="form_errors"></p>
  <p id="form_thanks"></p>
  <form name="contact" action="<?=$_SERVER['PHP_SELF']?>" method="post" onsubmit="return validateForm();">

  <label>Your Name <span class="req">*</span></label>
  <input type="text" class="txt_input" name="sender_name" />

  <label>Subject <span class="req">*</span></label>
  <input type="text" class="txt_input" name="sender_subject" />

  <label>URL <span class="req">*</span></label>
  <input type="text" class="txt_input" name="sender_url" />

  <label>Message <span class="req">*</span></label>
  <textarea name="sender_message"></textarea>
  <input type="submit" name="submitForm" value="Submit" />
  </form>
  </fieldset>
 </div>
 
 
</div>
</body>
</html>



Bisakah kamu menemukan masalahnya? Saya akan tunjukkan jawabannya dalam tulisan berikutnya mengenai lanjutan PHP Script email ini ya.

Untuk mempermudah ngeceknya, abaikan saja Java Script yang ada.

Petunjuk: Ini masalah Array PHP.

Salam hangat.

Oh iya, kalau pengen kursus bikin web & PHP sambil praktek plus dapet duit juga, coba deh belajar di sini . Sok atuh di klik biar kelihatan.


BINGUNG CARI UANG? Coba bisnis jual pulsa elektrik ini:
- COCOK UNTUK USAHA PRIBADI
- GRATIS BIAYA REGISTRASI
- MODAL KECIL BANGET.
- ANTI RUGI, LANGSUNG JALAN
- Pasif income 2 M/bln, bonus 250 jt.
- Saya sudah coba sendiri! Silakan klik di sini, nothing to lose!

Tolong di klik dulu 2 iklan di atas kalau belum ya. Siapa tau cocok buat kamu. Thanks.

Last Updated ( Saturday, 29 August 2009 )
< Prev   Next >

Comments

KOk rada ribet ya..........
he.........

Posted by nanang, whose homepage is here on 02/02/2010 at 08:51

 1 
Page 1 of 1 ( 1 Comments )
©2006 MosCom

You are not authorized to leave comments. Please login first.
Polls
Materi PHP mana yang menurut kamu sangat kurang lengkap?
  
Kursus Online
Insya Allah terbit akhir Maret 2010 !
Nantikan buku karangan Prothelord ini di toko-toko buku kesayangan Anda!

Klik gambar untuk melihat detil
Iklan Indonesia
Related Items
SMO ShoutBox
This is not a Login form

Name:

Message:

Tag Clouds
encapsulation mencoba mengubah terakhir utama akses pembuatan ilmu file developer action mengetahui saran keren database masalah biaya selamat namanya send guest height alasan lanjut post teman harga paragraf rajin profesional

Joomla Modul

Who's Online
We have 33 guests online
Cari melalui Google

Copyright 2000 - 2005 Miro International Pty Ltd. All rights reserved.
Mambo is Free Software released under the GNU/GPL License.

Get The Best Free Mambo Templates at www.peekmambo.com