跳到主要內容

javascript字串轉換

當我們在執行網頁間的傳送資料時,字串間常會有出現『/#+!...』的特殊字眼。
而接收方的網頁上常常會以空白的方式呈現,或是直接消失。造成錯誤的資料傳遞。
為避免此情況發生,我們可以使用 javascript encodeURIComponent() 函式先將傳送方的資料做一次utf-8編碼。
使用方法:
傳送方網頁 send.html
<html>
  < head>
   < title> 傳方送方 < /title>
   < script type="text/javascript">
    function query_send() {
     tourl = 'doquery.php';
     send_variable = "supply_id=" + document.getElementById('supply_id').value;
     send_variable += "&memo_key=" + encodeURIComponent(document.getElementById('memo_key').value);
     post_ajax(tourl, show_list, send_variable);
    }
     function show_list() {
       if (http_request.readyState == 4) {
         if (http_request.status == 200) {
           document.getElementById('list_area').innerHTML = http_request.responseText;
         }
       }
    }
  < /script>
</HEAD>
<BODY>
   查詢條件:
           廠商:  < INPUT TYPE='text' id='supply_id' style='width:50px'>
           備註:  < INPUT TYPE='text' id='memo_key' style='width:120px'>
            < A href='javascript:void(0)' onclick='query_send()' > 查詢 < /A>
     < DIV id='list_area' >   < /DIV>
</BODY>
</HTML>

--------------------------------------------------------------------------------------
接收方網頁 doquery.php
<? php
    $supply_id = $_REQUEST['supply_id'];
    $memo_key  = stripSlashes(htmlentities($_REQUEST['memo_key'])); // 因為encodeURIComponent不處理單引號,所以,於PHP程式中再處理單引號的轉換。
    echo "廠商內容:".$supply_id."
備註內容:".$memo_key;
?>

留言

這個網誌中的熱門文章

Colorbox 使用筆記

Colorbox 詳細使用說明請參考 a jQuery lightbox 情境一: 當開發RWD網頁時,我想將 lightbox 的寬度依顯示螢幕的寬度來決定。 想讓 lightbox 的內容不會太擁擠或太空洞。 <script> var deviceWidth = 0; $(function() { deviceWidth = $(window).width(); $(window).resize(function(){ deviceWidth = $(window).width(); }); }); function showMessage() { var colorboxWidth = "100%"; if (deviceWidth > 767) { colorboxWidth = "70%"; } $.colorbox({innerWidth: colorbox}); } </script> 情境二: 為了讓使用者確實閱讀完 lightbox 內的訊息,想將關閉 lightbox 的熱鍵移除。 <script> function showMessage() { $.colorbox({ escKey: false,  // 按下esc鍵關閉 Colorbox 視窗 arrowKey: false,  // 按下方向鍵關閉 Colorbox 視窗 overlayClose: false  // 在背景遮罩點一下滑鼠左鍵,關閉 Colorbox 視窗 }); } </script> 情境三: 當 Lightbox 內的訊息太長,或需要互動性質的內容,開啓 iframe 功能,互動換頁才不會讓整個網頁換掉。 <script> function showMessage() { $.colorbox({ escKey: false, arrowKey: false, o...

CentOS 7 + PHP 7 無法上傳檔案

下以動作請使用root權限控制,確保指令可以正確運作。 查看 vi /etc/php.ini ;;;;;;;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. ; http://php.net/file-uploads file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). ; http://php.net/upload-tmp-dir ; upload_tmp_dir = ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 2M 此設定說明,上傳檔案時,會先將檔案存放在預設/tmp 資料夾。 查看 /tmp 的權限應該為 drwxrwxrwt. 10 root root tmp 再往下檢查 /tmp下的檔案權限 ls /tmp -all drwx------. 3 root root systemd-private-xxxxx-httpd.service-xxxxxx 將其擁有者修改為apache chown -R apache /tmp/systemd-private-xxxxx-httpd.service-xxxxxx 再將其權限設定為755 chmod -R 755 /tmp/systemd-private-xxxxx-httpd.service-xxxxxx -------------------------------------------------------------------------------- 再來我們也需檢查PHP程式指定上傳的路徑 假設上傳路徑為 /var/www/html/upload ls /var/www/html/upload drwxr-xr-x. 2 myname web upload 將其擁有者修改...

CentOS 7 + PHP 7 使用AD驗證

login.php 內容   $domain = "example.com.tw";   // 網域名稱   $ldap_server = "example01";     // AD SERVER 名稱   $connect_ad = ldap_connect ($ldap_server) or die ("無法連線AD SERVER");   ldap_set_option ($connect_ad, LDAP_OPT_PROTOCOL_VERSION, 3);   ldap_set_option ($ds, LDAP_OPT_REFERRALS, 0);   $ldapbind = @ ldap_bind ($connect_ad, "user01@".$domain, "userPassword");   if ($ldapbind) {     echo "驗證成功,已登入";   } else {     echo "驗證失敗。";   } ?> 於WEB SERVER執行時,永遠為顯示"驗證失敗"; 但是,以指令執行 [user01@example.com.tw html]$php login.php 其結果為"驗證成功,已登入"。 在 stackOverflow網站上有一篇回答 SELinux doesn't allow your httpd daemon to talk to the LDAP server on the same machine. 所以,我們要變更一下系統設定。 檢查httpd使用配置 getsebool -a | grep httpd httpd_anon_write --> off httpd_builtin_scripting --> on httpd_can_check_spam --> off httpd_can_connect_ftp --> off httpd_can_connect_ldap --> off httpd_can...