2021年7月30日 星期五

05_JavaScript資料型別

三個基本資料型別
    數字. 如: 123, 120.50 等.
    字串. 如: "This text string" 等.
    布林. 如: true 或 false.
 
JavaScript還定義了兩種資料型別:nullundefined, 各自僅限定一個單一的值。
 
另, JavaScript也支援 '物件的複合資料型別'。
(註) Java不作整數和浮點值之間的區別。
JavaScript中的所有數位均為浮點值。使用 64位元浮點格式。
 
JavaScript變數
同其他的程式設計語言,JavaScript也有變數。
變數可以是命名容器。您可以將資料放入這些容器,然後參考該資料簡單地命名容器。
 
要在JavaScript程式使用一個變數,必須宣告它。
變數是用var宣告:
<script type="text/javascript">
<!--
var money;
var name;
//-->
</script>
 

以 var宣告多個變數:
<script type="text/javascript">
<!--
var money, name;
//-->
</script>
 
變數的初始化:
<script type="text/javascript">
<!--
var name = "Ali";
var money;
money = 2000.50;
//-->
</script>
 
注意:一旦宣告變數. 它的生命週期在整個文件中。不需要重新宣告同一個變數兩次。
 
JavaScript是型別化的語言。意味 JavaScript變數可以儲存任何資料型別的值, 不必宣告變數型別
變數的型別可以在程式的執行過程中改變
 
 
變數範圍:JavaScript變數只有兩個區域範疇:
全域性變數具有全域性範圍,意味它是無處不在存於JavaScript程式碼中。
區域性變數只在它被定義函式的那裡是可見的。例. 函式的引數則是區域性的。
 
在一個函式中,區域性變數優先於具有相同名稱的全域性變數。以下為例說明:
 
<script type="text/javascript">
<!--
var myVar = "global"; // Declare a global variable
function checkscope( ) {
   var myVar = "local";  // Declare a local variable
   document.write(myVar);
}
//-->
</script>
 
將產生以下結果:
local
變數命名原則
_不能使用任何保留的關鍵字作為變數名
_變數名不應以數位開始(0-9)。必須以字母或下劃線。
例,123test是無效的變數的名稱,
_123test是一個有效的
_JavaScript變數名稱有區分大小寫
 
保留字
以下是在JavaScript中的保留字。不能用於如 變數. 函式. 方法. 迴圈標籤. 或任何物件名稱。

2021年7月27日 星期二

04_在HTML檔案放置JavaScript

JavaScript程式碼可放在HTML中的任何地方:
    在 <head>...</head> 部分.
    在 <body>...</body> 部分.
    在<body>...</body> 和<head>...</head> 部分.
    指令碼和外部檔案,然後包括在<head>... </ head>部分。
 
JavaScript在<head>... </ head>間:
如果你想在事件上執行一個指令碼, 如. 當使用者點選了某個地方; 則應放在該指令碼的頭部,如下示:
 
<html>
<head>
<script type="text/javascript">
<!--
function sayHello() {
   alert("Hello World")
}
//-->
</script>
</head>
 
JavaScript在<body>... </ body>間:
如果一個指令碼連同頁面載入. 一起生成頁面, 則指令碼放在文件的<body>部分。在此情況下,就不必使用JavaScript定義的所有功能
 
<html>
<head>
</head>
<body>
<script type="text/javascript">
<!--
document.write("Hello World")
//-->
</script>
<p>This is web page body </p>
</body>
</html>
JavaScript可同時存在 <body> 及 <head> :
 
<html>
<head>
<script type="text/javascript">
<!--
function sayHello() {
   alert("Hello World")
}
//-->
</script>
</head>
<body>
<script type="text/javascript">
<!--
document.write("Hello World")
//-->
</script>
<input type="button" onclick="sayHello()" value="Say Hello" />
</body>
</html>
把JavaScript存為外部檔案:
- 當站點的多個頁面重用相同的JavaScript程式碼。
- 可以多個HTML檔案使用相同的JavaScript程式碼檔。
- script標籤提供了一種機制,允許儲存JavaScript在外部檔案中,然後將其包含到HTML檔案。
 
