PHP 는 1994 년 Rasmus Ledorf 에 의해 창립되었습니다. 처음에는 Rasmus Ledorf 가 Perl 언어로 작성한 개인 웹 페이지를 유지하는 간단한 프로그램이었습니다. 이 도구들은 라스마스 러델프의 이력서와 통계 네트워크 트래픽을 보여주는 데 사용된다. 나중에 데이터베이스에 대한 액세스를 포함하여 c 언어로 다시 작성합니다. 그는 이 프로그램들을 PHP/FI 라는 양식 번역기와 통합했다. PHP/FI 는 데이터베이스에 연결하여 간단한 동적 웹 프로그램을 생성할 수 있습니다. Php 학습을 시작할 수 있도록 PHP 입문 자습서를 다음과 같이 공유합니다.
1, 포함 방법:
2. 참조 문서:
파일을 참조하는 두 가지 방법, 즉 요구 사항과 포함이 있습니다.
Require 는 require ("myrequirefile.php") 로 사용됩니다. 。 이 함수는 일반적으로 PHP 프로그램 앞에 배치됩니다. PHP 프로그램은 실행하기 전에 require 에서 지정한 파일을 읽고 PHP 프로그램 웹 페이지의 일부로 만듭니다. 자주 사용하는 기능도 이런 방식으로 웹 페이지에 도입될 수 있다.
Include ("my includefile.php") 와 같은 사용 포함 。 이 기능은 일반적으로 프로세스 제어의 처리 부분에 배치됩니다. PHP 프로그램 웹 페이지는 포함 파일을 읽을 때만 읽습니다. 이렇게 하면 프로그램 실행 프로세스가 단순화됩니다.
3, 치수 방법:
& lt? 서버측 프로그래밍 언어 (professional hypertext preprocessor 의 약어)
에코 "이것이 첫 번째 예입니다. \ n ";; //이 예는 C++ 구문에 대한 주석입니다 (PHP 주석은 C 와 유사! ) 을 참조하십시오
/* 이 예에서는 여러 줄을 사용합니다
주석 방법 */
에코 "이것은 두 번째 예입니다. \ n ";;
에코 "이것은 세 번째 예입니다. \ n ";; # 이 예에서는 UNIX 쉘 구문 주석을 사용합니다.
-응? & gt
4. 변수 유형:
$mystring = "나는 문자열";
$ NewLine = "newline \ n
$ int1= 38;
$ float1=1.732;
$ float2 =1.4e+2;
$MyArray 1 = array ("자식", "못생김", "그림자", "털");
여기에는 두 가지 문제가 있습니다. 먼저 PHP 변수는 $ 로 시작하고 두 번째 PHP 문은 $ 로 시작합니다. 마지막으로 ASP 프로그래머는 적응하지 못할 수도 있습니다. 이 두 가지 누락도 프로그램에서 가장 오류가 많은 곳이다.
5, 조작 기호:
수량 * * 잘못된 텍스트가 차단되었습니다 * * 개수:
상징적 의미
+? 작업을 추가합니다
-빼기 연산
* 곱셈
/나누기 연산
%? 나머지를 취하다
++누적
-응? 점진적/점진적/점진적/연속 감소
문자열 작업:
연산 기호는 하나밖에 없는데, 바로 영어의 마침표이다. 문자열을 연결하여 새 병합 문자열이 될 수 있습니다. & amp & amp;; 와 비슷합니다
& lt?
$ a = "PHP 4
$b = "강함";
Echo $ a. $ b;
-응? & gt
여기에도 두 가지 문제가 발생했다. 첫째, PHP 의 출력문은 echo 이고, 둘째, 다음과 유사합니다
논리 연산:
상징적 의미
Lt 가 없습니다
Gt 가 ... 보다 더 커요
& lt= 작거나 같음
& gt= 크거나 같음
= = 같음
! = 같지 않음
& amp& amp 및/및
그리고 (그리고)
또는 (또는)
또는 또는/또는
이상 또는 (다름 또는)
! 아니요 (아니요)
학습 목적: PHP 의 프로세스 제어를 파악합니다.
1, 만약 ... else 루프에는 세 가지 구조가 있습니다.
첫 번째는 조건이 단순한 판단으로 사용될 때만. 무슨 일이 생기면 어떻게 해야 합니까? 구문은 다음과 같습니다.
If (expr) {statement}
Expr 은 판단의 조건이며 일반적으로 논리 연산 기호를 기반으로 합니다. 문은 프로그램의 적격 실행 부분입니다. 프로그램에 한 줄만 있는 경우 중괄호 {} 를 생략할 수 있습니다.
예: 이 예에서는 중괄호가 생략되었습니다.
& lt? 서버측 프로그래밍 언어 (professional hypertext preprocessor 의 약어)
If ($state== 1) 에코 "하하";
-응? & gt
여기서 특히 주목할 점은 = = 이 아니라 = =, 이는 ASP 프로그래머가 자주 범하는 실수일 수 있다는 점이다. = 은 대입입니다.
예: 이 예의 연산 부분에는 세 줄이 있으며 중괄호는 생략할 수 없습니다.
& lt? 서버측 프로그래밍 언어 (professional hypertext preprocessor 의 약어)
If ($state== 1) {
에코 "하하;
에코 "& ltbr >;; 을 눌러 섹션을 인쇄할 수도 있습니다
}
-응? & gt
둘째, if 외부에 else 조건을 추가하여 "어떤 일이 발생하면 어떻게 처리해야 하는지, 그렇지 않으면 어떻게 해결해야 하는지" 구문은 다음과 같습니다.
If (expr) {statement1} else {statement2} 예: 위 예제를 수정하여 더 완벽하게 만듭니다. Else 에서는 한 줄의 명령만 실행되므로 중괄호를 넣을 필요가 없습니다.
& lt? 서버측 프로그래밍 언어 (professional hypertext preprocessor 의 약어)
If ($state== 1) {
"하하" 에 동조하다.
에코 "& ltbr >;; 을 눌러 섹션을 인쇄할 수도 있습니다
}
그렇지 않으면 {
호응 "ㅋㅋ";
에코 "& ltbr >;; 을 눌러 섹션을 인쇄할 수도 있습니다
}
-응? & gt
세 번째는 재귀 IF ... ELSE 루프로, 일반적으로 다양한 의사 결정 판단에 사용됩니다. 그것은 몇 가지를 결합했다. 만약 .. 그렇지 않으면 처리한다.
아래 예를 직접 보세요.
& lt? 서버측 프로그래밍 언어 (professional hypertext preprocessor 의 약어)
If($ a>;; $b) {
호응 "a 가 b 보다 큼";
} else if $ a = = $ b){
호응 "a 는 b 와 같다";
} 그렇지 않으면 {
에코 "a 는 b 보다 작다";
}
-응? & gt
위의 예에서는 두 개의 변수인 if...else 루프만 사용하여 두 개의 변수인 A 와 B 를 비교합니다. 이 반복 IF ... ELSE 루프를 사용할 때는 루프 레벨이 너무 많으면 설계 논리에 문제가 발생하거나 중괄호가 적으면 프로그램에 알 수 없는 문제가 발생할 수 있으므로 주의해서 사용해야 합니다.
2.for 루프는 하나만 있으며 변경되지 않았습니다. 그것의 문법은 다음과 같다.
For (expr1; Expr2 표현식 3) {문}
여기서 expr 1 은 조건의 초기 값입니다. Expr2 는 판단의 조건이며 일반적으로 논리 연산자로 판단됩니다. Expr3 은 명령문 실행 후 실행할 부분으로, 1 ... 등과 같은 다음 루프 판단의 조건을 변경하는 데 사용됩니다. 문은 프로그램의 적격 실행 부분입니다. 프로그램에 한 줄만 있는 경우 중괄호 {} 를 생략할 수 있습니다.
다음 예는 for 루프로 작성된 예입니다.
& lt? 서버측 프로그래밍 언어 (professional hypertext preprocessor 의 약어)
For ($ I =1; $ I<= 10; $i ++) {
"이게 바로 이거야" 라고 덧붙입니다. I. "주기
}
-응? & gt
3, 스위치 루프, 일반적으로 복합 조건 판단 처리, 각 하위 조건은 case 명령 부분입니다. 실제로 많은 유사한 중간 주파수 명령을 사용하는 경우 스위치 루프에 통합할 수 있습니다.
구문은 다음과 같습니다
Switch (expr) {caseexpr1:statement1; 깨뜨리다 Case expr2: 문 2; 깨뜨리다 기본값: statementN 이 깨졌습니다. }
여기서 expr 조건은 일반적으로 변수 이름입니다. Case 뒤의 exprN 은 일반적으로 변수 값을 나타냅니다. 콜론 뒤에는 조건을 충족하는 실행할 부분이 있습니다. 브레이크로 순환에서 뛰어내리지 않도록 조심하세요.
& lt? 서버측 프로그래밍 언어 (professional hypertext preprocessor 의 약어)
스위치 (날짜 ("d") {
사례' Mon':
에코 "오늘은 월요일이다";
깨뜨리다
사례 "화요일":
에코 "오늘은 화요일이다";
깨뜨리다
사례' 결혼':
에코 "오늘은 수요일이다";
깨뜨리다
사례 "Thu":
에코 "오늘은 목요일입니다."
깨뜨리다
사례 "Fri":
에코 "오늘은 금요일이다";
깨뜨리다
기본값:
에코 "오늘 휴가";
깨뜨리다
}
-응? & gt
여기서 주목해야 할 것은 break 가 빠뜨리지 말고, 기본값, 누락해도 된다는 것이다.
분명히 위의 예는 if 루프로 순환하는 것이 번거롭다. 물론, 설계 시 확률이 가장 큰 조건을 앞에 두고 확률이 가장 낮은 조건을 뒤에 두어 프로그램의 실행 효율을 높일 수 있습니다. 위 예의 확률은 매일 같기 때문에 조건의 선후순에 신경 쓰지 않아도 된다.
데이터베이스 구축 학습
PHP 에서 내 SQL 의 명령줄 편집은 초보자를 귀찮게 할 수 있습니다. 괜찮습니다. PHPMYADMIN 을 다운로드하여 설치할 수 있습니다. 나중에 이를 사용하여 편집 데이터베이스를 만들 수 있습니다.
그것의 용도에 대해 먼저 말해 보자.
Phpmyadmin 에 들어간 후 먼저 데이터베이스를 구축해야 합니다.
언어 (*) 여기에서 중국어 간체를 선택하고 왼쪽에 새 데이터베이스를 만듭니다. 여기에 데이터베이스 이름을 입력하고 생성을 누릅니다.
그런 다음 왼쪽 드롭다운 메뉴에서 생성한 데이터베이스를 선택합니다. 잠재적
데이터베이스 스토어에서 새 테이블을 만들려면 다음과 같이 하십시오.
이름:
필드 수:
양식 이름과 대략적인 필드 수 (모자라도 상관없으니 나중에 추가하거나 기본값으로 설정할 수 있음) 를 기입하고 실행을 누르십시오.
그런 다음 테이블 만들기를 시작할 수 있습니다.
첫 번째 열은 필드의 이름입니다. 두 번째 열에서 필드 유형을 선택합니다.
우리는 종종 다음을 사용합니다:
1)VARCHAR, 텍스트 유형
2)INT, 정수 유형
3) 부동, 부동 소수점
4) 일자, 일자 유형
5) 자동으로 추가 된 ID 는 어디에 있는지 물어볼 수 있습니다. INT 유형을 선택하고 아래의 extra 에서 auto_increment 를 선택하기만 하면 됩니다.
표를 만든 후 왼쪽에 만든 표를 볼 수 있습니다. 클릭 후 다음을 수행할 수 있습니다.
1) 오른쪽 구조별: 테이블 구조를 보고 수정합니다.
2) 오른쪽 찾아보기를 클릭하십시오: 양식의 데이터를 봅니다.
3) 오른쪽 SQL 에 따라 SQL 문을 실행합니다.
4) 오른쪽의 삽입: 레코드 행을 삽입합니다.
5) 오른쪽에 있는 삭제: 테이블의 모든 레코드를 삭제합니다.
6) 오른쪽에 있는 Delete: 테이블을 삭제합니다.
또 다른 중요한 기능은 수출입이다. 로컬에서 프로그램과 데이터베이스를 완성할 때 서버에 로컬 미러가 필요합니다. ASP 액세스가 간단하다면 MDB 파일을 직접 업로드할 수 있습니다. SQL SERVER 의 경우 가져오기를 위해 원격 서버에 연결할 수도 있습니다. 그런 다음 MY SQL 의 모든 SQL 문을 내보내고, 원격 서버의 PHPMYADMIN 으로 이동하고, 데이터베이스를 만든 후 SQL 을 눌러 방금 복사한 이 레벨에서 생성된 모든 SQL 문을 붙여넣을 수 있습니다.
데이터베이스에 연결하는 방법을 배웁니다
PHP 는 단지 함수 라이브러리일 뿐이며, 풍부한 함수를 통해 PHP 의 일부 부분을 상당히 쉽게 만들 수 있습니다. PHP 함수 브로셔를 다운로드하는 것이 좋습니다. 계속 사용하고 있습니다.
다음은 MYSQL 데이터베이스에 연결하는 간단한 방법입니다.
1, mysql_connect
MySQL 서버 연결을 엽니다.
구문: int MySQL _ connect(string[ 호스트 이름] [:포트], string[ 사용자 이름], string[ 암호]); 반환 값: 정수
이 함수는 MySQL 서버에 대한 연결을 설정합니다. 모든 매개변수는 생략할 수 있습니다. 이 함수를 매개 변수 없이 사용하면 hostname 매개 변수의 기본값은 localhost 이고, username 매개 변수의 기본값은 PHP 실행 프로세스의 소유자이며, password 매개 변수는 빈 문자열 (즉, 암호 없음) 입니다. Hostname 매개 변수 뒤에는 콜론과 포트 번호가 붙어 MySQL 에 연결하는 데 사용할 포트를 나타낼 수 있습니다. 물론 데이터베이스를 사용할 때 mysql_close () 를 사용하여 접속을 일찍 닫으면 리소스를 절약할 수 있습니다.
2, mysql_select_db
데이터베이스를 선택합니다.
구문: int MySQL _ select _ db (문자열 데이터베이스 _ 이름, int[ 링크 _ 식별자]); 반환 값: 정수
이 함수는 이후 데이터 쿼리에 사용할 MySQL 서버의 데이터베이스를 선택합니다. 성공할 경우 true 를 반환하고 실패할 경우 false 를 반환합니다.
가장 간단한 예는 다음과 같습니다.
$ conn = MySQL _ connect ("127.0.0.1",",",","");
Mysql _ select _ db ("shop");
내 SQL 데이터베이스에 연결하고 상점 데이터베이스를 엽니 다. 실제 응용에서는 잘못된 판단을 강화해야 한다.
데이터를 읽는 법을 배우다
먼저 두 가지 함수를 살펴보겠습니다.
1, mysql_query
질의 문자열을 보냅니다. 구문: int MySQL _ query (문자열 쿼리, int [link _ identifier]); 반환 값: 정수
이 함수는 관련 처리 또는 실행을 위해 MySQL 에 쿼리 문자열을 보냅니다. Link_IDentifier 매개변수를 지정하지 않으면 프로그램은 가장 최근에 연 id 를 자동으로 찾습니다. 질의 문자열이 업데이트, 삽입 및 삭제되면 참 또는 거짓일 수 있습니다. 을 눌러 섹션을 인쇄할 수도 있습니다 쿼리 문자열이 SELECT 이면 새 ID 값이 반환됩니다. False 가 반환되면 실행이 성공하지만 반환 값이 없는 것이 아니라 질의 문자열 오류입니다.
2.mysql_fetch_object 는 클래스 데이터를 반환합니다. 구문: objectmysql _ fetch _ object (intresult, int [result _ typ]); 반환 값: 클래스
이 함수는 질의 결과를 클래스 변수로 분할하는 데 사용됩니다. 결과에 데이터가 없으면 false 값을 반환합니다.
간단한 예를 하나 들어보죠.
& lt?
$ exec = "select * from user
$ result = MySQL _ query ($ exec);
While ($ RS = MySQL _ fetch _ object ($ result))
{
사용자 이름: 을 반향합니다. $ RS-& gt;; 사용자 이름입니다. "& ltbr >;; 을 눌러 섹션을 인쇄할 수도 있습니다
}
-응? & gt
물론 양식 user 에는 ASP 의 사용자 이름 필드와 유사한 사용자 이름 필드가 있습니다.
& lt%
Exec= "사용자 중에서 선택 *
Set RS = server.createobject ("adodb.recordset")
코네티컷, 1, 1
하지 않고 하다
Response.write "사용자 이름: & amprs ("사용자 이름 ") & amp“& ltbr >;;
Rs.movenext
고리
%>
물론 먼저 데이터베이스에 연결해야 합니다. 일반적으로 우리는 _ once ('conn.php'); Conn.php 에는 마지막으로 언급한 데이터베이스에 연결하는 코드가 있습니다.
두 개의 작은 명령을 사용하여 데이터 읽기 작업을 완료할 수 있습니다.
데이터를 추가, 삭제 및 수정하는 방법을 배웁니다.
Mysql _ query ($ exec);
이 문 자체는 모든 작업을 수행할 수 있지만 SQL 문 $exec 는 다릅니다.
Add: $ exec = "insert intotablename (item1,item 2) 값 ('). $ _ post ['항목1']. , "$ _ post ['item 1']") ";
Delete: $ exec = "delete from tablename where ...";
수정: $ exec = "update tablename set item1='". $ _ post ['항목1']. 어디 ... ";
여기까지 말하자면, 나는 양식과 PHP 변수 전달에 대해 이야기하고 싶다. 만약 그 중 하나가
양식이 POST 를 통해 제출된 경우 양식 파일을 처리할 때 $_POST['item 1'] 를 사용하여 변수 값을 얻을 수 있습니다. 마찬가지로 get 제출 양식은 $_GET['item 1'] 입니다.
간단합니까? 그러나 SQL 문이 길어질 수 있으므로 일반적으로 $exec 에 문제가 있습니다. 커넥터 또는' 를 사용하여 문자 필드를 닫습니다.
Mysql _ query ($ exec) 에 주석을 달 수 있습니다. 이 문은 echo $exec 대신 $ exec 를 출력하여 정확성을 확인합니다. 여전히 $exec 에 대한 오류를 찾을 수 없는 경우 이 SQL 문을 복사하고 phpmyadmin 에서 실행하여 오류 메시지를 볼 수 있습니다. 또한 민감한 문자열을 필드명으로 사용해서는 안 됩니다. 그렇지 않으면 date 와 같은 문제가 발생할 수 있습니다. 변수와 필드의 이름 지정은 작은 규칙을 따릅니다. 이 규칙은 때때로 자신에게 유리하며 초보자는 그 중요성을 무시할 수 없습니다.
회화 사용법을 배우다.
SESSION 에는 많은 기능이 있으며, 가장 일반적으로 사용되는 기능은 사이트 내 페이지 간의 변수 전달입니다.
페이지 시작 부분에서 session _ start (); 공개 회의 을 눌러 섹션을 인쇄할 수도 있습니다
그런 다음 세션 변수를 사용할 수 있습니다. 예를 들어, $ _ session ['item'] = "item1"; 가져올 값은 $ item1= $ _ session ['item']; 아주 간단합니다. 여기서 세션 변수가 비어 있는지 여부를 판단하는 것과 같은 함수를 사용할 수 있으므로 empty($_SESSION['inum']) 가 true 또는 false 를 반환하는 것으로 쓸 수 있습니다.
로그인 프로그램을 보고 사용자 이름과 비밀번호가 정확한지 판단합시다.
로그인 양식은 다음과 같습니다: 로그인.
& lttablewidth = "100%" height = "100%" border = "0" align = ";
& lttr & gt
& lt formaction = "check login.php" method = "post" > & lttdalign = "center" valign = "middle" > & lttablewidth = "400" border = "0" cellpadding =
& lttr class="tdbg ">
& lttdcolspan = "2" > & ltpalign = "center" > 관리자 로그인 & lt/p & gt;; & lt/TD & gt;;
& lt/tr & gt;;
& lttr class="tdbg ">
& lttd & gt& LTP align="center "> 사용자 이름</p > & lt/TD & gt;;
& lttd & gt & ltpalign = "센터" >
& lt input name = "username" type = "text" id = "username" >
& lt/p & gt;; & lt/TD & gt;;
& lt/tr & gt;;
& lttr class="tdbg ">
& lttd & gt& LTP align="center "> 비밀번호 & lt/p > & lt/TD & gt;;
& lttd & gt & ltpalign = "센터" >
& lt input name = "password" type = "password" id = "password" >
& lt/p & gt;; & lt/TD & gt;;
& lt/tr & gt;;
& lttr class="tdbg ">
& lttd colspan = "2" ><P align = "center" >
& lt input type = "submit" name = "submit" value = "submit" >
& lt input type = "reset" name = "submit2" value = "clear">.
& lt/p & gt;; & lt/TD & gt;;
& lt/tr & gt;;
& lt/table & gt;; & lt/TD & gt;; & lt/form & gt;;
& lt/tr & gt;;
& lt/table & gt;;
서류를 처리하는 것은 이렇다.
& lt? 서버측 프로그래밍 언어 (professional hypertext preprocessor 의 약어)
Require _ once ('conn.php');
Session_start () 를 참조하십시오.
$ username = $ _ post ['username'];
$ password = $ _ post ['password'];
$ exec = "select * from admin where username ='". $username. ";
If($result=mysql_query($exec))
{
If ($ RS = MySQL _ fetch _ object ($ result))
{
($ RS-& gt;; 인 경우 비밀번호 = = $ 비밀번호)
{
$ _ session ['adminname'] = $ username;
헤더 ("위치: index.php");
}
기타
{
에코 "< 스크립트 & gtalert ('비밀번호 확인 오류!'' ); Location.href =' login.php'; & lt/스크립트 > ";
}
}
기타
{
에코 "< 스크립트 & gtalert ('사용자 이름 확인 오류!'' ); Location.href =' login.php'; & lt/스크립트 > ";
}
}
기타
{
에코 "< 스크립트 & gt 경고 ("데이터베이스 연결 오류! "" ); Location.href =' login.php'; & lt/스크립트 > ";
}
-응? & gt
Conn.php 는 다음과 같습니다.
& lt? 서버측 프로그래밍 언어 (professional hypertext preprocessor 의 약어)
$ conn = MySQL _ connect ("127.0.0.1",",",","");
Mysql _ select _ db ("shop");
-응? & gt
$ _ session ['adminname'] = $ username; 로그인 여부를 확인하는 파일을 이렇게 쓸 수 있습니다. checkadmin.php.
& lt? 서버측 프로그래밍 언어 (professional hypertext preprocessor 의 약어)
Session_start () 를 참조하십시오.
If($_SESSION['adminname']=='')
{
에코 "< 스크립트 & gtalert ('먼저 로그인'); Location.href =' login.php'; & lt/스크립트 >;
}
-응? & gt
페이지 나누기 표시
핵심은 SQL 문에서 limit 를 사용하여 표시되는 레코드 수를 제한하는 것입니다. 현재 페이지를 기록하려면 변수 $page 가 필요하며 총 레코드 수는 $num 이 필요합니다
$page 의 경우 페이지가 없으면 0 으로 설정합니다
$ execc = "select count (*) from tablename";
$ resultc = MySQL _ query ($ execc);
$ RSC = MySQL _ fetch _ array ($ resultc);
$ num = $ RSC [0];
이것은 총 기록 수를 얻을 수 있다.
Ceil($num/ 10)) 한 페이지 레코드 10 이 있는 경우 총 페이지 수입니다.
그래서 이렇게 쓸 수 있습니다.
If (empty ($ _ get ['페이지']))
{
$ 페이지 = 0;
}
기타
{
$ page = $ _ get ['페이지'];
If ($ 페이지 < 0) $ 페이지 = 0;
If($ page & gt;; = ceil ($ num/10)) $ 페이지 = ceil ($ num/10)-1 //페이지는 0 부터 시작하므로-1 이어야 합니다.
}
이렇게 하면 $exec 가 $ exec = "select * from tablename limit" 를 쓸 수 있습니다. ($ page * 10). ",10";
// 10 한 페이지를 기록합니다.
우리가해야 할 마지막 일은 몇 가지 연결입니다.
& LTA href="xxx.php? 페이지 = 0 "> 홈페이지 & lt/a & gt;;
& LTA href="xxx.php? 페이지 =<? = ($ 페이지-1)? > & gtPrevPage & lt/a & gt;;
& LTA href="xxx.php? 페이지 =<? = ($ 페이지+1)? >&& gtNextPage & lt/a & gt;;
& LTA href="xxx.php? 페이지 =<? =ceil($num/ 10)- 1? > & gtLastPage & lt/a & gt;;
주의할 사항
1, 세미콜론을 놓치지 않도록 주의하십시오.
2. 변수 앞의 $ 를 놓치지 않도록 주의하세요.
3. SESSION 을 사용할 때 session _ start () 를 놓치지 않도록 주의합니다.
오류가 발생하면 다음 방법을 사용할 수 있습니다.
1. SQL 문에 오류가 있으면 주석을 달고 SQL 문을 출력합니다. 주석을 달고 후속 SQL 문을 튜닝합니다.
변수가 비어 있으면 일반적으로 현장에서 전달되지 않습니다. 출력 변수를 확인하고 양식의 id 와 이름을 확인합니다.
3. 데이터베이스 연결에 오류가 있을 경우 내 SQL 이 제대로 열려 있고 연결 명령문이 누락되었는지 확인합니다.
4. 들여쓰기를 주의하여 괄호 불일치 오류를 제거합니다.
큰 웹 사이트를 만들 때, 내 생각은 먼저 데이터베이스를 만들어 각 필드의 기능과 테이블 사이의 관계를 결정하는 것이다. 그런 다음 데이터 추가부터 시작하여 백그라운드 인터페이스를 디자인합니다. 추가가 성공하면 데이터베이스에서 직접 확인할 수 있고, 추가가 완료된 후 표시되는 페이지, 마지막으로 두 페이지를 결합할 수 있기 때문입니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 성공명언) 일반적으로 배경에는 추가, 제거, 수정 및 표시가 포함됩니다. 무대 뒤에는 문제가 없고 프런트에도 큰 문제가 없다. 프런트에서는 보안과 내결함성, 출력 형식도 주의해야 합니다.
PHP 로 파일을 업로드하고 메일을 보내는 법을 배웁니다.
업로드 파일 양식에는 enctype="multipart/form-data "를 추가해야 합니다.
그리고
코드를 살펴 보겠습니다.
$ f =& $ http _ post _ files ['file'];
$ dest _ dir =' uploads// 업로드 디렉토리 설정
$dest=$dest_dir 입니다. /'.날짜 ("ymd") 입니다. "_". $ f ['이름']; //파일 이름을 날짜로 설정하고 여기에 파일 이름을 추가하여 중복을 피하겠습니다.
$ r = move _ uploaded _ file ($ f ['tmp _ name'], $ dest);
Chmod($dest, 0755); //업로드된 파일의 속성을 설정합니다.
업로드된 파일 이름은 date ('ymd') 입니다. "_". $ f ['이름'], 나중에 데이터베이스를 삽입할 때 사용할 수 있습니다. PHP 는 실제로 업로드된 파일을 임시 디렉토리에서 지정된 디렉토리로 이동합니다. Move _ uploaded _ file ($ f ['tmp _ name'], $ dest); 이것이 핵심입니다.
메일을 보내는 것은 더 간단하다. Mail () 함수를 사용할 수 있습니다.
메일 ("받는 사람 주소", "제목", "본문", "보낸 사람: 보낸 사람 \ r \ 회신: 보낸 사람 주소");
그러나 mail () 에는 서버 지원이 필요하고 SMTP 서버는 WINDOWS 에서 구성해야 합니다. 일반적으로 외부 리눅스 공간은 괜찮습니다.
파일을 업로드하는 것 같아요. ASP 보다 메일을 보내는 것이 훨씬 쉬워요. 함수를 호출하면 돼요. ASP 는 또한 FSO 및 JMAIL 과 같은 서버의 다양한 구성 요소를 사용해야 합니다.
을 눌러 섹션을 인쇄할 수도 있습니다