我想使用PHP發佈我的表單,但由於某種原因似乎不可能,無論我嘗試發佈消息總是空的。
我試過這段代碼:
HTML
<div class="message-container">
<form id="imageForm" name="form" action="/requests/post_message.php" method="POST" enctype="multipart/form-data">
<div class="message-form-content">
<div class="message-form-header">
<div class="message-form-user"></div>
<div class="message-form-private"></div>
<div class="message-loader" id="post-loader" style="visibility: hidden"><div class="preloader"></div></div>
</div>
<div class="message-form-inner">
<textarea id="post" class="message-form" placeholder="message_form" name="message"></textarea>
</div>
<div class="selected-files"><span id="queued-files">0</span> Files selected</div>
<div class="message-form-input"><input type="text" name="value" id="form-value"></div>
<div type="button" name="action" class="message-btn button-active" value="Post"><a onclick="startUpload()">Post</a></div>
</div>
<iframe id="my_iframe" name="my_iframe" src="" style="display: none"></iframe>
</form>
</div>
的JavaScript
function startUpload() {
document.getElementById("imageForm").target = "my_iframe";
document.getElementById("imageForm").submit();
alert($("#imageForm").serialize()); //for debug
document.getElementById("post-loader").style.visibility = "visible";
}
post_message.php
<?php
include("../includes/config.php");
session_start();
print_r($_POST['message']);
從網絡控制檯我仔細檢查了請求,它是正確的,我可以看到POST with status 200
。
然而,當我寫入textarea
並點擊Post
按鈕時,JS alert
告訴我的消息正確,而不是我的PHP的print_r
是空的,這有什麼錯我的形式?
您發送GET,並檢查POST變量。檢查'$ _GET'而不是$ _POST。 – yivi
alert($(「#imageForm」)。serialize()); //用於調試? –
@VladimirM我看到這個http://stackoverflow.com/a/7667608/4458531 – NineCattoRules