Witam, jako, że jestem w tym dość zielony proszę o małą pomoc.
Chciałem stworzyć Formularz Kontaktowy przez AJAX'a w połączeniu z PHP. Wszystko szło sprawnie, do momentu testów (IMG:
style_emoticons/default/biggrin.gif)
Tyle co udało mi się na stukać:
AJAX:
<script type="text/javascript"> var XMLHttpRO = false;
function PrzetwarzajDane() {
xmlHttpRO = GetXmlHttpObject();
var name = document.contact.name.value;
var subject = document.contact.subject.value;
var address = document.contact.address.value;
var body = encodeURIComponent(document.contact.body.value);
xmlHttpRO.open("POST", "check_email.php");
xmlHttpRO.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
XMLHttpRO.send('&name=' + name + '&subject=' + subject + '&address=' + address + '&body=' + body);
xmlHttpRO.onreadystatechange = stateChanged;
}
function stateChanged() {
if (xmlHttpRO.readyState == 4 || xmlHttpRO.readyState == "complete") {
document.getElementById("edytor").innerHTML=xmlHttp.responseText;
}
}
function GetXmlHttpObject() {
var request = null;
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
request=new ActiveXObject("Microsoft.XMLHTTP");
}
return request;
}
check_email.php PHP:
<?PHP
$freaky['config']['to'] = 'bomba9871@wp.pl';
if(isSet(!$_POST['name'] or
!$_POST['subject'] or
urldecode(!$_POST['body']))){ echo("<html><script>alert('Nie mozna kontynuowac, przeoczyles/as wymagane pola!');</script></html>"); }
else{
$freaky['header'] = 'From: $_POST['name'] <$_POST['address']>';
$freaky['name'] = $_POST['name'];
$freaky['subject'] = $_POST['subject'];
$contact = mail($freaky['config']['to'],$freaky['subject'],$freaky['body'],$freaky['header']); if($contact) {
echo("<html><script>alert('Sukces! Informacje, ktore umiesciles w formularzu zostaly wyslane.');</script></html>"); }
else {
echo("<html><script>alert('Blad! Nie można kontynuować(?).');</script></html>"); }
}
?>
PHP:
<?PHP
echo '<style type="text/css">.submit { width:150px;height:30px; }</style> Currently, all the fields are required for a fast response.<br /><br />
<form name="contact" method="post" action="">
<table border="0" cellpadding="4" cellspacing="1" width="100%">
<tr><td colspan="2"><span style="font-weight:bold;">Contact Form</span></td></tr>
<tr><td width="20%">Name</td><td width="80%"><input type="text" name="name" /></td></tr>
<tr><td>Subject</td><td><input type="text" name="subject" /></td></tr>
<tr><td>E-mail</td><td><input type="text" name="address" /></td></tr>
<tr><td>Message</td><td><textarea cols="40" rows="10" name="body"></textarea></td></tr>
<td><input type="button" value="Wyślij" onclick="PrzetwarzajDane(value);" /></td><td><input type="reset" value="Wyczyść" class="submit" /></td></tr>
</table>';
?>
Co jest źle? Dlaczego przy próbie wysłania formularza nic nie następuje? Żadnych błędów, wiadomości a e-mail nie wychodzi.
Proszę o pomoc, z góry dziękuję.