Я не настолько опытен в html и php, но мне удалось создать контактную форму и скрипт php для отправки писем на мою учетную запись hotmail, и она работала нормально.
Теперь я хотел добавить Recaptcha в эту форму, и я сделал это успешно. Но сейчас мне нужна помощь по следующим темам:
- Я хочу, чтобы recpatcha работал с моей формой
- когда recaptcha Неверно, я хочу сохранить информационные поля и не отправлять электронную почту также Не показывать "спасибо, что ваше сообщение было отправлено".
- только когда recaptcha Правильно: отправьте электронное письмо, очистите информационные поля, покажите «спасибо сообщение было отправлено»
Извините, я забыл упомянуть, что этот сценарий находится на одной странице вызова "CONTACTFORM.PHP"
И, кстати, это она.
Большое спасибо за ваши ответы! Если бы вы могли дать некоторые детали для ответа, было бы здорово !!!
здесь у меня есть мои коды:
Любая помощь будет очень признателен!
Это мой php для отправки моей электронной почты:
<?php
if ($_POST['parse_var'] == "form1"){
$emailTitle = 'Email from my website!';
$emailAddress = 'myemail@hotmail.com';
/* Gathering Data Variables */
$emailField = $_POST['email'];
$phoneField = $_POST['phone'];
$nameField = $_POST['name'];
$subjectField = $_POST['subject'];
$messageField = $_POST['message'];
$body = <<<EOD
<br><hr><br>
Email: $emailField <br />
Phone: $phoneField <br />
Name: $nameField <br />
Subject: $subjectField <br />
Message: $messageField <br />
EOD;
$headers = "From: $emailField\r\n";
$headers .= "Content-type: text/html\r\n";
$success = mail("$emailAddress", "$emailTitle", "$body", "$headers");
$sent = "Thank you! Your message has been sent.";
}
?>
<form id="form1" name="form1" method="post" action="contactform.php">
<table width="100%" border="0" cellspacing="6" cellpadding="0">
<tr>
<td align="right"><label for="email" class="titulos">Email: </label></td>
<td align="left"><input name="email" type="text" id="email" size="35" maxlength="50" />
*</td>
</tr>
<tr>
<td align="right"><label for="phone" class="titulos">Phone: </label></td>
<td align="left"><input name="phone" type="text" id="phone" size="35" maxlength="50" /></td>
</tr>
<tr>
<td align="right"><label for="name" class="titulos">Name:</label></td>
<td align="left"><input name="name" type="text" id="name" size="35" maxlength="30" />
*</td>
</tr>
<tr>
<td align="right"><label for="subject" class="titulos">Subject:</label></td>
<td align="left"><input name="subject" type="text" id="subject" size="35" maxlength="60" /></td>
</tr>
<tr>
<td align="right" valign="top"><label for="message" class="titulos">Message:</label></td>
<td align="left"><p>
<textarea name="message" cols="27" rows="5" id="message"></textarea>
*</p></td>
</tr>
<tr>
<td align="right"> </td>
<td align="left">
<?php
if (isset($_POST['send'])) {
require_once('recaptchalib.php');
$privatekey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
echo "Please try again";
} else {
echo "Correct";
}
}
?>
<?php
require_once('recaptchalib.php');
$publickey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // you got this from the signup page
echo recaptcha_get_html($publickey);
?>
</td>
</tr>
<tr>
<td align="right"><label for="reset"></label></td>
<td align="left"><label for="send"></label>
<input type="hidden" name="parse_var" id="parse_var" value="form1" />
<input name="send" type="submit" id="send" onclick="MM_validateForm('email','','RisEmail','name','','R','message','','R');return document.MM_returnValue" value="Send Email" /> <label for="reset"></label>
<input type="reset" name="reset" id="reset" value="Reset form" /></td>
</tr>
<tr>
<td align="right"> </td>
<td align="left" class="content">(*) Are Required fields</td>
</tr>
<tr>
<td colspan="2" align="center"><?php print "$sent"; ?>
</td>
</tr>
</table>
</form>