(示例)
使用JavaScript外部檔案時, 該檔案需以".js"為副檔名; 例如. 先將以下內容存為 js_filename.js
 
js_filename.js
function sayHello() {
   alert("Hello World")
}
 
後. 則可在 js_test.html 裡叫用 sayHello function
js_test.html
<html>
<head>
<script type="text/javascript" src="js_filename.js" ></script>
</head>
<body>
<input type="button" onclick="sayHello()" value="Say Hello" />
</body>
</html>
 

03_提醒瀏覽器啟用JavaScript

對非JavaScript瀏覽器的警告: 使用<noscript>標籤顯示給使用者。
可以在指令碼塊後. 立即加入 noscript 塊:
 
<html>
<body>
<script language="javascript" type="text/javascript">
<!--
   document.write("Hello World!")
//-->
</script>
 
<noscript>
  Sorry...JavaScript is needed to go ahead.
</noscript>
</body>
</html>
 
即, 如果使用者沒有啟用瀏覽器支援JavaScript, 則</ noscript>會在螢幕上顯示的訊息。

2021年7月26日 星期一

02_JavaScript語法

(本學習摘錄筆記取自: TW511學習網)
 
可以將<script>包含您的JavaScript放在網頁的任何地方,但最好的方式是放它在<head>標籤內。
 
<script>標籤提示瀏覽器程式開始解釋這些標籤之間的所有文字作為一個指令碼。所以,JavaScript的語法簡單如下:
<script ...>
  JavaScript code
</script>
script標籤有兩個重要屬性
    language: 通常情況下,它的值是 JavaScript。雖然最近HTML(和XHTML,其繼任者)的版本已經不再使用這個屬性。
 
    type: 該屬性是所使用的指令碼語言和它的值應被設定為 "text/javascript".
 
所以,你的JavaScript片段應該是這樣的:
<script language="javascript" type="text/javascript">
  JavaScript code
</script>
第一個JavaScript指令碼:寫一個例子列印出 "Hello World".

<html>
<body>
<script language="javascript" type="text/javascript">
<!--
   document.write("Hello World!")
//-->
</script>
</body>
</html>
說明:
用 "<!--" 開始,用"//-->"結束。
呼叫函式document.write .輸出字串到HTML。這個函式可輸出文字. HTML,或兩者。
空格和換行:
JavaScript忽略空格. 製表符. 和換行符在JavaScript程式。
分號是可選的:
後跟一個分號在JavaScript中簡單的語句,是因為相容 C. C++ 和Java。 JavaScript是可以忽略這個分號, 如. 每個語句是放置在一個單獨的行。
例. 下列程式碼可不使用分號
<script language="javascript" type="text/javascript">
<!--
  var1 = 10
  var2 = 20
//-->
</script>
 
但是,以下寫法時. 分號是必需的

<script language="javascript" type="text/javascript">
<!--
  var1 = 10; var2 = 20;
//-->
</script>

註:使用分號是一個良好的程式設計習慣。
 
 
區分大小寫
JavaScript是一種區分大小寫的語言。這意味著: 關鍵字,變數,函式名,以及任何其他的識別符號必須區分大小寫。
所以識別符號Time, TIme 和TIME 在JavaScript中有不同的含義
 
(註) 變數和函式名稱在JavaScript中應注意:
JavaScript 支援C風格和C++ 風格的註釋,因此. // 和行結束之間的所有文字將被視為一個注釋,會被JavaScript忽略。
任何文字在/*和*/之間的字元被視為註釋。這可能會跨越多行。
JavaScript還承認HTML注釋開啟順序 <!--,且當做是一個單行注釋。
在HTML註釋. 結束序列-->無法識別,所以JavaScript應該寫成 //-->。
示例:

<script language="javascript" type="text/javascript">
<!--
// 單行註釋. 相似於 C++
/*
 * 多行註釋
 * 相似於 C語言
 */
