phpinfo();打印php服務信息
如果有語法錯誤
開發模式/生產模式(屏蔽錯誤):
php.ini
display errors=on
重啓服務器
php.ini
搜索display_errors 默認是display_errors=Off 改成display_errors=On 保存退出重啓apache2 即可
短標記short open tag默認off(<??>)
asp tag 支持<%%>
註釋風格:// # /**/
打印echo()或echo :其中爲html時可以控制顯示html頁面元素
參數只有一個時可以去除圓括號
定界符:echo <<<EOT ***
EOT;(前面不能有空格)
“”中不能有換行,EOT比較方便,類似模板字符串
不能直接在php標籤中放html代碼,需要echo
php聲明不需要類型:$,在””中$可自動顯示變量值,$後的html需要隔開用字符串連接符
字符串拼接連接符:.
php resource存儲各類型數據
web service網絡接口
靜態變量配合靜態類:共享
單例模式(靜態類,只有一個實例)
工廠
DAO
代理(面向切面
依賴注入(使用對象時
靜態變量聲明只有第一次聲明有效
全局 global
Java認爲全局變量破壞封裝性,需要時可用靜態
request接收參數同時各種,最好是put和delete
增刪改查post/delete/put/get
跳轉顯示數據
name屬性,接收
超鏈接傳值(get),session,cookie
單選控件需要加value
==時能夠自動類型轉換
===類型相同
elseif中間空格
php函數
function
所有參數加$符號
內置函數:echo
查找字符串strstr(“hello”,”o”);返回在字符串中位置
填寫電子郵件,驗證格式
把校驗功能封裝到函數
Htmlspecialchars
加密函數md5(數據庫安全隱患)
通過 include 或 require 語句,可以將 PHP 文件的內容插入另一個 PHP 文件
include:代碼執行時加載,碰到錯誤繼續執行
require:只要當前頁加載就預加載
php數組:鍵值對(數據字典)
分配鍵名(若爲數字,往後自動指定)
實驗2(3):表單信息校驗
實驗內容:
1、在上次作業的基礎上,在registerverify.php頁面添加對註冊頁面提交來的數據進一步進行校驗,功能描述如下:
(1)賬號長度不能超過10,否則提示以下信息,並提供返回鏈接
(2)密碼長度不能少於6位,否則提示以下信息,並提供返回鏈接:
(3)密碼與確認密碼應當一致,否則提示以下信息,並提供返回鏈接:
(4)電子郵件地址必須含有”@”和”.”字符,否則提供以下信息,並提供返回鏈接
(5)當所有校驗都完成後,頁面會顯示用戶註冊信息:
js調用php和php調用js的方法
PHP與JS互相調用的原則就是數據類型的互轉:
1:對於不同的語言,兩互相調用的準則就是參數的數據類型的轉化
2:PHP與JS都是b/s腳本語言,瀏覽器集成了PHP的解釋器和js的解釋器,所以當瀏覽器讀到關鍵字時就會調用相應的解釋器來解析網頁語言,因此php與js互相調用的本質是 參數(語法規則)的相互轉化,也就是利用PHP的echo函數將數據類型統一化
3:PHP給js傳參--> 利用echo把PHP的語法規則轉化爲js的語法規則,PHP用到JS的返回值 --->就是利用echo把js的返回值轉化爲PHP的語法格式
<html> <body> <script type="text/javascript"> var str = 'values'; </script> <?php echo "<script type=text/javascript>document.write(str)</script>"; ?> </body> </html> |
Php表單校驗
http://www.w3school.com.cn/php/php_form_validation.asp
我們要做的第一件事是通過 PHP 的 htmlspecialchars() 函數傳遞所有變量。
在用戶提交該表單時,我們還要做兩件事:
1.(通過 PHP trim() 函數)去除用戶輸入數據中不必要的字符(多餘的空格、製表符、換行)
2.(通過 PHP stripslashes() 函數)刪除用戶輸入數據中的反斜槓(\)
接下來我們創建一個檢查函數(相比一遍遍地寫代碼,這樣效率更好)。
我們把函數命名爲 test_input()。
現在,我們能夠通過 test_input() 函數檢查每個 $_POST 變量,腳本是這樣的:
<?php // 定義變量並設置爲空值 $name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = test_input($_POST["name"]); $email = test_input($_POST["email"]); $website = test_input($_POST["website"]); $comment = test_input($_POST["comment"]); $gender = test_input($_POST["gender"]); }
function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } ?> |
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>"> |
<dd> 賬號:<input type="text" name="username" class="text" /> </dd> <dd> 密碼:<input type="password" name="password" class="text" /> </dd> <dd>確認密碼:<input type="password" name="password2" class="text" /> </dd> <dd>電子郵箱:<input type="text" name="email" class="text"/> </dd> <dd>性別: <input type="radio" name="sex" value="男" checked="checked" />男 <input type="radio" name="sex" value="女" />女 </dd> <dd>出生年月: <select id="testSel" name="birth_y"> </select> 年 <select id="monthSel" name="birth_m"> </select> 月 </dd> <dd> 驗證碼:<input type="text" size="4" name="code" class="text" id="code_input"/> <div id="v_container" style="width: 100px;height: 50px;"></div></dd> |
Php無法訪問全局變量
在局部作用域內,使用global關鍵字聲明與全局作用域變量名稱相同的變量即可。原因:這樣聲明之後,全局作用域內的變量和局部作用域內與之同名的變量指向了同一塊內存
沒事還是傳值或者直接寫吧
CSS控制圖片和文字在同一行顯示且對齊的3種方法
https://www.cnblogs.com/jingwhale/p/4599327.html?utm_source=tuicool
<img src="logo.jpg" alt="" style="vertical-align:middle"><a href="">找回密碼</a> |
div居中
margin:0 auto;
//左右居中,上下0
字符串處理
strchr(string $haystack , mixed $needle [, bool $before_needle = false ] )
strchr(同strstr)
返回從第一次出現的位置到haystack 結束的字符串或false(沒有找到
$haystack 被查找的字符串
$needle 要查找的字符串(如果不是字符串,將被轉化成整型並且作爲字符的序號來使用)
$before_needel 控制返回結果
strchr('hello world!','wor') 返回world!
strchr('[email protected]','@',true) 返回name
效果圖
完成作業2019.3.13版本下載地址:https://download.csdn.net/download/lagoon_lala/11017492