2016-10-25 76 views
0

我覺得自己像一個絕對的白癡發佈這個問題,但我完全認真,我正式不知道爲什麼這張表格不張貼。我已經從使用AJAX來顯示輸入到簡單submit-redirect-grab的信息,將數據以PHP的形式發佈到$ _SERVER [「PHP_SELF」],試圖將信息獲取到JUST POST,而不會。大多數問這個問題的人有他們的答案顯示爲「您需要一個名稱字段」或「您的JavaScript是問題」,但我有一個名稱字段,我不再使用JavaScript。我完全和完全困惑。HTML表單不發佈?有名字字段?

僅供參考,我使用PHPStorm和本地服務器進行測試。我今天剛剛登錄了新的項目,保存了項目,今天第一次運行它,確保它不僅僅是一種緩存項目,而且它對舊數據也沒有任何影響。

請不要介意,如果一些形式的語法是混亂的,我只是想這個補貼發揮作用,所以我可以繼續我想做的肉。此外,目前還沒有樣式表,它的大部分是空的除了

.id { 
    height: 100px; 
} 

還需要沒有一個表單字段,你真的只需要輸入的信息爲一體。我已經把它做了一個var_dump,這樣我就可以看到所有的表單發佈數據,而且它非常出色。我確實已經用「完成!」的語句迴應了PHP中的一些內容。顯示php正在被讀取,我也試圖回顯$ _POST [「modelnumber」]來看看。不。

的index.php

<!DOCTYPE html> 
 
<html> 
 
<link rel="stylesheet" type="text/css" href="index.css"> 
 
<body> 
 
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
 
    Model Number:<br> 
 
    <input type="text" id="mod" name="modelnumber"><br><br> 
 
    Amazon Item?<br> 
 
    <input type="radio" id="amazonItemY" name="amazonItem" value="yes"> Yes<br> 
 
    <input type="radio" id="amazonItemN" name="amazonItem" value="no" checked> No<br><br> 
 
    Item name:<br> 
 
    <input type="text" id="intName" name="itemName"><br><br> 
 
    Item Description:<br> 
 
    <input type="text" id="internetDescription" name="description"><br><br> 
 
    Brand:<br> 
 
    <input type="text" id="brand" name="itemBrand"><br><br> 
 
    Manufacturer:<br> 
 
    <input type="text" id="manufacturer" name="manName"><br><br> 
 
    Website category:<br> 
 
    <input type="text" id="cmcategory" name="category"><br><br> 
 
    Clearance?<br> 
 
    <input type="radio" id="clearanceY" name="clearance" value="yes"> Yes<br> 
 
    <input type="radio" id="clearanceN" name="clearance" value="no" checked> No<br><br> 
 
    Competitor Price: (leave empty if not clearance)<br> 
 
    <input type="text" id="competitorPrice" name="compPrice"><br><br> 
 
    School price:<br> 
 
    <input type="text" id="catStdPrice" name="schoolPrice"><br><br> 
 
    Dealer price:<br> 
 
    <input type="text" id="dealerStdPrice" name="dealerPrice"><br><br> 
 
    Website price(normal):<br> 
 
    <input type="text" id="intCsiPrice" name="webPrice"><br><br> 
 
    Unit of Measure:<br> 
 
    <input type="text" id="unitOfMeasure" name="uom"><br><br> 
 
    UPC:<br> 
 
    <input type="text" id="upc" name="upcNum"><br><br> 
 
    Manufacturer Part Number:<br> 
 
    <input type="text" id="mfgr_num" name="manfacNum"><br><br> 
 
    Item Attribute:<br> <!--needs to be a dropdown--> 
 
    <select id="attribute" name="attributes"> 
 
     <option value="(1593325)Baseball">Baseball</option> 
 
     <option value="(1593326)Basketball">Basketball</option> 
 
     <option value="(1593386)Boating + Paddling">Boating + Paddling</option> 
 
     <option value="(1593314)Camping Hiking + Climbing">Camping_ Hiking + Climbing</option> 
 
     <option value="(1610848)Cricket">Cricket</option> 
 
     <option value="(1593313)Cycling">Cycling</option> 
 
     <option value="(1593315)Equestrian">Equestrian</option> 
 
     <option value="(1593318)Fishing">Fishing</option> 
 
     <option value="(1593323)Football">Football</option> 
 
     <option value="(1594100)General Sports Equipment + Accessories">General Sports Equipment + Accessories</option> 
 
     <option value="(1593320)Golf">Golf</option> 
 
     <option value="(1593319)Hunting + Archery">Hunting + Archery</option> 
 
     <option value="(1593329)Ice + Roller Hockey">Ice + Roller Hockey</option> 
 
     <option value="(1593327)Other Sports">Other Sports</option> 
 
     <option value="(1593331)Personal Fitness">Personal Fitness</option> 
 
     <option value="(1599122)Pool + Billiards">Pool + Billiards</option> 
 
     <option value="(1593321)Rugby">Rugby</option> 
 
     <option value="(1593317)Skateboarding + Rollerskating">Skateboarding + Rollerskating</option> 
 
     <option value="(1593330)Ski + Snow">Ski + Snow</option> 
 
     <option value="(1593322)Soccer">Soccer</option> 
 
     <option value="(1593324)Softball">Softball</option> 
 
     <option value="(1593316)Tennis">Tennis</option> 
 
     <option value="(1593328)Water Sports">Water Sports</option> 
 
    </select><br/> 
 
    <input type="submit"> 
 
