2012-05-17 28 views
0

嗨,朋友我已經創建了一個表格,並試圖設置每個領域的餅乾,我成功設置輸入文本框的cookie,但我沒有做到對於textarea字段和下拉列表以及複選框也是如此。形式是如下....存儲餅乾和檢索他們的HTML表格值使用PHP

<input name="date" type="text" size="10" value="<?php if(isset($_COOKIE["date"])) echo $_COOKIE["date"];?>" onblur="setCookie(this.name,this.value,60*60*2)" /></td> 
      Order Number: 
      <input name="order_num" type="text" size="10" value="<?php if(isset($_COOKIE["order_num"])) echo $_COOKIE["order_num"];?>" onblur="setCookie(this.name,this.value,60*60*2)" /> 
     First Name: 
      <td><input name="fname" type="text" value="<?php if(isset($_COOKIE["fname"])) echo $_COOKIE["fname"];?>" onblur="setCookie(this.name,this.value,60*60*2)"/></td> 
      Last Name: 
      <td><input name="lname" type="text" value="<?php if(isset($_COOKIE["lname"])) echo $_COOKIE["lname"];?>" onblur="setCookie(this.name,this.value,60*60*2)"/> 

      Image Submitted: 
      <input name="image" type="text" value="<?php if(isset($_COOKIE["image"])) echo $_COOKIE["image"];?>" onblur="setCookie(this.name,this.value,60*60*2)"/> 
      General Comments: 
     <textarea name="gen_comments" cols="50" rows="6" onblur="setCookie(this.name,text,60*60*2)" ><?php if(isset($_COOKIE["gen_comments"])) { echo $_COOKIE["gen_comments"];}?></textarea> 

      Internal Comments: 
      <textarea name="int_comments" cols="50" rows="6" onblur="setCookie(this.name,text,60*60*2)"><?php if(isset($_COOKIE["int_comments"])) { echo $_COOKIE["int_comments"];}?></textarea> 
     Quality of the File: 
      <select name="quality" onchange="" > 
      <option >Select One</option><option name="good" value="<?php if(isset($_COOKIE["good"])) echo $_COOKIE["good"];?>">Good</option><option value="ok">A bit low but we can use it</option><option value="low">Low. We are concerned it might effect the qaulity of the final</option><option value="not good">Not good. We cannot work with it</option><option value="test2">test2</option><option value="test">test</option><option value="lkdjfalkdjlaksjdla dlkajsdaksjdlkajsdlkjaslkdjas alksdjaslkdjlaksjdla">Lisa1</option><option value="bbb">aaa</option>  <!--option value="good">Good</option> 
      <option value="ok">A bit low but we can use it</option> 
      <option value="low">Low. We are concerned it might effect the qaulity of the final </option> 
      <option value="not good">Not good. We can't work with it</option--> 
      </select> 
      <input type="button" name="qofoption" id="qofoption" value="Add New Option" 
      onClick="optionWindow('http://www.lightaffection.com/Hema2/addnewoption.php?option=qof','optionwindow','400','200')"/>  </td> 
     </tr> 
     <tr><div name="qofdiv"></div></tr> 
     <tr> 
      <td align="right">Image Proportions and Content:</td> 
      <td colspan="2" style="padding-right:4px"> 
      <select name="imageprop" id="imageprop"> 
      <option>Select One</option><option value="test2">test2</option><option value="not good">Too much details for a Night Light</option><option value="good">Good</option><option value="test">test</option><option value="asdas">asdsa</option><option value="bbb">bbb</option> 
      <td><b>How would you like us to proceed?</b></td><td></td></tr> 

     <input type="checkbox" name="proceed_opt[]" value="I will upload new Image"> 
       Insert Option &quot;I will upload new Image&quot;</td></tr> 
     <tr><td></td><td colspan="2"> 
       &nbsp; 
       <input type="checkbox" name="proceed_opt[]" value="I approve this sample for a Night Light"> 
       Insert Option &quot;<font face="Arial, Helvetica, sans-serif" size="2">I approve this sample for a Night Light</font>&quot; </td></tr><tr><td></td><td colspan="2"> 
       &nbsp; 
       <input type="checkbox" name="proceed_opt[]" value="Select One"> 
       Insert Option &quot;<font face="Arial, Helvetica, sans-serif" size="2">Select One</font>&quot; </td></tr>  
     <tr><td></td><td colspan='2'> &nbsp; 
     <input type="checkbox" name="proceed_opt[]" value="other"> 
       Insert Option &quot;Other See comments&quot;</td></tr> 

      <td> Ship by date: <input name="shipdate" type="text" /><br /> 
      <br /> 
      Update Order Status to: <select name="orderstatus"> 
      <option>Do not change</option> 
      <option>Waiting for designer</option> 
      <option>Waiting for customer response</option> 
      </select> 
      <br /> 
      <input name="ordermanager" type="checkbox" value="" /> Update Order Manager <br /> 
      <input name="createhtml" type="checkbox" value="" /> Create an HTML page <br /> 
      <input name="sendemail" type="checkbox" value="" /> Send Email to Customer <br />  </td> 


    </form> 

在此先感謝..

+4

我可以問你爲什麼要爲每個領域的cookie? –

+0

另外從瀏覽器的瀏覽器有一些限制,你可以設置多少餅乾。FF有40,IE 30我認爲...把這個計入... – shadyyx

+0

@MrD只是爲了方便我這樣做。請幫助我設置表單中其餘字段的Cookie .. –

回答

1

關於如何設置/用PHP讀取/刪除cookies簡單的例子:

<?php 

// set a cookie 
setcookie("cookiename", "cookievalue", time()+3600); 

// read a cookie 
if (isset($_COOKIE["cookiename"])) { 
    $mycookievalue = $_COOKIE["cookiename"]; 
} 

// delete a cookie 
setcookie("cookiename", "", time()-3600); 

?> 

要將實用案例,只需重複您需要存儲的每個領域。

例如,

<?php 
foreach($_POST as $key =>$value) { 
    setcookie($key, $value, time()+3600); 
} 
?> 

知道更多

的cookie的語法:

setcookie(name, value, expire, path, domain); 

哪裏可以ABO閱讀UT斯達康這樣:

W3C - PHP Cookies

PHP.net Cookies

PHP Cookies Tutorial

+0

如何爲我的表單中的textarea,下拉列表框和複選框字段實現此操作? –

+0

剛剛爲您添加了一個示例,請參閱 – Zuul

0

要回答你的問題,雖然有更好的方法來做到這一點:頭是前

PHP餅乾必須設置發送(在給出任何輸出之前,所以你不能按照你的意願設置它們)

你留下了以下選擇:

-set the cookies using javascript 
-Create a file which acts as the forms action, and in that file pull all the $_POST values and set them there. 

但我再說一遍,有更好的方法來做到這一點。

+0

我不能在我的頁面做這種事情,因爲這些cookie不應該在頁面提交或類似的東西上工作..填寫完每個字段後,應該設置cookie,即使在頁面重新加載之後也應該重複cookie值 –

+1

您的最終目標是什麼?你在嘗試使用這些餅乾做什麼? –

+0

在表單中設置了所有字段值一次之後,並且一旦頁面重新加載所有字段,都應該在該表單的cookie中保留值。 –