Ich versuche zu verstehen, wie Sie ein Formular senden Button zum Arbeiten ... Ich nahm Vorlage aus Bootstrap und gehostet es auf Github. Ich weiß, dass Github nichts mehr erlaubt als eine statische Website, also habe ich den PHP-Code auf einem anderen Server gehostet.Senden Sie eine Nachricht (Vorlage von Bootstrap)
Bei diesem Projekt https://github.com/samu101108/02PortfolioPage_FCC02 gibt es einen Ordner 'mail', der 'contact_me.php' hat, der jetzt in anderen Server platziert ist. Ich habe die Änderungen vorgenommen, die die Vorlage sagt, aber es funktioniert nicht.
Ich habe gesehen, dass auf der Datei index.html, hat das Tag-Formular nicht "Methode" und "Aktion" Attribute (seltsam ... Ich habe noch nie gesehen), so sah ich dort ist ein 'js 'Ordner mit' contact_me.js '... drüben auf der Linie 24 gab es //url: "././mail/contact_me.php",
und ich ersetzte url: "http://samuel.net46.net/toExternal/contact_me.php",
denken, dass das Problem lösen könnte, aber nicht.
Ich würde gerne wissen, was zu tun ist und warum es keine 'Aktion' und 'Methode' Attribute auf dem Formular gibt. Danke im Voraus!
index.html
<!-- Contact Section -->
<section id="contact">
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<h2>Contact Me</h2>
<hr class="star-primary">
</div>
</div>
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<!-- To configure the contact form email address, go to mail/contact_me.php and update the email address in the PHP file on line 19. -->
<!-- The form should work on most web servers, but if the form is not working you may need to configure your web server differently. -->
<form name="sentMessage" id="contactForm" novalidate>
<!-- Line test<form name="sentMessage" id="contactForm" method="post" action="http://samuel.net46.net/toExternal/contact_me.php"> -->
<div class="row control-group">
<div class="form-group col-xs-12 floating-label-form-group controls">
<label>Name</label>
<input type="text" class="form-control" placeholder="Name" id="name" required data-validation-required-message="Please enter your name.">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="row control-group">
<div class="form-group col-xs-12 floating-label-form-group controls">
<label>Email Address</label>
<input type="email" class="form-control" placeholder="Email Address" id="email" required data-validation-required-message="Please enter your email address.">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="row control-group">
<div class="form-group col-xs-12 floating-label-form-group controls">
<label>Phone Number</label>
<input type="tel" class="form-control" placeholder="Phone Number" id="phone" required data-validation-required-message="Please enter your phone number.">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="row control-group">
<div class="form-group col-xs-12 floating-label-form-group controls">
<label>Message</label>
<textarea rows="5" class="form-control" placeholder="Message" id="message" required data-validation-required-message="Please enter a message."></textarea>
<p class="help-block text-danger"></p>
</div>
</div>
<br>
<div id="success"></div>
<div class="row">
<div class="form-group col-xs-12">
<button type="submit" class="btn btn-success btn-lg">Send</button>
</div>
</div>
</form>
</div>
</div>
</div>
</section>
contact_me.js
$(function() {
$("#contactForm input,#contactForm textarea").jqBootstrapValidation({
preventSubmit: true,
submitError: function($form, event, errors) {
// additional error messages or events
},
submitSuccess: function($form, event) {
// Prevent spam click and default submit behaviour
$("#btnSubmit").attr("disabled", true);
event.preventDefault();
// get values from FORM
var name = $("input#name").val();
var email = $("input#email").val();
var phone = $("input#phone").val();
var message = $("textarea#message").val();
var firstName = name; // For Success/Failure Message
// Check for white space in name for Success/Fail message
if (firstName.indexOf(' ') >= 0) {
firstName = name.split(' ').slice(0, -1).join(' ');
}
$.ajax({
url: "http://samuel.net46.net/toExternal/contact_me.php",
//url: "././mail/contact_me.php",
// samuel.net46.net/toExternal/contact_me.php
type: "POST",
data: {
name: name,
phone: phone,
email: email,
message: message
},
cache: false,
success: function() {
// Enable button & show success message
$("#btnSubmit").attr("disabled", false);
$('#success').html("<div class='alert alert-success'>");
$('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
.append("</button>");
$('#success > .alert-success')
.append("<strong>Your message has been sent. </strong>");
$('#success > .alert-success')
.append('</div>');
//clear all fields
$('#contactForm').trigger("reset");
},
error: function() {
// Fail message
$('#success').html("<div class='alert alert-danger'>");
$('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
.append("</button>");
$('#success > .alert-danger').append("<strong>Sorry " + firstName + ", it seems that my mail server is not responding. Please send your message right to my email [email protected]");
$('#success > .alert-danger').append('</div>');
//clear all fields
$('#contactForm').trigger("reset");
},
});
},
filter: function() {
return $(this).is(":visible");
},
});
$("a[data-toggle=\"tab\"]").click(function(e) {
e.preventDefault();
$(this).tab("show");
});
});
// When clicking on Full hide fail/success boxes
$('#name').focus(function() {
$('#success').html('');
});
concact_me.php
<?php
// Check for empty fields
if(empty($_POST['name']) \t \t ||
empty($_POST['email']) \t \t ||
empty($_POST['phone']) \t \t ||
empty($_POST['message']) \t ||
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
\t echo "No arguments Provided!";
\t return false;
}
$name = strip_tags(htmlspecialchars($_POST['name']));
$email_address = strip_tags(htmlspecialchars($_POST['email']));
$phone = strip_tags(htmlspecialchars($_POST['phone']));
$message = strip_tags(htmlspecialchars($_POST['message']));
// Create the email and send the message
$to = '[email protected]'; // Add your email address inbetween the '' replacing
//[email protected] - This is where the form will send a message to.
$email_subject = "Website Contact Form: $name";
$email_body = "You have received a new message from your website contact form.\n\n"."Here are the details:\n\nName: $name\n\nEmail: $email_address\n\nPhone: $phone\n\nMessage:\n$message";
$headers = "From: [email protected]\n";//This is the email address the generated
//message will be from. We recommend using something like [email protected]
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
return true;
?>
Anstatt Links anzuhängen fügen Sie bitte die Codeblöcke hinzu – neophyte
Ich akzeptiere Pull-Anfragen! ;) – samu101108
Ich meinte, wenn du mindestens einen Teil deines Codes postest, wird es uns helfen, das Problem zu verstehen. es ist schwierig, Links zu folgen und zu verstehen, was falsch ist. – neophyte