在HTML / PHP联系表单上出现404/405错误(链接问题?)

时间:2015-06-15 20:46:15

标签: php html forms contact

表单位于fictiveapp.com/这是第二个包含姓名,电子邮件和消息的表单。

我遇到了两个问题。

  1. 405错误 - 我通过添加trailing slash

  2. 解决了这个问题
  3. 404错误 - 添加尾部斜杠以解决上一个问题时,我收到404错误。我是PHP的新手,不确定我应该如何链接文件。我认为它与链接网站上的所有其他html文件是一样的,显然不是。

  4. 我将所有index.html,html_form_send.php和contactthanks.php都放在同一个顶级(第一级)目录中,包含第二级CSS,JS,Font和Img文件夹

    所有相关代码都在

    之下

    HTML

        <div class="8u 12u$(small)">
    <form name="htmlform" method="post" action="html_form_send.php">
    <div class="row uniform 50%">
    <div class="6u 12u$(xsmall)"><input type="text" name="name" id="name" placeholder="Name" /></div>
    <div class="6u$ 12u$(xsmall)"><input type="email" name="email" id="email" placeholder="Email" /></div>
    <div class="12u$"><textarea name="message" id="message" placeholder="Message" rows="4"></textarea></div>
    </div>
    <ul class="actions">
    <li><input type="submit" value="Send Message" /></li>
    </ul>
    </div>
    </form>
    

    来自html_form_send.php的PHP

    <?php
    
    $EmailFrom = "Michael.kalmykov.88@gmail.com";
    $EmailTo = "Michael@kovcreation.com";
    $Subject = "from fictive site";
    $Name = Trim(stripslashes($_POST['Name']));
    $Email = Trim(stripslashes($_POST['Email']));
    $Message = Trim(stripslashes($_POST['Message']));
    
    // validation
    $validationOK=true;
    if (!$validationOK) {
      print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
      exit;
    }
    
    // prepare email body text
    $Body = "";
    $Body .= "Name: ";
    $Body .= $Name;
    $Body .= "\n";
    $Body .= "Email: ";
    $Body .= $Email;
    $Body .= "\n";
    $Body .= "Message: ";
    $Body .= $Message;
    $Body .= "\n";
    
    // send email
    $success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
    
    // redirect to success page
    if ($success){
      print "<meta http-equiv=\"refresh\" content=\"0;URL=contactthanks.php/\">";
    }
    else{
      print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
    }
    ?>
    
    来自contactthanks.php的

    PHP

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
    
    <head>
        <title>work already!</title>
    
        <link rel="stylesheet" type="text/css" href="style.css" />
    </head>
    
    <body>
    
        <div id="page-wrap">
    
    
            <br /><br />
    
    
        <h1>Your message has been sent!</h1><br />
    
        <p><a href="index.html">Back to Site</a></p>
    
    </div>
    
    <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
    </script>
    <script type="text/javascript">
    _uacct = "UA-68528-29";
    urchinTracker();
    </script>
    

    我确信这是一件愚蠢而简单的事情,但我现在已经在论坛上搜索了几个小时,似乎无法找到问题。

    感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:0)

重定向时,标头优于html元标记。请注意,只有在您没有打印任何内容时才能使用标题。

此处您可以使用标题:

标题(&#34;位置:./ yourfile.html&#34;);

此外,还有一些创建正确文件路径的提示

要重定向到同一文件夹中的文件,请使用  &#34; ./ filename.php&#34;

要重定向到外部目录中的文件,您可以使用&#34; ../"退出1 dir。例如,如果我的文件在&#34; /hello/file.php"我想重定向到&#34; /index.php"我的路径将是&#34; ../ index.php&#34;