[英]Calling variable from PHP Switch
I can upload my document onto my main testing directory. 我可以将我的文档上传到我的主测试目录。 But I wish to call out my variable which is staffNo and place it in the specific staffNo directory.
但我希望调出我的变量,即staffNo并将其放在特定的staffNo目录中。 But I'm not able to parse out the variable even though I have declared my appropriate name for my input.
但即使我已经为我的输入声明了适当的名称,我也无法解析变量。
For example: 例如:
Staff Page 员工
$staffNo = 1;
<form id="Staff" name="Staff" method="post" action="upload.php" enctype="multipart/form-data">
//My staffno variable
<input type="hidden" id="staffNo" name="staffNo" value="<?php echo $staffNo ?>"/>
//Upload document
<input name="upload" id="upload" type="file"/>
<input type="hidden" name="upload" value="upload"/>
//Submit button
<input type="submit" name="submit" value="Submit">
</form>
upload.php upload.php的
switch($_POST['submit'])
{
case 'Submit':
if ($_FILES["upload"]["error"] > 0)
{
echo "Error: " . $_FILES["upload"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["upload"]["name"] . "<br />";
echo "Type: " . $_FILES["upload"]["type"] . "<br />";
echo "Stored in: " . $_FILES["upload"]["tmp_name"];
move_uploaded_file($_FILES["upload"]["tmp_name"],
"documents/"."staffNo"."/".$_FILES["upload"]["name"]);
echo "Stored in: " ."./documents/"."staffNo"."/". $_FILES["upload"]["name"];
}
break;
case 'others':
break;
default;
My staffNo variable was not able to call out even though it is under the form already. 我的staffOo变量无法调用,即使它已经在表单下。 Did I did wrong somewhere?
我在某处做错了吗? And I also wanted to create a new folder for the staffNo if it's not found inside.
我还想为staffNo创建一个新文件夹,如果它没有在里面找到的话。 But now the basic staffNo variable was unable to call out.
但是现在基本的staffNo变量无法调用。 Kindly advise.
好心提醒。
I have fixed several errors in upload.php you have submitted. 我修复了你提交的upload.php中的几个错误。 You need to assign value of the hidden field to a variable:
$staffNo = $_POST['staffNo'];
您需要将隐藏字段的值分配给变量:
$staffNo = $_POST['staffNo'];
upload.php upload.php的
switch($_POST['submit'])
{
case 'Submit':
if ($_FILES["upload"]["error"] > 0)
{
echo "Error: " . $_FILES["upload"]["error"] . "<br />";
}
else
{
$staffNo = $_POST['staffNo']; // preform validation here
echo "Upload: " . $_FILES["upload"]["name"] . "<br />";
echo "Type: " . $_FILES["upload"]["type"] . "<br />";
echo "Stored in: " . $_FILES["upload"]["tmp_name"];
// check if directory exists
if(!is_dir("documents/".$staffNo)){
// if it doesn't - create it
mkdir("documents/".$staffNo);
}
move_uploaded_file($_FILES["upload"]["tmp_name"],
"documents/".$staffNo."/".$_FILES["upload"]["name"]);
echo "Stored in: " ."./documents/".$staffNo."/". $_FILES["upload"]["name"];
}
break;
case 'others':
break;
default;
}
You should probably validate staffNo
to prevent changing its value through firebug for example, and messing with the upload path. 您可能应该验证
staffNo
以防止通过firebug更改其值,以及弄乱上载路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.