1. 程式人生 > >【php】學習筆記

【php】學習筆記

——–CONTENTS———-

一、哈佛公開課

0、fake google

視訊0講中,fake google網頁編寫,通過google的input元素name和form的action來實現搜尋外接到google,但是視訊提交按鈕寫錯了,應該是type=”submit”,後面他自己也發現了。
以下是我模仿寫的fake baidu:

    <form action="https://www.baidu.com/s">
        <input type="text" name="wd">
        <br>
        <input
type="submit" name="fakeBtn" value="fake search">
</form>

1、錯誤報告等級

放在php檔案開頭:

<?php
    error_reporting(E_ALL);  //設定顯示所有notice、warning、error等
    ini_set("display_errors", true);  //除了log,螢幕上也要顯示資訊
?>

2、空值判斷

  • isset(v) 是否設定值的函式
  • @ 忽略錯誤資訊

下面兩種寫法效果相同:

if (isset($_POST
["checkbox_name"])) if (@($_POST["checkbox_name"]))

3、冒號和大括號

:+ endif 、{ + } 均表示PHP包裹之間的內容。

以下三種方式效果相同:

<?php if (isset($_POST["checkbox_name"])): ?>
    <h2>checked!</h2>
<?php endif ?>

<?php if (isset($_POST["checkbox_name"])){ ?>
    <h2>checked!</h2>
<?php
} ?> <?php if (isset($_POST["checkbox_name"])) echo "<h2>checked!</h2>" ?>

4、表單傳遞陣列——multi list

注意:如需多選列表傳遞陣列,select元素的名字後要加[],php才會將其識別為多值陣列。例如:

<label for="services[]">service: </label>
<select multiple="multiple" name="services[]" size=3>
    <option value ="volvo">Volvo</option>
    <option value ="saab">Saab</option>
    <option value="opel">Opel</option>
    <option value="audi">Audi</option>
</select>

(select元素的size屬性設定可同時顯示的option個數)

5、

$dom = simplexml_load_file("lectures.xml");
= new Simplexml(...)

print("<a href='$path'>"); //只有雙引號中的$path變數才能被值替換

<?= htmlspecialchars($lecture->name) ?>

foreach ($lecture->resources->resource as $resource)


AES_ENCRYPT("password","password")  //資料庫加密

$pdo = new PDO('mysql:host=localhost;dbname=ceb_phptry','root','root');
$statement = $pdo->prepare("select * from user where username = ? and password = password(?)");
$statement->bindValue(1,'admin',PDO::PARAM_STR);
$statement->bindValue(2,'admin',PDO::PARAM_STR);
$statement->execute();
$row = $statement->fetchAll(PDO::FETCH_OBJ);
echo "<pre>";
var_dump($userList);
echo "</pre>";
foreach ($row as $item) {    
    print($item->username);
}