2012-07-23 57 views
0

編輯爲我的愚蠢:

我有一個簡單的HTML表單,基本的選擇,文本和文本區域的投入。提交後,表單將返回空白的一些字段,但不是全部。下面的形式:

<form action='?action=createDigitalJob' method='post'> 
    <table width='100%'> 
     <tr> 
      <th align='left'>Job Type</th> 
      <td> 
       <select id='jobTypeID' name='jobType' style='width:250px;' onchange=\"digitalJobToggle('jobTypeID')\"> 
        <option value='0'>Count Type&nbsp;&nbsp;</option> 
        <option value='wu'>Web Update&nbsp;&nbsp;</option> 
        <option value='purl'>PURL&nbsp;&nbsp;</option> 
        <option value='furl'>FURL&nbsp;&nbsp;</option> 
        <option value='gurl'>GURL&nbsp;&nbsp;</option> 
        <option value='domain'>Domain Purchase&nbsp;&nbsp;</option> 
        <option value='eblast'>E-Blast&nbsp;&nbsp;</option> 
        <option value='tdm'>TDM&nbsp;&nbsp;</option> 
        <option value='crm'>ORM&nbsp;&nbsp;</option> 
       </select> 
      </td> 
     </tr> 
     <tr> 
      <th align='left'>Urgent</th> 
      <td> 
       <select name='isUrgent'> 
        <option value='No'>No&nbsp;&nbsp;</option> 
        <option value='Yes'>Yes&nbsp;&nbsp;</option> 
       </select> 
      </td> 
     </tr> 
     <tr id='wu' style='display:none'> 
      <td colspan='2'> 
       <table class='plain'> 
        <tr> 
         <td>Webpage Address</td> 
         <td><input type=\"text\" name=\"webpageAddress\" /></td> 
        </tr> 
        <tr> 
         <td valign='top'>Current Text</td> 
         <td><textarea name='currentText' style='width:500px; height:250px;' placeholder='Current Text' ></textarea></td> 
        </tr> 
        <tr> 
         <td valign='top'>New Text</td> 
         <td><textarea name='newText' style='width:500px; height:250px;' placeholder='New Text Text' ></textarea></td> 
        </tr> 
        <tr> 
         <td>Copy Proofed?</td> 
         <td> 
          <select name='copyProofed'> 
           <option value='No'>No&nbsp;&nbsp;</option> 
           <option value='Yes'>Yes&nbsp;&nbsp;</option> 
          </select> 
         </td> 
        </tr> 
       </table> 
      </td> 
     </tr> 
     <tr id='submitRow' style='display:none'> 
      <td colspan='2'> 
       <input type='hidden' name='step' value='2' /> 
       <input type='submit' name='submit' value='Submit' />&nbsp;&nbsp; 
       <input type='button' value='Cancel' onclick='javascript:history.go(-1);' /> 
      </td> 
     </tr> 
    </table> 
</form> 

提交表單後,我可以做的print_r($ _ POST)和收到以下:

陣列([jobType] =>武[isUrgent] =>是[webpageAddress] => [currentText] => 1 [newText] => [copyProofed] =>否[creativeComplete] =>否[jobNumber] => [phoneVerified] =>否[leadEmail] => [variables] => [pincodes] =>無[webpageAddress2] => [eblastType] => Digital [subjectLine] => [copyApproved] =>無[dueDate_Month] => 1 [dueDate_Day] => 1 [dueDate_Year] => 2012 [notes] = > 41 [step] => 2 [submit] =>提交)

如果我一個的var_dump($ _ POST),我得到這樣的:

陣列 'jobType'=>字符串 '武'(長度= 2) 'isUrgent'=>串 '是' (length = 0) 'webpageAddress'=> string''(length = 0) 'currentText'=> string'1'(length = 1) 'newText'=> string''(length = 0) ' 'length'=> string'No'(length = 2) 'creativeComplete'=>字符串'否'(length = 2) 'jobNumber'=> string''(length = 0) 'phoneVerified'=>否'(長度= 2) 'leadEmail'=> string''(length = 0) 'variables'=> string''(length = 0) 'pincodes'=> string'No'(length = 2) 'webpageAddress2'=> string' 'length'='string''(length = 0) 'eblastType'=> string'Digital'(length = 7) 'subjectLine'=> string''(length = 0) 'copyApproved'=> 'dueDate_Month'=>字符串'1'(長度= 4) 'dueDate_Day'=>字符串'1'(長度= 1) 'dueDate_Year'=> >字符串'41'(長度= 2) 'step'=>字符串'2'(長度= 1) 'submit'=>字符串'Submit'(長度= 6)

兩種類型的$ _POST轉儲都顯示爲webpageAddress和newText的空值,即使我在爲提交之前爲它們輸入了數據。任何人都知道爲什麼我輸入的數據不會在$ _POST轉儲中可用?

有人知道這裏發生了什麼?

+2

瓦爾轉儲有這樣的:'「currentText」 = >字符串「1」(長度= 1)' – 2012-07-23 14:34:57

+0

對的,因爲目前的案文...但不webpageaddress:「webpageAddress」 =>字符串「」(長度= 0)某些字段在工作,其他人都沒有噸。這就是爲什麼我很困惑。 – Brds 2012-07-23 14:36:28

+0

相當並且在你的print_r中:'webpageAddress'=> {空白}或長度爲0的字符串。我不確定你的問題是什麼。你的PHP邏輯有問題。 – 2012-07-23 14:37:58

回答

1

[currentText] => 1(從print_r輸出)

'currentText' => string '1' (length=1)(從var_dump輸出)

是相同....即1值.. var_dump示出了字段的類型(string在這種情況下)其中print_r不...從手動:大約在某種程度上可變

print_r

顯示信息這是由人類可讀

其中作爲var_dump

顯示結構化關於一個或多個表達式的信息包括其類型和價值。數組和對象以遞歸的方式遞歸探索,其中值顯示爲結構。

在沒有價值print_r以顯示此:

[webpageAddress] =>

var_dump將顯示此

'webpageAddress' => string '' (length=0)

+0

正確,但我在print_r中獲得了「1」的輸出,但未收到var轉儲。 – Brds 2012-07-23 14:35:47

+0

@Brds你是...'string'1''顯示類型和值..該值在''''(引號) – ManseUK 2012-07-23 14:36:45

+0

print_r給我一個值「1」... var_dump(或$ var = $ _POST ['webpageAddress']; echo $ var;)給我''; – Brds 2012-07-23 14:38:10

0

輸出一些變量不出現在HTML代碼(webpageAddress2,eblastType,subjectLine)。在「webpageAddress」的情況下,你是否嘗試刪除轉義字符?如果您刪除引號(「)?

0

的問題是表內的表逃逸(\)會發生什麼。使用表我永遠不會建立一個形式。Div的或CSS列表調整大小和位置一個更容易和更清潔的系統來管理和調試

也給自己逃避每次的頭痛救「與\」嘗試保存表單這樣

$form = <<<EOT 
<form html here> 
EOT;