- 17, May 2024
- #1
Всем привет,
Я нашел в Интернете контактную форму, которая, кажется, работает, и отправляет соответствующую информацию, но затем я получил форму другого стиля с тем же PHP, но теперь все, что я получаю в электронном письме, - это только имена полей и ничего из того, что было введено.
in. Я приложил код, который у меня есть, и мне было интересно, может ли кто-нибудь помочь или указать мне в правильном направлении?
in. Я приложил код, который у меня есть, и мне было интересно, может ли кто-нибудь помочь или указать мне в правильном направлении?
<?php
$EmailFrom = "[email protected]";
$EmailTo = "[email protected]";
$Subject = "Test";
$Name = $_POST['Name'];
$City = trim(stripslashes($_POST['City']));
$Email = trim(stripslashes($_POST['Email']));
$Tel = trim(stripslashes($_POST['Tel']));
// validation
//no errors, so send the email
// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "City: ";
$Body .= $City;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Tel: ";
$Body .= $Tel;
$Body .= "\n";
// send email
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
print "<meta http-equiv=\"refresh\" content=\"0;URL=contactthanks.php\">";
exit;
?>
HTML:
<!DOCTYPE html> <html> <style> * { box-sizing: border-box; } body { background-color: #f1f1f1; } #regForm { background-color: #ffffff; margin: 100px auto; font-family: Raleway; padding: 40px; width: 50%; min-width: 300px; } h1 { text-align: center; } input { padding: 10px; width: 100%; font-size: 17px; font-family: Raleway; border: 1px solid #aaaaaa; } /* Mark input boxes that gets an error on validation: */ input.invalid { background-color: #ffdddd; } /* Hide all steps by default: */ .tab { display: none; } button { background-color: #4CAF50; color: #ffffff; border: none; padding: 10px 20px; font-size: 17px; font-family: Raleway; cursor: pointer; } button:hover { opacity: 0.8; } #prevBtn { background-color: #bbbbbb; } /* Make circles that indicate the steps of the form: */ .step { height: 15px; width: 15px; margin: 0 2px; background-color: #bbbbbb; border: none; border-radius: 50%; display: inline-block; opacity: 0.5; } .step.active { opacity: 1; } /* Mark the steps that are finished and valid: */ .step.finish { background-color: #4CAF50; } </style> <body> <form id="regForm" action="contact.php"> <h1>Register:</h1> <!-- One "tab" for each step in the form: --> <div class="tab"> <form method="post" action="contact.php"> <label for="textfield">Name:</label> <label for="Name">Name:</label> <input type="text" name="Name" id="Name" required="required" class="required" minlength="2"/> <label for="City">City:</label> <input type="text" name="City" id="City" /> </div> <div class="tab">Contact Info: <label for="Email">Email:</label> <input type="text" name="Email" id="Email" /> <label for="text">Tel:</label> <input type="text" name="Tel" id="Tel" /> </div> <div style="overflow:auto;"> <div style="float:right;"> <button type="button" id="prevBtn" onclick="nextPrev(-1)">Previous</button> <button type="button" id="nextBtn" onclick="nextPrev(1)">Next</button> </div> </div> <!-- Circles which indicates the steps of the form: --> <div style="text-align:center;margin-top:40px;"> <span class="step"></span> <span class="step"></span> <span class="step"></span> <span class="step"></span> </div> </form> <script> var currentTab = 0; // Current tab is set to be the first tab (0) showTab(currentTab); // Display the crurrent tab function showTab(n) { // This function will display the specified tab of the form.
var x = document.getElementsByClassName("tab"); x[n].style.display = "block"; //... and fix the Previous/Next buttons: if (n == 0) { document.getElementById("prevBtn").style.display = "none"; } else { document.getElementById("prevBtn").style.display = "inline"; } if (n == (x.length - 1)) { document.getElementById("nextBtn").innerHTML = "Submit"; } else { document.getElementById("nextBtn").innerHTML = "Next"; } //... and run a function that will display the correct step indicator: fixStepIndicator(n) } function nextPrev(n) { // This function will figure out which tab to display var x = document.getElementsByClassName("tab"); // Exit the function if any field in the current tab is invalid: if (n == 1 && !validateForm()) return false; // Hide the current tab: x[currentTab].style.display = "none"; // Increase or decrease the current tab by 1: currentTab = currentTab + n; // if you have reached the end of the form.
if (currentTab >= x.length) { // ... the form gets submitted: document.getElementById("regForm").submit(); return false; } // Otherwise, display the correct tab: showTab(currentTab); } function validateForm() { // This function deals with validation of the form fields var x, y, i, valid = true; x = document.getElementsByClassName("tab"); y = x[currentTab].getElementsByTagName("input"); // A loop that checks every input field in the current tab: for (i = 0; i < y.length; i++) { // If a field is empty.
if (y[i].value == "") { // add an "invalid" class to the field: y[i].className += " invalid"; // and set the current valid status to false valid = false; } } // If the valid status is true, mark the step as finished and valid: if (valid) { document.getElementsByClassName("step")[currentTab].className += " finish"; } return valid; // return the valid status } function fixStepIndicator(n) { // This function removes the "active" class of all steps.
var i, x = document.getElementsByClassName("step"); for (i = 0; i < x.length; i++) { x[i].className = x[i].className.replace(" active", ""); } //... and adds the "active" class on the current step: x[n].className += " active"; } </script> </body> </html>
PHP: и все, что приходит по электронной почте, это то, что на картинке
Большое спасибо,
Марк