-1
구체화 및 일부 PHP의 CSS를 사용하여 '문의하기'양식을 작성 중입니다. 지금까지 제가 가지고있는 코드는 다음과 같습니다. 내가 MAMP에서이 프로그램을 실행할 때간단한 PHP '문의하기'양식
HTML
<div class="row">
<form action="?" method="post">
<div class="row">
<div class="input-field col s6">
<input name="realfirstname" id="realfirstname" type="text">
<label class="active">First Name</label>
</div>
<div class="input-field col s6">
<input name="realsecondname" id="realsecondname" type="text" class="validate">
<label class="active" for="last_name">Last Name</label>
</div>
</div>
<div class="row">
<div class="input-field col s12">
<input name="email" id="email" type="text" class="validate">
<label class="active" for="last_name">Email</label>
</div>
</div>
<div class="row">
<div class="input-field col s12">
<input name="comments" id="comments" type="text" class="materialize-textarea">
<label class="active" for="textarea1">Comments</label>
</div>
</div>
<div class="row">
<button class="btn waves-effect waves-light" type="submit" name="send">Submit
</button>
</div>
</form>
</div>
</div>
내 PHP
<html>
<head>
<title>Thanks For Contacting Us</title>
</head>
<body>
<?php
$recipient = '[email protected]';
$email = $_POST['email'];
$realFirstName = $_POST['realfirstname'];
$realSecondName = $_POST['realsecondname'];
$subject = $_POST['comments'];
# We'll make a list of error messages in an array
$messages = array();
if (!preg_match("/^[\w\+\-.~]+\@[\-\w\.\!]+$/", $email)) {
$messages[] = "That is not a valid email address.";
}
if (!preg_match("/^[\w\ \+\-\'\"]+$/", $realName)) {
$messages[] = "The real name field must contain only " .
"alphabetical characters, numbers, spaces, and " .
"reasonable punctuation. We apologize for any inconvenience.";
}
$subject = preg_replace('/\s+/', ' ', $subject);
# Make sure the subject isn't blank afterwards!
if (preg_match('/^\s*$/', $subject)) {
$messages[] = "Please specify a subject for your message.";
}
$body = $_POST['body'];
# Make sure the message has a body
if (preg_match('/^\s*$/', $body)) {
$messages[] = "Your message was blank. Did you mean to say " .
"something?";
}
if (count($messages)) {
foreach ($messages as $message) {
echo("<p>$message</p>\n");
}
echo("<p>Click the back button and correct the problems. " .
"Then click Send Your Message again.</p>");
} else {
mail($recipient,
$subject,
$body,
"From: $realName <$email>\r\n" .
"Reply-To: $realName <$email>\r\n");
echo("<p>Your message has been sent. Thank you!</p>\n");
}
?>
</body>
</html>
내 오류 모든 메시지를 다시받을! 내가 뭘 잘못하고 있는지 모르겠어. 내 머리카락을 꺼내고있어!
이'$ _POST [ 'body']'를보고 귀하의 양식에없는 것을보십시오. 그래서, 스스로 호의를 베풀고 디버깅하는 방법을 배우십시오. –
페이지를로드 할 때'$ _POST'가 채워지지 않으므로? –