【问题标题】:POST request shows no visible valuePOST 请求显示没有可见值
【发布时间】:2017-09-21 10:55:55
【问题描述】:

我最近一直在做一个使用一点 PHP 的项目。我不知道我的问题对于那些有大量经验的人来说是否显而易见,但这里是。

我不知道如何从我创建的上传 PHP 中获得响应。如果我有一个表格,像这样......

<!DOCTYPE html>
<html>
    <body>

        <form action="upload.php" method="POST" enctype="multipart/form-data">
            <label>Select image to upload:</label>
            <input type="file" name="fileToUpload" id="fileToUpload">
            <input type="submit" value="Upload Image" name="submit">
        </form>

    </body>
</html>

...我有一个 PHP 脚本可以将这些图像上传到 Cloudinary...

<?php

// Cloudinary init
require 'Cloudinary.php';
require 'Uploader.php';
require 'Api.php';
\Cloudinary::config(array( 
  "cloud_name" => "(cloud name)", 
  "api_key" => "(my key)", 
  "api_secret" => "(secret here)" 
));

// Uploads images to Cloudinary
\Cloudinary\Uploader::upload($_FILES["fileToUpload"]["tmp_name"]);

?>

...我怎样才能使它在提交时将照片 URL 的值(存储在散列中)添加到另一种形式的隐藏输入中?非常感谢。

附:很抱歉提出这样的问题! (我是新来的)

【问题讨论】:

    标签: php forms http post cloudinary


    【解决方案1】:

    首先,确保会话已启动。这允许您通过服务器发送带有帖子和文件的数据。

    session_start()

    然后您可以使用 post 和 file 函数按名称访问您的输入。

    # form.php
    <?php session_start() ?>
        <form action="after_form.php" method="POST" enctype="multipart/form-data">
        <input type="text" name="text-input" value="Moon Text" />
        <input type="hidden" name="some-input" value="xyyz" />
        <input type="submit" />
    </form>
    

    然后在您的下一页上,提交表单后,

    # after_form.php
    echo $_POST['text-input']; //prints "Moon Text"
    echo $_POST['some-input']; //prints "xyyz"
    

    通常您会将这些数据保存在某个地方。

    如果在同一个 after_form.php 页面上你有一个新的隐藏输入,你可以做类似的事情

    <input type="hidden" name="file-path" <?php echo 'value="'.$_POST['data'].'"';?> />
    

    【讨论】:

    • 好的。但这如何返回包含图片 URL 的哈希?
    • 哈希是从哪里来的?如果它在\Cloudinary\Uploader::upload($_FILES["fileToUpload"]["tmp_name"]) 中,那么你将它分配给一个变量,它将保存散列。然后对变量做任何你喜欢的事情。
    • 仍然收到错误:Fatal error: Uncaught exception 'Cloudinary\Error' with message 'Missing required parameter - file' in /home/inciden4/public_html/report/Uploader.php:344 Stack trace: #0 /home/inciden4/public_html/report/Uploader.php(63): Cloudinary\Uploader::call_api('upload', Array, Array, NULL) #1 /home/inciden4/public_html/report/upload.php(21): Cloudinary\Uploader::upload(NULL, Array) #2 {main} thrown in /home/inciden4/public_html/report/Uploader.php on line 344。我试图将它分配给一个变量。
    • 您的文件无法通过 - with message 'Missing required parameter - file'。尝试使用print_r($_FILES)dd($_FILES) 看看会产生什么效果。
    • 嗯。 print_r($_FILES) 返回 Array ( )。奇怪
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-18
    • 2011-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-02
    • 2017-12-01
    相关资源
    最近更新 更多