好。所以基本上我试图通过表单中的上传按钮上传文件。 我的代码工作正常,直到我决定让我的上传按钮有点“时尚”。傻我。
我的php文件中的$ _POST查询无法识别该动画按钮。我试图在POST查询中链接该动画按钮的类名,但似乎没有任何工作。
这是我的html表单代码,里面有我的动画按钮:
<form action="upload_file.php" method="post" enctype="multipart/form-data" >
<label for="file" style=" font-weight:normal; font-family: Tahoma; font-size:20px; "></br></br></br>Upload the list of Teaching Assistants here:</label>
<input type="file" name="file" id="file" />
<!--<input type ="submit" name="submit" value="Upload" /> This button is working perfectly-->
<br />
<div class="button-wrapper" method="post" enctype="multipart/form-data" >
<a href="upload_file.php" class="a-btn">
<span class="a-btn-text">Upload </span>
<span class="a-btn-slide-text">FILE!</span>
<span class="a-btn-icon-right"><span></span></span>
</a>
</div>
</form>
这是我的PHP代码:
<?php
session_start();
include "connect1.php";
if ($_POST["submit"])
{
if ($_SESSION["name"])
{
$name = $_FILES["file"]["name"];
$type = $_FILES["file"]["type"];
$size = $_FILES["file"]["size"];
$tmp_name = $_FILES["file"]["tmp_name"];
$error = $_FILES["file"]["error"];
if($error > 0)
{
echo "Error!".$error;
}
else
{
if (file_exists("upload/".$name))
{
echo $name." already exists";
}
else
{
$location = "upload/".$name;
move_uploaded_file($tmp_name,$location);
$user = $_SESSION["name"];
$sqlcode = mysql_query("INSERT INTO upload (id,user,location) VALUES ('','$user','$location')");
echo "<a href='$location'>Click here to view the file </a>";
}
}
}
else
{
echo "Please Sign In";
}
}
else
{
echo "<a href='index.php'>";
}
出现此错误:
注意:未定义的索引:在第7行的C:\ xampp \ htdocs \ smartalloc \ upload_file.php中提交 基本上 - 他要我为我的$ _POST查询提供一个类型,但没有任何工作。
任何帮助都会非常感激。 :)
答案 0 :(得分:0)
我认为问题是你现在正在使用链接而不是按钮,因此没有发生POST事件。
尝试将动画按钮更改回实际按钮并使用CSS设置样式。
答案 1 :(得分:0)
为了让表单提交并发送您输入的所有信息,您需要提交按钮作为能够提交表单的正确表单元素。
您不能只是制作精美的链接或<span>
或<div>
或其他任何内容,只希望表单知道您希望该元素为您提交表单。你要做的就是保持提交按钮:
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">Upload the list of Teaching Assistants here:</label>
<input type="file" name="file" id="file" />
<input type="submit" value="Submit" />
</form>
而是使用CSS设置样式。有很多选项,你可以做一个非常好看的按钮。请参阅这些教程中的任何一个示例(或者只是Google “提交按钮CSS”以获取更多信息)。
http://speckyboy.com/2009/05/27/22-css-button-styling-tutorials-and-techniques/
其次,我看到你试过这个:
<div class="button-wrapper" method="post" enctype="multipart/form-data" >
这不是有效的HTML。您不能将任何元素(在本例中为div)转换为表单。 method
和enctype
属性只能放在<form>
标记上。