यह मानते हुए कि आप इसे किसी प्रपत्र से चलाना चाहते हैं, आपको अपना HTML प्रपत्र टैग इस प्रकार सेट करना होगा:
<form action="contact.php" method="post">
फिर आपको contact.html
का नाम बदलना चाहिए करने के लिए contact.php
(कोई भी टेक्स्ट एडिटर इसे आसानी से करने में सक्षम होना चाहिए)।
अंत में, आप PHP के header()
. का उपयोग कर रहे हैं फ़ंक्शन, जो त्रुटियों का कारण होगा यदि आपके पास ब्राउज़र को कॉल करने से पहले आउटपुट है। इसमें PHP के echo
. का उपयोग करना शामिल है संरचना आपका contact.php
फ़ाइल इस तरह दिखनी चाहिए (और उसी निर्देशिका में होनी चाहिए जिसमें आपकी HTML फ़ाइल है जिसमें फ़ॉर्म है):
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$number = $_POST['number'];
$message = $_POST['message'];
$from = 'From:you';
$to = '[email protected]';
$subject = 'Hello';
$human = $_POST['human'];
$body = "From: $name\n E-Mail: $email\n Number: $number\n Message:\n $message";
if ($_POST['submit']) {
if ($name != '' && $email != '')
{
if ($human == '4')
{
if (mail ($to, $subject, $body, $from))
{
header("Location: thanks.html");
}
else
{
echo '<p>Something went wrong, go back and try again!</p>';
}
}
else
{
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
}
else
{
echo '<p>You need to fill in all required fields!!</p>';
}
}
?>
नोट: मैंने आपके लेआउट को थोड़ा ठीक किया और कुछ शर्तों को बदल दिया जिनका आप उपयोग कर रहे थे। पहला elseif
वास्तव में बेमानी था, और एक else
पर्याप्त होगा।