Ajax i php - wysyłanie poczty
Skrypt wysyła pocztę używając PHP i AJAX
//index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Ajax</title> <link href="/ajaxcss.css" rel="stylesheet" type="text/css"> <script src="/ajaxcore.js" type="text/javascript"></script> <script src="/ajax.js" type="text/javascript"></script> </head> <body> <div id="mainDiv" class="mainDiv"> <div class="txtDesc"> Do: </div> <div class="inpEl"> <input type="text" value="" style="width:100%" id="tfDo" class="myTextInput"/> </div> <div class="txtDesc"> Temat: </div> <div class="inpEl"> <input type="text" value="" style="width:100%" id="tfTemat" class="myTextInput"/> </div> <div class="txtDesc">Treść:</div> <div> <textarea class="myTextInput" id="taTresc" style="width:100%;" rows="10" cols="50"></textarea> </div> <div style="width:50%;margin:0 auto;text-align:center;"> <input type="button" value="Wyślij" class="myButton" id="btnWyslij" onclick="startRequest();" style="margin-top:10px;" /> </div> </div> </body> </html> |
//mail.php
<?php if(!isSet($_GET["do"]) || !isSet($_GET["temat"]) || !isSet($_GET["tresc"])){ echo("Nieprawidłowe wywołanie skryptu!"); } else if($_GET["do"] == "" || $_GET["temat"] == "" || $_GET["tresc"] == ""){ echo("Proszę wypełnić wszystkie pola formularza."); } else{ $do = $_GET["do"]; $temat = $_GET["temat"]; $tresc = $_GET["tresc"]; if(@mail($do, $temat, $tresc)){ echo("List został wysłany na adres $do."); } else{ echo("Nie udało się wysłać listu na adres $do."); } } ?> |
//ajaxcss.css
.mainDiv { color: #333333; position: relative; background-color: #EFEFEF; border: 1px solid #000000; margin: 10px 10px 10px 10px; padding: 14px 14px 14px 14px; width: 350px; visibility: visible; } .dataDiv { color: #333333; position: relative; background-color: #ffffff; border: 1px solid #000000; margin: 10px 10px 10px 10px; padding: 14px 14px 14px 14px; width: 420px; visibility: visible; } .myButton { font-family:helvetica,sans-serif; font-size:84%; font-weight:bold; border:1px solid; border-top-color:#696; border-left-color:#696; border-right-color:#363; border-bottom-color:#363; width:120px; margin:5px; } .myTextInput { border:1px solid; background-color: #F8F8F8; border-top-color:#696; border-left-color:#696; border-right-color:#363; border-bottom-color:#363; width:70%; } |
//ajaxcore.js
function getXMLHttpRequestObject() { try{ return new XMLHttpRequest(); } catch(e){ try{ return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){ return false; } } } function startGETRequest(url, onComplete, onEnd) { var XMLHttpRequestObject = getXMLHttpRequestObject(); if(XMLHttpRequestObject){ XMLHttpRequestObject.open("GET", url); XMLHttpRequestObject.onreadystatechange = function() { if (XMLHttpRequestObject.readyState == 4){ if(XMLHttpRequestObject.status == 200){ var responseXML = XMLHttpRequestObject.responseXML; var responseText = XMLHttpRequestObject.responseText; onComplete(responseText, responseXML); } delete XMLHttpRequestObject; onEnd(); } } XMLHttpRequestObject.send(null); } } function startPOSTRequest(url, params, onComplete, onEnd) { var XMLHttpRequestObject = getXMLHttpRequestObject(); if(XMLHttpRequestObject){ XMLHttpRequestObject.open("POST", url); XMLHttpRequestObject.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded'); XMLHttpRequestObject.onreadystatechange = function() { if (XMLHttpRequestObject.readyState == 4){ if(XMLHttpRequestObject.status == 200){ var responseXML = XMLHttpRequestObject.responseXML; var responseText = XMLHttpRequestObject.responseText; onComplete(responseText, responseXML); } delete XMLHttpRequestObject; onEnd(); } } XMLHttpRequestObject.send(params); } } |
//ajax.js
function startRequest() { tfDoText = document.getElementById('tfDo').value; tfTematText = document.getElementById('tfTemat').value; taTrescText = document.getElementById('taTresc').value; btnWyslij = document.getElementById('btnWyslij'); btnWyslij.disabled = true; url = "mail.php?do=" + tfDoText; url += "&temat=" + tfTematText; url += "&tresc=" + taTrescText; url=encodeURI(url); startGETRequest(url); } function requestEnd() { btnWyslij = document.getElementById('btnWyslij'); btnWyslij.disabled = false; } function requestCompleted(text, xml) { alert(text); } |