Javascript 提交按钮在表单和PHP中不起作用

Javascript 提交按钮在表单和PHP中不起作用,javascript,php,html,forms,Javascript,Php,Html,Forms,我对提交按钮有一个问题:它就是不起作用。它似乎与我以前的表格配合得很好。我也在使用Spry验证。这是一个带有PHP的简单HTML。我看不出我的错误在哪里,我刚刚开始学习PHP。我已经在论坛和互联网上搜索过了,但是我找不到我问题的答案。我正在尝试通过电子邮件向我发送一个基本表单,其中包含一个在同一表单中上载文件的选项。问题是来自表单格式还是PHP文件?以下是我的代码: 这是位于 这是外部PHP upload.PHP文件,其括号类型与前面的HTMLsame CSS和HTML正文中的括号类型相同: &

我对提交按钮有一个问题:它就是不起作用。它似乎与我以前的表格配合得很好。我也在使用Spry验证。这是一个带有PHP的简单HTML。我看不出我的错误在哪里,我刚刚开始学习PHP。我已经在论坛和互联网上搜索过了,但是我找不到我问题的答案。我正在尝试通过电子邮件向我发送一个基本表单,其中包含一个在同一表单中上载文件的选项。问题是来自表单格式还是PHP文件?以下是我的代码: 这是位于

这是外部PHP upload.PHP文件,其括号类型与前面的HTMLsame CSS和HTML正文中的括号类型相同:

<?php
$allowedExts = array("pdf", "doc");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "application/pdf")
|| ($_FILES["file"]["type"] == "aaplication/doc"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }


$firstname=$_POST['firstname'];
$lastname=$_POST['lastname'];
$title=$_POST['title'];
$address=$_POST['address'];
$postal=$_POST['postal'];
$city=$_POST['city'];
$phone=$_POST['phone'];
$email=$_POST['email'];
$comments=$_POST['comments'];
$province=$_POST['province'];


$date=gmdate("M d Y");


print"<p><b>$date</b></p>";
print"<p>Thank you $firstname $lastname! We will get back to you.</p>";


$to="someuser@gmail.com";

$subject="Candidate Resume";

$body="Date:$date \n Subject:$subject \n First Name:$firstname \n Last Name:$lastname \n Title:$title \n Address:$address \n City:$city \n Province:$province \n Postal Code:$postal \n Telephone:$phone \n Email:$email \n Additional Information:$comments \n\n";

mail($to,$subject,$body);

?>

检查服务器上的PHP错误日志,看看是否可以获得有关其失败原因的一些信息。这在调试某些不起作用的代码时帮助了我很多次。

如果脚本可以工作,只需将if语句中的filesize值增加到能够容纳这些类型文件的值即可。 $\u文件[文件][大小]<500000


你只给了19k。

当你说它不起作用时,你是什么意思?单击按钮时表单未提交?或者您没有在php文件中获得预期的数据,或者什么?我建议您学习如何进行故障排除。弄清楚什么在起作用。如果你把“哟”放进去;在php的顶端,它是否会死掉并响应?那么您的问题就出在php中了。如果不是,那么问题就出在html中。在这里,你只需要把你的问题分成两半。如果它不回显,那么如果您创建“test.php”并使用它回显“test”,您的html是否连接到php?学习解决自己的问题是一项非常重要的编程技能。您似乎错误地使用了必需的属性,尽管这可能不是您的问题。它应该只在需要class='required'@JamesG的地方才需要。任何一种都是可接受的。如果你的问题是你没有收到邮件,那可能是因为你在发送邮件之前正在输出内容。在您的电子邮件声明之后将打印声明移动到。由于不起作用,我的意思是我正在按提交按钮,但什么也没有发生。PHP甚至不加载。
<?php
$allowedExts = array("pdf", "doc");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "application/pdf")
|| ($_FILES["file"]["type"] == "aaplication/doc"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }


$firstname=$_POST['firstname'];
$lastname=$_POST['lastname'];
$title=$_POST['title'];
$address=$_POST['address'];
$postal=$_POST['postal'];
$city=$_POST['city'];
$phone=$_POST['phone'];
$email=$_POST['email'];
$comments=$_POST['comments'];
$province=$_POST['province'];


$date=gmdate("M d Y");


print"<p><b>$date</b></p>";
print"<p>Thank you $firstname $lastname! We will get back to you.</p>";


$to="someuser@gmail.com";

$subject="Candidate Resume";

$body="Date:$date \n Subject:$subject \n First Name:$firstname \n Last Name:$lastname \n Title:$title \n Address:$address \n City:$city \n Province:$province \n Postal Code:$postal \n Telephone:$phone \n Email:$email \n Additional Information:$comments \n\n";

mail($to,$subject,$body);

?>