jQuery에서 멍청한 놈이긴하지만 빨리 배우세요.jquery - 변수에서 "@"를 보내십시오
ive $ .post를 사용하여 HTML 양식의 값을 PHP 파일로 보냈습니다. 그리고 모든 사람들은 전자 메일 주소를 입력 할 때까지 "@"기호를 사용합니다 (모두 해당 기호를 사용).
내 jquery로 실험을 많이하고 있습니다. 그리고 무슨 일을하려고하는 HTML에서 양식 태그를 사용하지 않습니다.
Meh, 코드를 읽으십시오. 내가 무슨 뜻인지 알게 될거야. 그것은 서사시 TL하지 그래서 나는 모든 검증 및 오류보고를 복용 해요 : DR 읽고 ...
<table id='contactform'>
<tr>
<td>
<label for='name'>Name</label>
<input id='name' type='text'>
</td>
<td>
<label for='phone'>Phone</label>
<input id='phone' type='tel'>
</td>
</tr>
<tr>
<td colspan='2'>
<label for='email'>Email</label>
<input id='email' type='email'>
</td>
</tr>
<tr>
<td colspan='2'>
<label for='message'>Message</label>
<textarea id='message'></textarea>
</td>
</tr>
<tr>
<th colspan='2'>
<button id='sendmessage'>SEND MESSAGE</button>
</th>
</tr>
</table>
JS, 마이너스 유효성 검사 ...
이$(document).ready(function() {
$("input#name").focus();
$("button#sendmessage").click(function() {
$("table#contactform").hide();
$("div#popin").show();
$("div#popin").html("<img src='images/loader.gif'>");
sendmessage();
});
});
function sendmessage() {
$.post(
"sendmessage.php",
{nameval:$("input#name").val(), phoneval:$("input#phone").val(), emailval:$("input#email").val(), messageval:$("textarea#message").val()},
function(data) {
if (data == true) {
$("div#popin").html("<p>We have received your message and will reply asap</p>");
}
else {
$("div#popin").html("<p>Something went wrong! Please contact [email protected]******</p>");
}
}
);
}
그래서, 모든 것을 가져가 php 파일을 잘 보냈습니다. 게시물 값을 읽고, 저에게 이메일을 보내고, 이메일에 "@"이 올 때까지 js에 'true'데이터를 반환합니다 !!!
내가 serialize_data()를 사용할 수 있다는 것을 알고 있습니다. 또는 무엇이든간에 사용할 수 있지만 양식을 사용하지 않기를 바랍니다. 참으로 아, 그리고이 일을 ...
var emailval = $("input#email").val().replace("@", "(at)");
$.post(
"funcs/contact.php",
{nameval:$("input#name").val(), phoneval:$("input#phone").val(), emailval:emailval, messageval:$("textarea#message").val()},
하지만 PHP 파일에없는 str_replace를 사용할 때 내가 함께 "@"를 대체 상관없이, 그냥 다시 나옵니다.
어디에서 내가 잘못 될지 아는 사람이 있습니까?
여기 당신은에 encodeURIComponent를 볼 수
<?php
$name = $_POST["nameval"];
$phone = $_POST["phoneval"];
$email = $_POST["emailval"];
$message = $_POST["messageval"];
$emailbody = "Name - $name\nPhone - $phone\nEmail - $email\n\n$message";
$recipient = "[email protected]*****";
$subject = "contact form";
$result = mail($recipient, $subject, $emailbody, "From:$email");
if ($result) {
echo true;
}
else {
echo false;
}
?>
이 그것을 게시하기 전에 이메일을 탈출 해보십시오. 'escape (emailval)' – phpisuber01
마지막 몇 줄이 나를 혼란스럽게합니다. 내가 'PHP에서 str_replace를 사용할 때 다시 중단'이란 무엇을 의미합니까? PHP에서 str_replace는 단지 문자열을 반환합니다. 아무것도 거기에서 부서지기 위해 없다. @가 문자열 일 때 작동하지 않는 것은 무엇입니까? 내 생각 엔 문제는 PHP 코드입니다. contact.php에 print_r ($ _ POST) 만 있으면 출력은 어떻게됩니까? ? –
내 말은, 나는 js에 replace()를 사용하고 나서 PHP에서 str_replace를 사용하여 PHP를 다시 바꿔서 'true'를 반환하지 않는다. – pkt666