php - 将参数传递给 HTML 中的表单操作

标签 php html

我正在尝试使用此处的文件实现简单的文件上传:

http://www.sanwebe.com/2012/05/ajax-image-upload-and-resize-with-jquery-and-php

我让它工作并设法通过 CSS 更改样式等并更改文件名等。

我现在需要在 iframe 中使用它并为文件名传递一个变量。

在我的应用程序中,我可以使用 localstorage,setItem('clientID',10) 或将参数添加到 iframe url。 www.xxx.com/uploads?clientID= 10.

插件有一个 html 文件,然后调用 php 文件:

<form action="processupload.php" method="post" enctype="multipart/form-data" id="MyUploadForm">

那么将我的 clientID 变量获取到 final.php 文件的“正确”方法是什么。

我可以在 HTML 文件中使用 javascript 并将变量传递给表单操作即:

<form action="processupload.php?"+clientID method="post" enctype="multipart/form-data" id="MyUploadForm">

或者我可以获取 html 文件中的 url 参数并添加到表单操作中。

我在 body 标签之后试过这个:

<?php
$clientID='100';
?>

然后将表单操作更改为:

<form action="processupload.php?clientID=" <?php echo $clientID ?> method="post" enctype="multipart/form-data" id="MyUploadForm">

然后在我添加的PHP文件中:

$clientID = $_GET["clientID"];

并将文件名详细信息更改为:

$NewFileName        = $clientID.$File_Ext; //new file name

当我上传文件但 clientID 为空时,该过程有效。例如,文件名为“.png”而不是“100.png”

华比先生

最佳答案

如果你想通过 HTML 实现......

代替

<form action="processupload.php?clientID=" <?php echo $clientID ?> method="post" enctype="multipart/form-data" id="MyUploadForm">

试试这个:

<form action="processupload.php?clientID=<?php echo $clientID ?>" method="post" enctype="multipart/form-data" id="MyUploadForm">

如果还是不行(有些服务器不喜欢混合使用 POST 和 GET),那么尝试换成这个:

<form action="processupload.php" method="post" enctype="multipart/form-data" id="MyUploadForm">
    <input type="hidden" name="clientID" value="<?=$clientID;?>" />
    <!-- the rest of your form -->
</form>

然后在您的 PHP 文件中,将 $_GET 替换为 $_POST

关于php - 将参数传递给 HTML 中的表单操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24453038/

相关文章:

php - 如何使用 Laravel 包 楼主

php - 查找所选提交按钮的 ID

php - Codeigniter 事件记录类错误与 MySQL 原始查询

php - 驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性 (php) 设置

html - 添加链接后表格中的额外空间

html - 输入字段的宽度仅适用于 px

javascript - 在 React 中连接变量和字符串

php - 制表符分隔文件上的 str_getcsv

css - 将背景图像添加到 outlook 电子邮件模板

javascript - 这是低效的 JavaScript 吗?