2013-07-12 71 views
1

我需要使用PHP提交表單並將其發送到CouchBase,並將其存儲在HTML標記中(<p>標記以及不包含HTML標記)。我使用CLEditor當有人提出以粗體文本的形式爲人們創造輸入HTML標籤的文本字段,這樣的方式,它看起來是這樣的:PHP - 使用HTML標記提交表單

<span style="font-size: large;">Highlights of what your hotel has to offer.</span> 

所以我在開始發送信息通過使用action屬性的表單,但是如何通過包含HTML標籤發送該信息?

感謝您的幫助!

UPDATE:

想我只是做一個捲曲的請求,並調用領域。但是,我用什麼來調用該字段中的信息來拉取原始html?

PHP:

<?php 
session_start(); 
    $curl = curl_init(); 
    $url = $_SESSION['extranetRequest'] . '?action=sendDesc&guid=' . $_SESSION['guid'] . '&username=' . $_SESSION['u_name']; 
     $curl = curl_init(); 
     curl_setopt($curl, CURLOPT_URL, $url); 
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($curl, CURLOPT_HEADER, false); 
     curl_setopt($curl, CURLOPT_POSTFIELDS,  $_POST['']); 
     curl_setopt($curl, CURLOPT_HTTPHEADER,  array('Content-Type: text/plain')); 
     $content = curl_exec($curl); 
     if (curl_errno($curl)) { 
      print curl_error($curl); 
     } else { 
      curl_close($curl); 
     } 
?> 

更新2:

好了,所以我得到了我在做什麼更好的主意。我使用CLEditor來真正允許人們編輯他們自己的文本,以及不需要提交的東西在別處查看。但現在我無法得到的數據被公佈,像這樣:

HTML:

<form action="assets/php/sendHTML.php" name="hotelDescForm" id="hotelDesc" method="POST" class="hotelDesc"> 
       <div class="row push-down"> 
        <div class="span4"> 
         <h1 style="font-size: 24px;"><span class="orange-title">hotel description</span></h1> 
          <textarea class="textarea" rows="8" style="width: 900px;" name="hotelDesc" class="hotelDesc" id="hotelDesc" value="">Text Is Here. Start working.</textarea> 
        </div> 
       </div> 
       <div class="row"> 
        <br> 
         <button type="submit" name="submit" id="update" class="btn btn-success btn-large"><i id="update-button" class="icon-refresh"></i> Update Information</button> 
        </form> 

jQuery是剛剛打電話來textarea的配置與CLEditor文本框。

PHP:

<?php 
session_start(); 
    $data['data'] = $_POST['demo']; 
    $desc = json_encode($data); 
    $curl = curl_init(); 
    $url = $_SESSION['extranetRequest'] . '?action=sendDesc&desc='. var_dump($_POST) .'&guid=' . $_SESSION['guid'] . '&username=' . $_SESSION['u_name']; 
     $curl = curl_init(); 
     curl_setopt($curl, CURLOPT_URL, $url); 
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, false); 
     curl_setopt($curl, CURLOPT_HEADER, false); 
     curl_setopt($curl, CURLOPT_POSTFIELDS,  var_dump($_POST)); 
     curl_setopt($curl, CURLOPT_HTTPHEADER,  array('Content-Type: text/plain')); 
     $content = curl_exec($curl); 
     if (curl_errno($curl)) { 
      print curl_error($curl); 
      echo "<script language='javascript'>\n"; 
      echo "alert('Failed'); window.location.href='https://hotelmobidev.jvgames.com/profile';"; 
      echo "</script>\n"; 
     } else { 
      curl_close($curl); 
      echo "<script language='javascript'>\n"; 
      echo "alert('Worked'); window.location.href='https://hotelmobidev.jvgames.com/profile';"; 
      echo "</script>\n"; 
     } 
?> 

什麼CLEditor做它是創建一個iframe,所以我需要一種方式來獲得周圍和後放置在文本框中輸入數據。多謝你們!

+5

沒有特別的理由提交HTML標記是任何不同於任何其他內容。如果你在某個時候過濾了提交的內容,那會刪除html標記 - 但是,你沒有發佈任何相關的代碼,所以我們不能肯定地說。 –

+0

我需要它與HTML標記發送的東西,沒有太多的代碼顯示。我想知道如果我應該基本上捲曲數據以獲得數據庫的完整描述。我無法使用網址請求,因爲網址會很大。我只是尋找一些幫助發送數據(: –

回答

0

好的,我想通了。我決定向CKEditor展示這個問題。我正在做的就是發送數據到一個帶有標籤的服務器。在PHP中使用cURL語句。

PHP:

<?php 
session_start(); 
    $editor_data = $_POST[ 'editor1' ]; 
    $data['data'] = $_POST[ 'editor1' ]; 
    $curl = curl_init(); 
    $url = $_SESSION['extranetRequest'] . '?action=sendDesc&guid=' . $_SESSION['guid'] . '&username=' . $_SESSION['u_name']; 
     curl_setopt($curl, CURLOPT_URL, $url); 
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($curl, CURLOPT_HEADER, false); 
     curl_setopt($curl, CURLOPT_POST, 1); 
     curl_setopt($curl, CURLOPT_POSTFIELDS, $data); 
     $content = curl_exec($curl); 
     if (curl_errno($curl)) { 
      print curl_error($curl); 
     } else { 
      curl_close($curl); 

     } 

?> 

而在HTML側...

<form action="assets/php/sendHTML.php" name="hotelDescForm" id="hotelDesc" method="POST" class="hotelDesc"> 
        <div class="row push-down"> 
         <div class="span4"> 
          <h1 style="font-size: 24px;"><span class="orange-title">hotel description</span></h1> 
           <textarea name="editor1" style="width: 900px;" rows="8"></textarea> 
           <script> 
            CKEDITOR.replace('editor1', { 
             height: 300, 
             width: 900 
            }); 
           </script> 
         </div> 
        </div> 
        <div class="row"> 
         <br> 
          <button type="submit" name="submit" id="update" class="btn btn-success btn-large"><i id="update-button" class="icon-refresh"></i> Update Information</button> 
         </form> 

如果你們有爲什麼這工作讓我知道任何問題!再次感謝所有幫助過的人!

0

CURLOPT_POSTFIELDS調用是您根據PHP手冊頁進行調用的地方。 (http://php.net/manual/en/function.curl-setopt.php)。

CURLOPT_POSTFIELDS

完整的數據張貼在HTTP 「POST」 操作。要發佈文件, 需要在文件名前添加@並使用完整路徑。文件類型可以是 ,其格式爲: 格式'; type = mimetype'。此參數可以作爲 urlencoded字符串傳遞,如'para1 = val1 & para2 = val2 & ...'或作爲數組與 字段名稱作爲鍵和字段數據作爲值。如果value是一個數組,則 的Content-Type標題將被設置爲multipart/form-data。從PHP 5.2.0開始,如果使用@前綴將文件傳遞給此選項,則值必須是數組。從PHP 5.5.0開始,@前綴已棄用,文件 可以使用CURLFile發送。

您將需要:

$field = '<span style="font-size: large;">Highlights of what your hotel has to offer.</span>'; 

,然後在CURLOPT_POSTFIELDS是:

curl_setopt($ch, CURLOPT_POSTFIELDS, $field); 

事情是,你可能需要確保你的HTML被正確轉義。例如& = &等。

+0

)如果我使用的東西像CKEditor怎麼樣?我將如何處理所有這些數據。 –

+0

我不知道,我只是習慣使用它簡單的東西,如參數。 – lonehorseend