//-->
</script>
 
 

2021年7月25日 星期日

(示例) HTML中嵌入PHP的簡單方法

我們以一個提交訂單和顯示訂單資訊的例子為學習PHP的開始。這個例子包含兩個檔案。一個提交訂單的html檔案:orderform.html,一個顯示訂單資訊的php檔案:processorder.php。我將這兩個檔案放在test_1資料夾下,將test_1資料夾放在htdocs目錄下。
檔案的組織形式如下圖所示,使用xampps安裝的整合環境。

提交訂單的html檔案orderform.html如下所示:
<form action="processorder.php" method="post">
<table>
<tr bgcolor="#cccccc">
<td width="150">Item</td>
<td width="15">Quantity</td>
</tr>
<tr>
<td>Tires</td>
<td align="center"><input type="text" name="tireqty" size="3" maxlength="3" /></td>
</tr>
<tr>
<td>Oil</td>
<td align="center"><input type="text" name="oilqty" size="3" maxlength="3" /></td>
</tr>
<tr>
<td>Spark Plugs</td>
<td align="center"><input type="text" name="sparkqty" size="3" maxlength="3" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Submit Order" /></td>
</tr>
</table>
</form>

顯示訂單資訊的php檔案processorder.php如下所示:

<?php
// create short variable names, also can use '$_REQUEST['name']'
$tireqty = $_POST['tireqty'];
$oilqty = $_POST['oilqty'];
$sparkqty = $_POST['sparkqty'];
?>

<!DOCTYPE html>
<html>
<head>
<title>Bob 's Auto Parts - Order Results</title>
</head>
<body>
<h1>Bob 's Auto Parts</h1>
<h2>Order Results</h2>
<?php
echo "<p>Order processed at ";
echo date('H:i, jS F Y')."</p>";
echo "<p>Your order is as follows: </p>";
echo "$tireqty tires<br />";
echo $oilqty.' bottles of oil<br />';
echo $sparkqty." spark plugs<br />"
?>

---------------------------------------------------<br />
<?php
$testHeredoc = <<< EOF
line 1 
line 2 
line 3 
EOF;
echo "$testHeredoc"."<br />";
?>

---------------------------------------------------<br />
<?php
echo "About Comment:";
//Here is a comment.
#Here is a comment too.
/*
Here is multi line comment.
Here is multi line comment.
*/

?>

</body>
</html>

在瀏覽器中叫用 orderform.html

填入數字,然後點選"Submit Order"按鈕提交內容。則頁面將顯示processorder.php經過PHP解析器解析之後生成的html頁面

在這個例子中,我們可以學習到以下幾點內容:

2021年7月23日 星期五

(小感言) 人類中的垃圾 - 黑客

因為喜歡電腦. 剛好退休也可以用來打發些時間, 但是. 大部份時間花用在 log的觀察. 以及防火牆的修正上. 其實也蠻浪費生命的...
-
自家網站的防火牆雖日臻完善. 但的的確確也花了我不少時間...; 怪就怪在現在這個世界壞人. 居心不良的人太多. 總有數不清的不肖之徒不斷企圖入侵別人家電腦, 所以浪費了不少人類生命花在防火牆的攻防技術上...; 我雖不算得上是駭客之流. 但是為了讓自己的電腦運作順暢些. 逼使自己不得不花上許多時間在這上面...; 有點覺得浪費生命耗在這上面.., 微微的小收穫是: 我能夠用一兩千元的二手主機. 到現在還能順利運作老古董 RH9主機. 以及 XP等級的作業系統. 而且是虛擬多機使用的!!~
-
 

2021年7月3日 星期六

06_發送電子郵件(後試)

mail()函數用於在PHP中發送電子郵件。 mail()函數可送短信. HTML消息. 和附件。
PHP mail()函數
 