</form> 
 

 
<?php 
 
var_dump($_POST); 
 
?>

+1

是否有PHP的工作?如果在''>''之前添加'phpinfo();'會怎麼樣? – Quentin

+0

它確實有效,有一段時間我發佈了「完成!」只是爲了確保PHP實際上是工作 - 它是。當我將PHP部分放在另一個文件中時,它會告訴我,我試圖通過post進行訪問的項目,並且我檢查了拼寫錯誤,甚至複製粘貼名稱值 - 不存在。我認爲這是一個「不正確發送」文件之間的問題,這就是爲什麼我將它移動到同一頁面上處理,但顯然不工作。 TT^TT – Kitfoxpup

+0

嘗試轉儲您的'$ _REQUEST'變量。如果沒有幫助,請使用瀏覽器開發人員功能檢查您的「網絡」標籤。 –

回答

1

RedRazor的答案不是解決方案。 PHP解釋器重置php標籤內的引​​號。這意味着您可以在解釋代碼段中重複使用相同的引號。

這似乎更像是一個PHP風暴問題,請嘗試重新啓動您的PHP Storm服務器。我將你的代碼完全複製到我的機器上,並使用內置於服務器中的PHP Storm。沒有修改你的代碼工作。我附上了我的設置的一些圖像。

此外,您還必須運行PHP服務器才能獲得$_POST請求,但有一個圖標只能在瀏覽器中打開,這種圖標適用於多種情況,但由於其性質而不適用於此類請求。

這裏是我設置的一些圖片:

1 2 3

+0

這可能是解決方案,但我認爲我也有權限錯誤。 [Tue Oct 25 11:47:41 2016]無法在本地主機上偵聽:80(原因:嘗試以訪問權限禁止的方式訪問套接字 – Kitfoxpup

+0

您需要確保您有權限綁定到端口80.也許其他東西當前綁定到端口80.您可以將其分配給類似8080的東西。您可以從技術上將它分配給無符號的16位整數範圍(0-65535)內的任何數字,只要它是目前沒有被另一個進程綁定 – baflink

+0

Welp,我沒有得到「壞門」頁面,但我仍然得到了好的數組(0){}作爲答案。意思是沒有帖子TTOTT – Kitfoxpup

0

請確保有引號( 「」)

而不是

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 

嘗試

之間沒有衝突
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>"> 
+0

不是。我仍然有數組(0){}作爲我的var_dump。但我確實看到了你的意思 - 這可能會在某個時候引起問題,謝謝。 – Kitfoxpup

+0

不一定。我可以在這裏(你的代碼)在單個頁面上測試它,並將輸出結果輸出到底部的數組轉儲。 – RedRazor

+0

請var_dump(htmlspecialchars($ _ SERVER [「PHP_SELF」]))。 – RedRazor