私は自分のウェブサイトで簡単なPHPの連絡フォームを使用していますが、メッセージを送信すると、送信ボタンをクリックするとホームページに戻ります。私はそれを避け、ページにとどまりたいです。submit toホームページに戻る
ここに私のコードです:
ヘッダーPHP:
<?php
//If the form is submitted
if(isset($_POST['submit'])) {
//Check to make sure that the name field is not empty
if(trim($_POST['contactname']) == '') {
$hasError = true;
} else {
$name = trim($_POST['contactname']);
}
//Check to make sure that the phone field is not empty
if(trim($_POST['phone']) == '') {
$hasError = true;
} else {
$phone = trim($_POST['phone']);
}
//Check to make sure that the name field is not empty
if(trim($_POST['weburl']) == '') {
$hasError = true;
} else {
$weburl = trim($_POST['weburl']);
}
//Check to make sure that the subject field is not empty
if(trim($_POST['subject']) == '') {
$hasError = true;
} else {
$subject = trim($_POST['subject']);
}
//Check to make sure sure that a valid email address is submitted
if(trim($_POST['email']) == '') {
$hasError = true;
} else if (!filter_var(trim($_POST['email'], FILTER_VALIDATE_EMAIL))) {
$hasError = true;
} else {
$email = trim($_POST['email']);
}
//Check to make sure comments were entered
if(trim($_POST['message']) == '') {
$hasError = true;
} else {
if(function_exists('stripslashes')) {
$comments = stripslashes(trim($_POST['message']));
} else {
$comments = trim($_POST['message']);
}
}
//If there is no error, send the email
if(!isset($hasError)) {
$emailTo = '[email protected]'; // Put your own email address here
$body = "Name: $name \n\nEmail: $email \n\nPhone Number: $phone \n\nSubject: $subject \n\nComments:\n $comments";
$headers = 'From: My Site <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
mail($emailTo, $subject, $body, $headers);
$emailSent = true;
}
}
?>
フォーム:
<div class="container">
<div class="row">
<div class="col-md-6 col-md-push-3">
<form role="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="contactform">
<fieldset>
<legend>Send Us a Message</legend>
<?php if(isset($hasError)) { //If errors are found ?>
<p class="alert alert-danger">Please check if you've filled all the fields with valid information and try again. Thank you.</p>
<?php } ?>
<?php if(isset($emailSent) && $emailSent == true) { //If email is sent ?>
<div class="alert alert-success">
<p><strong>Message Successfully Sent!</strong></p>
<p>Thank you for using our contact form, <strong><?php echo $name;?></strong>! Your email was successfully sent and we’ll be in touch with you soon.</p>
</div>
<?php } ?>
<div class="form-group">
<label for="name">Your Name<span class="help-required">*</span></label>
<input type="text" name="contactname" id="contactname" value="" class="form-control required" role="input" aria-required="true" />
</div>
<div class="form-group">
<label for="phone">Your Phone Number<span class="help-required">*</span></label>
<input type="text" name="phone" id="phone" value="" class="form-control required" role="input" aria-required="true" />
</div>
<div class="form-group">
<label for="email">Your Email<span class="help-required">*</span></label>
<input type="text" name="email" id="email" value="" class="form-control required email" role="input" aria-required="true" />
</div>
<div class="form-group">
<label for="weburl">Your Website<span class="help-required">*</span></label>
<input type="text" name="weburl" id="weburl" value="" class="form-control required url" role="input" aria-required="true" />
</div>
<div class="form-group">
<label for="subject">Subject<span class="help-required">*</span></label>
<select name="subject" id="subject" class="form-control required" role="select" aria-required="true">
<option></option>
<option>One</option>
<option>Two</option>
</select>
</div>
<div class="form-group">
<label for="message">Message<span class="help-required">*</span></label>
<textarea rows="8" name="message" id="message" class="form-control required" role="textbox" aria-required="true"></textarea>
</div>
<div class="actions">
<input type="submit" value="Send Your Message" name="submit" id="submitButton" class="btn btn-primary" title="Click here to submit your message!" />
<input type="reset" value="Clear Form" class="btn btn-danger" title="Remove all the data from the form." />
</div>
</fieldset>
</form>
</div><!-- col -->
</div><!-- row -->
<hr>
<div class="footer">
<p>© Company 2013</p>
</div>
</div> <!-- /container -->
JS:
/* Bootstrap Contact Form
***************************************************************************/
$(document).ready(function(){
// validate signup form on keyup and submit
var validator = $("#contactform").validate({
errorClass:'has-error',
validClass:'has-success',
errorElement:'div',
highlight: function (element, errorClass, validClass) {
$(element).closest('.form-control').addClass(errorClass).removeClass(validClass);
},
unhighlight: function (element, errorClass, validClass) {
$(element).parents(".has-error").removeClass(errorClass).addClass(validClass);
},
rules: {
contactname: {
required: true,
minlength: 2
},
email: {
required: true,
email: true
},
weburl: {
required: true,
url: true
},
phone: {
required: true,
phoneUS: true
},
subject: {
required: true
},
message: {
required: true,
minlength: 10
}
},
messages: {
contactname: {
required: '<span class="help-block">Please enter your name.</span>',
minlength: jQuery.format('<span class="help-block">Your name needs to be at least {0} characters.</span>')
},
email: {
required: '<span class="help-block">Please enter a valid email address.</span>',
minlength: '<span class="help-block">Please enter a valid email address.</span>'
},
weburl: {
required: '<span class="help-block">You need to enter the address to your website.</span>',
url: jQuery.format('<span class="help-block">You need to enter a valid URL.</span>')
},
phone: {
required: '<span class="help-block">You need to enter your phone number.</span>',
phoneUS: jQuery.format('<span class="help-block">You need to enter a valid phone number.</span>')
},
subject: {
required: '<span class="help-block">You need to enter a subject.</span>'
},
message: {
required: '<span class="help-block">You need to enter a message.</span>',
minlength: jQuery.format('<span class="help-block">Enter at least {0} characters.</span>')
}
}
});
});
私は
に問題があるかもしれないと思いますaction="<?php echo $_SERVER['PHP_SELF']
を使用して
<form role="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="contactform">
私はそれを取り除くために、また=「#」アクションを使用しようとしましたが、効果なし、送信ボタンは、依然としてランディングページに私をリダイレクトします。
URL並べ替えはありますか?フォームを含むページのURLは何ですか? – Salketer
@Salketer全ウェブのメインURLは1つだけです。コンタクトフォームはスライドアウトパネルにURLなしで配置されます – user3194137
URL書き換えがある必要があります。私たちに示したコードはありませんしている。 – RiggsFolly