Php 联系人表单未发送/重定向
您好,我有下面的代码,由于某些原因重定向,我在第42行的C:\wamp\www\boot\send.php中得到一个未定义的变量:subject,如下所示。非常感谢我能得到的任何帮助 第42行是Php 联系人表单未发送/重定向,php,html,css,Php,Html,Css,您好,我有下面的代码,由于某些原因重定向,我在第42行的C:\wamp\www\boot\send.php中得到一个未定义的变量:subject,如下所示。非常感谢我能得到的任何帮助 第42行是 $go = mail($to, $subject, $body, "From:<$from>"); 联系我们 <body> <div class='formbody'> <link href='http://fonts.googleapis.com/
$go = mail($to, $subject, $body, "From:<$from>");
联系我们
<body>
<div class='formbody'>
<link href='http://fonts.googleapis.com/css?family=Lato' rel='stylesheet' type='text/css'>
<form id="contact-form" action="send.php" method="POST">
<p>Dear hidden@gmai..com,</p>
<p>My
<label for="your-name">name</label> is
<input type="text" name="your-name" id="your-name" minlength="3" placeholder="(your name here)" required> and</p>
<p>my
<label for="email">email address</label> is
<input type="email" name="your-email" id="email" placeholder="(your email address)" required>
</p>
<p> I have a
<label for="your-message">message</label> for you,</p>
<p>
<textarea name="your-message" id="your-message" placeholder="(your msg here)" class="expanding" required></textarea>
</p>
<p>
<button type="submit">
<svg version="1.1" class="send-icn" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="100px" height="36px" viewBox="0 0 100 36" enable-background="new 0 0 100 36" xml:space="preserve">
<path d="M100,0L100,0 M23.8,7.1L100,0L40.9,36l-4.7-7.5L22,34.8l-4-11L0,30.5L16.4,8.7l5.4,15L23,7L23.8,7.1z M16.8,20.4l-1.5-4.3
l-5.1,6.7L16.8,20.4z M34.4,25.4l-8.1-13.1L25,29.6L34.4,25.4z M35.2,13.2l8.1,13.1L70,9.9L35.2,13.2z" />
</svg>
<small>SEND PLEASE</small>
</button>
</p>
</form>
<script src="assets/js/jquery.min.js"></script>
<script src="assets/bootstrap/js/bootstrap.min.js"></script>
<script src="assets/js/bs-animation.js"></script>
<script src="assets/js/index.js"></script>
</div>
</body>
Send.php
<?php
$to = "hidden@gmail.com";
$name = TRIM (stripslashes($_POST['your-name']));
$email = TRIM (stripslashes($_POST['your-email']));
$message = TRIM (stripslashes($_POST['your-message']));
$body ="";
$body .="Name: ";
$body .=$name;
$body."\n";
$body ="";
$body .="Email: ";
$body .=$email;
$body."\n";
$body ="";
$body .="Message: ";
$body .=$message;
$body."\n";
$go = mail($to, $subject, $body, "From:<$from>");
if($go) {
print("message sent");
}
else{
print("There has been a small error . Sorry!!");
}
?>
您需要压缩2个表单标记:
<form id="contact-form">
<form action="send.php" method="post">
合二为一:
<form id="contact-form" action="send.php" method="post">
移除。它导致了一种不存在的额外形式。尝试将其更改为div,或者将其放在其他表单标记中,这样它就可以正常工作。它没有将您指向send.php的原因是由这两个表单标记引起的。第一个表单标签将首先运行,这也是它保持在同一页面上的原因。为了避免这种混淆,您可以使用div标记为表单提供一个类似id的类:
<div id="contact-form">
<form action="send.php" method="post">
您有两个表单打开标记。浏览器可能正在使用第一个并发布到self。然后,send.php中出现了一些错误,而不是您发布的问题,但是,TRIM stripsalshes$\u post。。。缺少后修剪,并且$_post需要大写:$_post.Your$body=-行是完全不必要的。他们什么都不做。这意味着不向string.yes添加任何内容。有太多的编码错误,这是不负责任的。注:错误报告将大大缩小范围。未定义的变量可能是未定义变量的结果。或者更确切地说,你在哪里给$subject赋值?@nogad-那将是一篇完整的文章…:O@MagnusEriksson我曾经写过一篇,但现在的重点是,OP只会接受第一个基本正确的答案。