語法
 
    $to:指定郵件的接收者或接收者。 收信者格式:
        user@example.com
        user@example.com, anotheruser@example.com
        User user@example.com
        User user@example.com, User2 anotheruser@example.com
    $subject: 郵件主題。
    $message: 發送的郵件內容
    $additional_headers(可選):指定附加頭,如From,CC,BCC等。附加頭也用CRLF(\r\n)分隔。
    注意:消息的每一行應使用CRLF(\r\n)分隔,並且行不應大於70個字符。
 
PHP郵件範例
 
文件:mailer.php
 
<?php 
   ini_set("sendmail_from", "rh3@dyhms.no-ip.org"); 
   $to = "joke111.y@gmail.com"; //receiver address 
   $subject = "郵件主旨"; 
   $message = "從 localhost 轉 NAT server 發信"; 
   $header = "發信者: rh3@dyhms.no-ip.org\r\n"; 
 
   $result = mail ($to,$subject,$message,$header); 
 
   if( $result == true ){ 
      echo "Message sent successfully..."; 
   }else{ 
      echo "Sorry, unable to send mail..."; 
   } 
?>
 
如果在運行服務器上運行此代碼,它將向指定的接收方發送電子郵件。
PHP郵件:發送HTML消息
 
要發送HTML消息. 則需在消息標題中提及Content-type text/html。
 
<?php 
   $to = "joke111.y@gmail.com";//change receiver address 
   $subject = "This is subject"; 
   $message = "<h1>This is HTML heading</h1>"; 
 
   $header = "From: rh3@dyhms.no-ip.org\r\n"; 
   $header .= "MIME-Version: 1.0 \r\n"; 
   $header .= "Content-type: text/html;charset=UTF-8 \r\n"; 
 
   $result = mail ($to,$subject,$message,$header); 
 
   if( $result == true ){ 
      echo "Message sent successfully..."; 
   }else{ 
      echo "Sorry, unable to send mail..."; 
   } 
?>
 
PHP郵件:使用附件發送郵件
 
要發送附件, 則需提及許多標題信息,參示例:
 
<?php 
  $to = "joke111.y@gmail.com"; 
  $subject = "This is subject"; 
  $message = "This is a text message."; 
  # Open a file 
  $file = fopen("/tmp/test.txt", "r" );//change your file location 
  if( $file == false ) 
  { 
     echo "Error in opening file"; 
     exit(); 
  } 
  # Read the file into a variable 
  $size = filesize("/tmp/test.txt"); 
  $content = fread( $file, $size); 
 
  # encode the data for safe transit 
  # and insert \r\n after every 76 chars. 
  $encoded_content = chunk_split( base64_encode($content)); 
 
  # Get a random 32 bit number using time() as seed. 
  $num = md5( time() ); 
 
  # Define the main headers. 
  $header = "From:xyz@example.com\r\n"; 
  $header .= "Content-Type: multipart/mixed; "; 
  $header .= "boundary=$num\r\n"; 
  $header .= "--$num\r\n"; 
 
  # Define the message section 
  $header .= "Content-Type: text/plain\r\n"; 
  $header .= "Content-Transfer-Encoding:8bit\r\n\n"; 
  $header .= "$message\r\n"; 
  $header .= "--$num\r\n"; 
 
  # Define the attachment section 
  $header .= "Content-Type:  multipart/mixed; "; 
  $header .= "name=\"test.txt\"\r\n"; 
  $header .= "Content-Transfer-Encoding:base64\r\n"; 
  $header .= "Content-Disposition:attachment; "; 
  $header .= "filename=\"test.txt\"\r\n\n"; 
  $header .= "$encoded_content\r\n"; 
  $header .= "--$num--"; 
 
  # Send email now 
  $result = mail ( $to, $subject, "", $header ); 
  if( $result == true ){ 
      echo "Message sent successfully..."; 
   }else{ 
      echo "Sorry, unable to send mail..."; 
   } 
?>

(Centos-7s) 更新: 網卡名稱改回 eth0 的方法

將 CentOS 7 網卡名稱修改, 用回 Eth0 的方法:   1) # vi /etc/sysconfig/grub 內容大概是這樣:   GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release...