首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Ruby CGI 程式設計入門:表單處理、HTML 生成與 URL 編碼

     編輯:更多程式設計知識

最簡 CGI 腳本

#!/usr/bin/ruby
puts "HTTP/1.0 200 OK"
puts "Content-type: text/html\n\n"
puts "This is a test"

使用 cgi.rb 函式庫

#!/usr/bin/ruby
require 'cgi'
cgi = CGI.new
puts cgi.header
puts "This is a test"

表單參數接收

# URL: /cgi-bin/test.cgi?FirstName=Zara&LastName=Ali
cgi['FirstName']   # => ["Zara"]
cgi['LastName']    # => ["Ali"]

# 取得所有參數 Hash
params = cgi.params   # => {"FirstName"=>["Zara"], "LastName"=>["Ali"]}
params['FirstName'] # => ["Zara"]

# 多值欄位
cgi['name']        # => "Zara" (第一個)
cgi.params['name'] # => ["Zara", "Huma", "Nuha"]

HTML 標籤生成

require "cgi"
cgi = CGI.new("html4")
cgi.out {
  cgi.html {
    cgi.head { "\n" + cgi.title{"This Is a Test"} } +
    cgi.body {
      "\n" + cgi.form {
        "\n" + cgi.hr + cgi.h1 { "A Form: " } +
        "\n" + cgi.textarea("get_text") + "\n" +
        cgi.br + cgi.submit
      }
    }
  }
}

輸出 HTML 範例

Content-Type: text/html
Content-Length: 302

This Is a Test


A Form:


URL 編碼與 HTML 逸出

require 'cgi'
puts CGI.escape("Zara Ali/A Sweet & Sour Girl")
# Zara+Ali%2FA+Sweet+%26+Sour+Girl

puts CGI.escapeHTML('

Zara Ali/A Sweet & Sour Girl

') # <h1>Zara Ali/A Sweet & Sour Girl</h1>
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved