이메일로 웹페이지를 보내는 방법은 무엇입니까? HTML과 PHP를 사용하여 이메일로 데이터를 보내는 가장 간단한 형태의 이메일로 북마크를 보내는 방법

사이트에서 가장 인기 있는 기능 중 하나는 신청서 또는 주문 양식으로, 이 양식에서 나온 데이터는 이메일을 통해 사이트 소유자에게 전송됩니다. 일반적으로 이러한 양식은 간단하며 데이터 입력을 위한 2~3개의 필드로 구성됩니다. 그러한 주문 양식을 작성하는 방법은 무엇입니까? 이는 언어의 사용이 필요하다 HTML 마크업그리고 PHP 프로그래밍 언어.

HTML 마크업 언어 자체는 간단합니다. 특정 태그를 삽입하는 방법과 위치만 알아내면 됩니다. PHP 프로그래밍 언어를 사용하면 상황이 좀 더 복잡해집니다.

프로그래머에게는 이러한 양식을 만드는 것이 어렵지 않지만 HTML 레이아웃 디자이너에게는 일부 작업이 어려워 보일 수 있습니다.

HTML로 데이터 제출 양식 만들기

첫 번째 줄은 다음과 같습니다

이는 형태의 매우 중요한 요소입니다. 여기에는 데이터가 전송되는 방법과 파일이 표시됩니다. 이 경우 모든 것이 전송됩니다. POST 방식파일 send.php. 이 파일의 프로그램은 그에 따라 데이터를 수신해야 하며, 이는 포스트 배열에 포함되어 지정된 이메일 주소로 전송됩니다.

다시 형태로 돌아가자. 두 번째 줄에는 성명을 입력하는 필드가 포함됩니다. 다음 코드가 있습니다:

양식 유형은 텍스트입니다. 즉, 사용자는 키보드에서 여기에 텍스트를 입력하거나 복사할 수 있습니다. name 매개변수에는 양식 이름이 포함됩니다. 이 경우 fio이며 사용자가 이 필드에 입력한 모든 내용이 이 이름으로 전송됩니다. 자리 표시자 매개변수는 설명으로 이 필드에 기록될 내용을 지정합니다.

다음 줄:

여기서는 거의 모든 것이 동일하지만 해당 필드의 이름은 이메일이며 설명은 사용자가 이 양식에 자신의 이메일 주소를 입력한다는 것입니다.

다음 줄은 "보내기" 버튼입니다:

그리고 양식의 마지막 줄이 태그가 됩니다.

이제 모든 것을 하나로 묶어 보겠습니다.





이제 양식의 필드를 필수로 만들어 보겠습니다. 다음 코드가 있습니다.





HTML 양식의 데이터를 받아들이는 파일 만들기

이것은 send.php라는 파일이 될 것입니다.

파일의 첫 번째 단계에서는 포스트 배열의 데이터를 받아들여야 합니다. 이를 위해 두 가지 변수를 만듭니다.

$fio = $_POST["fio"];
$email = $_POST["이메일"];

PHP의 변수 이름 앞에는 $ 기호가 붙고 각 줄 끝에는 세미콜론이 표시됩니다. $_POST는 양식의 데이터가 전송되는 배열입니다. html 형식에서는 전송 방법을 method="post"로 지정합니다. 따라서 두 개의 변수가 다음에서 가져옵니다. HTML 양식. 귀하의 사이트를 보호하려면 이러한 변수를 여러 필터(php 함수)를 통해 전달해야 합니다.

첫 번째 함수는 사용자가 양식에 추가하려고 하는 모든 문자를 변환합니다.

이 경우 PHP에서는 새로운 변수가 생성되지 않고 기존 변수가 사용됩니다. 필터가 수행할 작업은 문자 "<" в "<". Также он поступить с другими символами, встречающимися в html коде.

두 번째 함수는 사용자가 URL을 양식에 추가하려고 하면 URL을 디코딩합니다.

$fio = urldecode($fio);
$email = urldecode($email);

세 번째 함수를 사용하면 줄의 시작과 끝에서 공백이 있는 경우 제거합니다.

$fio = 트림($fio);
$email = 트림($email);

PHP 변수를 필터링할 수 있는 다른 기능이 있습니다. 이들의 사용은 공격자가 이 HTML 이메일 제출 양식에 프로그램 코드를 추가하려고 시도할 것이라는 우려에 따라 달라집니다.

HTML 양식에서 PHP 파일로 전송된 데이터의 유효성 검사

이 코드가 작동하는지, 데이터가 전송되고 있는지 확인하려면 echo 함수를 사용하여 간단히 화면에 표시하면 됩니다.

에코 $fio;
에코 "
";
$email을 에코;

여기서 두 번째 줄은 PHP 변수의 출력을 다른 줄로 분리하는 데 필요합니다.

PHP를 사용하여 HTML 양식에서 받은 데이터를 이메일로 보내기

이메일로 데이터를 보내려면 PHP의 메일 기능을 사용해야 합니다.

mail("보낼 주소", "편지 제목", "메시지(편지 본문)","보낸 사람: 편지를 보낸 이메일 \r\n");

예를 들어 사이트 소유자나 관리자의 이메일로 데이터를 보내야 합니다. [이메일 보호됨].

편지의 제목은 명확해야 하며, 편지의 메시지에는 사용자가 HTML 형식으로 지정한 내용이 포함되어야 합니다.

우편(" [이메일 보호됨]", "사이트의 응용 프로그램", "전체 이름:".$fio.". 이메일: ".$email ,"발신자: [이메일 보호됨]\r\n");

양식이 PHP를 사용하여 지정된 이메일 주소로 전송되었는지 확인하는 조건을 추가해야 합니다.

if (메일(" [이메일 보호됨]", "사이트에서 주문", "이름:".$fio.". 이메일: ".$email ,"발신자: [이메일 보호됨]\r\n"))
{
echo "메시지가 성공적으로 전송되었습니다.";
) 또 다른 (
}

따라서 HTML 양식 데이터를 이메일로 보내는 send.php 파일의 프로그램 코드는 다음과 같습니다.

$fio = $_POST["fio"];
$email = $_POST["이메일"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = 트림($fio);
$email = 트림($email);
//에코 $fio;
//에코 "
";
//에코 $email;
if (메일(" [이메일 보호됨]", "사이트의 응용 프로그램", "전체 이름:".$fio.". 이메일: ".$email ,"발신자: [이메일 보호됨]\r\n"))
( echo "메시지가 성공적으로 전송되었습니다.";
) 또 다른 (
echo "메시지 전송 중 오류가 발생했습니다.";
}?>

데이터가 파일로 전송되고 있는지 확인하는 세 줄이 주석 처리되어 있습니다. 디버깅에만 필요하므로 필요한 경우 제거할 수 있습니다.

양식을 제출하기 위한 HTML 및 PHP 코드를 하나의 파일에 배치합니다.

이 기사에 대한 댓글에서 많은 사람들이 이메일로 데이터를 보내기 위한 HTML 형식과 PHP 코드가 둘이 아닌 하나의 파일에 있는지 확인하는 방법에 대해 질문합니다.

이 작업을 구현하려면 양식의 HTML 코드를 send.php 파일에 배치하고 POST 배열(이 배열은 양식에서 전송됨)에 변수가 있는지 확인하는 조건을 추가해야 합니다. 즉, 배열의 변수가 존재하지 않으면 사용자에게 양식을 보여주어야 합니다. 그렇지 않으면 배열에서 데이터를 수신하여 수신자에게 보내야 합니다.

send.php 파일에서 PHP 코드를 변경하는 방법을 살펴보겠습니다.



사이트의 신청서


//POST 배열에 변수가 있는지 확인
if(!isset($_POST["fio"]) 및 !isset($_POST["email"]))(
?>





) 또 다른 (
//폼 보여주기
$fio = $_POST["fio"];
$email = $_POST["이메일"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = 트림($fio);
$email = 트림($email);
if (메일(" [이메일 보호됨]", "사이트의 응용 프로그램", "전체 이름:".$fio.". 이메일: ".$email ,"발신자: [이메일 보호됨]\r\n"))(
echo "메시지가 성공적으로 전송되었습니다.";
) 또 다른 (
echo "메시지 전송 중 오류가 발생했습니다.";
}
}
?>

isset() PHP 함수를 사용하여 POST 배열에 변수가 있는지 확인합니다. 조건에서 이 함수 앞에 느낌표가 있으면 부정을 의미합니다. 즉, 변수가 존재하지 않으면 양식을 표시해야 합니다. 느낌표를 넣지 않았다면 조건은 문자 그대로 "존재하는 경우 형식을 표시합니다"를 의미합니다. 그리고 이것은 우리의 경우에는 잘못된 것입니다. 당연히 index.php로 이름을 바꿀 수 있습니다. 파일 이름을 바꾸는 경우 해당 줄에서 파일 이름을 바꾸는 것을 잊지 마십시오.

. 양식은 동일한 페이지(예: index.php)에 연결되어야 합니다. 코드에 페이지 제목을 추가했습니다.

웹사이트에서 PHP 양식을 제출할 때 발생하는 일반적인 오류

첫 번째이자 가장 흔히 발생하는 실수는 메시지가 없는 빈 흰색 페이지가 표시되는 경우입니다. 이는 페이지 코드에 오류가 있음을 의미합니다. PHP에서 모든 오류 표시를 활성화해야 오류가 발생한 위치를 확인할 수 있습니다. 코드에 추가:

ini_set("display_errors","켜기");
error_reporting("E_ALL");

send.php 파일은 서버에서만 실행되어야 합니다. 그렇지 않으면 코드가 작동하지 않습니다. 외부 메일 서버로 데이터를 보내도록 항상 구성되지는 않으므로 로컬 서버가 아닌 것이 좋습니다. 서버가 아닌 곳에서 코드를 실행하면 PHP 코드가 페이지에 직접 표시됩니다.

따라서 올바른 작동을 위해서는 send.php 파일을 사이트 호스팅에 배치하는 것이 좋습니다. 일반적으로 모든 것이 이미 구성되어 있습니다.

또 다른 일반적인 실수는 "메시지가 성공적으로 전송되었습니다" 알림이 표시되지만 편지가 우편으로 도착하지 않는 경우입니다. 이 경우 다음 라인을 주의 깊게 확인해야 합니다.

if (메일(" [이메일 보호됨]", "사이트에서 주문", "이름:".$fio.". 이메일: ".$email ,"발신자: [이메일 보호됨]\r\n"))

대신에 [이메일 보호됨] 편지를 보낼 이메일 주소가 있어야 하지만 대신[이메일 보호됨] 이 사이트의 기존 이메일이어야 합니다. 예를 들어 웹사이트의 경우 다음과 같습니다. . 이 경우에만 양식의 데이터가 포함된 서신이 전송됩니다.

인터넷에는 흥미롭고 유용한 콘텐츠가 많이 있습니다. 때로는 사이트에서 흥미로운 정보를 복사하여 다른 방법으로 전달하는 대신 친구에게 흥미로운 정보에 대한 링크를 보내는 것이 훨씬 쉬울 수 있습니다. 최대한 편리하게 링크를 보내는 방법은 무엇입니까?

이메일

대부분의 최신 이메일 서비스는 간단히 링크를 삽입하는 기능을 지원합니다. 즉, 브라우저의 주소 표시줄에서 복사한 다음 문자에 붙여 넣으면 "클릭 가능"해집니다. 즉, 클릭하면 원하는 페이지가 자동으로 열립니다.

사이트나 페이지의 주소를 수동으로 입력하면 링크가 작동하지 않습니다. 이 문제를 해결하려면 링크 시작 부분에 http:// 또는 www를 적어보세요. 즉, site.com 대신 http://site.com 또는 www.site.com을 작성해야 합니다. 그러면 링크를 클릭할 수 있습니다.

편지의 특정 단어에 대한 링크를 첨부할 수도 있습니다. 이렇게 하려면 해당 항목을 선택하고 도구 모음에서 "링크 삽입"을 클릭한 다음 창에 원하는 페이지의 주소를 표시해야 합니다. 메일이 html 태그 사용을 지원하는 경우 다음과 같은 링크를 삽입할 수 있습니다. 즉, 링크를 첨부할 단어입니다.

동급생

Odnoklassniki에 링크를 보내기 전에 이를 가능하게 하는 특수 소프트웨어를 다운로드해야 합니다. 그러한 프로그램 중 하나가 GF Tools입니다. 완전 무료이며 사용이 매우 쉽습니다. 다른 사용자에게 보내는 메시지에 링크 텍스트를 붙여넣을 수도 있습니다. 벽에 게시할 수도 있습니다.

접촉 중

벽에 걸린 상태와 메시지에 링크를 삽입할 수도 있습니다. 이 경우 모든 사용자가 링크를 "클릭할 수" 있습니다. 벽에 링크를 삽입하면 사이트 스크립트는 링크가 제공된 페이지의 첫 번째 이미지와 해당 페이지의 여러 줄의 텍스트를 자동으로 표시합니다.

웹페이지를 "잘라내는" 방법에는 여러 가지가 있습니다.

하지만 Pocket에는 앱과 Pocket 계정이 필요합니다. 이는 다른 애플리케이션을 설치하고, 서비스에 로그인하고, 동기화하는 등의 작업이 필요하다는 것을 의미합니다. 사서함을 사용하여 동일한 작업을 수행할 수 있다면 좋을 것입니다.

이것이 바로 EmailThis의 아이디어이며, 이름에서 알 수 있듯이 바로 그것입니다. 한 번의 클릭으로 이 북마크릿(또는 확장 프로그램,
Chrome 사용자인 경우) 현재 웹페이지가 받은편지함으로 전달됩니다. 그리고 Pocket과 마찬가지로 광고와 모바일에 적합하지 않은 서식을 모두 제거하여 읽기 쉬운 텍스트와 이미지만 남깁니다. (사이트로 돌아가고 싶은 경우 아래 원본 링크도 제공합니다.)

초기 설정(영어)을 완료한 후 이메일을 사용하면 말 그대로 버튼을 클릭하기만 하면 됩니다. 현재 보고 있는 페이지를 자신에게 보내려면 북마크릿(또는 확장 아이콘)을 클릭하세요.

흥미롭게도 북마크는 Android 및 iOS 브라우저와도 호환되지만 사용하려면 조금 더 노력이 필요합니다. Android 사용자는 주소 표시줄에 "이메일로 보내기"를 입력해야 하고, iOS 사용자는 저장된 북마크를 열고 "이메일로 보내기"를 탭해야 합니다.

물론 많은 모바일 브라우저에는 "나중에 읽기" 옵션이 있는데 이는 매우 효과적입니다. 그러나 페이지를 받은 편지함으로 전달하려면 이것이 가장 좋은 방법입니다.

안타깝게도 EmailThis는 북마크릿을 지원하지 않는 Microsoft Edge와 호환되지 않습니다. 해결 방법을 찾으면 댓글로 알려주세요.

다양한 웹 페이지에서 도구를 테스트했습니다. 그것은 대부분의 사람들과 잘 작동했습니다. 삽입된 이미지 중 일부가 "잘라내지" 않았음을 발견했습니다. 아마도 해당 이미지가 제3자에서 호스팅되었기 때문일 것입니다. 그러나 전반적으로 나는 EmailThis가 모든 웹 페이지를 받은 편지함으로 보내는 빠르고 쉬운 방법이라는 것을 알았습니다.

그리고 받은 편지함에 할 일 목록 기능이 중복되어 있기 때문에 "나중에 읽기" 옵션보다 이 옵션을 더 좋아합니다. 이렇게 하면 내가 중요하다고 생각하는 웹 콘텐츠가 잊혀지거나 간과되는 일이 없습니다.

편집자 주:이 기사는 원래 2014년 2월 25일에 게시되었으며 오늘 업데이트되었습니다.

웹페이지를 이메일로 보내는 방법에는 어떤 것이 있나요?
질문 작성자가 의미하는 바에 따라 다양한 방식으로 사용됩니다.

예를 들어, 스크린샷을 찍는 프로그램이 있다면 열려있는 페이지의 스크린샷을 찍어 이미지로 필요한 사람의 이메일로 보낼 수 있습니다. 이 경우 이미지가 작동하지 않고 링크가 작동하지 않습니다.

더 정확한 대답은 표준 방법을 사용하여 페이지를 저장하는 것이라고 생각합니다. 브라우저에서 "파일" 메뉴를 클릭한 다음 "다른 이름으로 저장"을 클릭하고 전체 웹페이지를 저장합니다. 이 페이지를 받는 사람이 인터넷에 접속할 수 있으면 페이지의 링크를 따라갈 수 있으며 작업을 수행할 수 있습니다.

첫 번째 경우 bmp, jpg, gif와 같은 일반적인 이미지 형식을 선택하면 페이지를 더 쉽게 열 수 있습니다. 두 번째 경우에는 한 브라우저에 저장되었다가 다른 브라우저에서 열리는 페이지를 표시하는 데 문제가 있을 수 있으며, 제대로 표시되지 않거나 전혀 열리지 않을 수 있습니다.

두 경우 모두 인터넷에 지속적으로 액세스할 수 없는 사람에게 보내기 위해 아카이브에 보존하도록 설계되었습니다. 이 경우 편지에 첨부하는 것이 좋습니다.

그러나 사람이 항상 인터넷을 가지고 있다면 왜 그 사람에게 페이지를 저장하고 보내거나 첨부 파일을 만들까요? 주소창에 원하는 페이지의 링크를 복사해서 편지 본문에 붙여넣는 것이 훨씬 쉽습니다.

이를 위해 예를 들어 Archive.today: 오늘 보관과 같은 특수 온라인 보관 서비스를 사용할 수 있습니다.

여기서는 리소스의 URL 주소만 입력하면 시스템 자체가 웹 페이지의 "스냅샷"에 대한 zip 파일과 URL 링크를 생성합니다. 이 스냅샷은 원본 버전이 사라지더라도 항상 온라인 상태를 유지합니다.

zip 파일을 이메일에 첨부할 수 있고, 웹페이지의 "스냅샷" 링크를 이메일 필드에 삽입할 수 있으며, 전체 내용을 이메일을 통해 전송하거나 다른 방법으로 저장할 수 있습니다.

예를 들어, 모스크바 FAQ 페이지의 오늘 버전(zip 파일 포함)은 여기에서 볼 수 있습니다: 오늘 보관

온라인 서비스를 사용하여 스크린샷을 찍을 수도 있습니다. 예를 들어 웹 캡처: 웹 캡처 넷

웹페이지를 이메일로 보내는 방법에는 어떤 것이 있나요?
질문 작성자가 의미하는 바에 따라 다양한 방식으로 사용됩니다.

예를 들어, 스크린샷을 찍는 프로그램이 있다면 열려있는 페이지의 스크린샷을 찍어 이미지로 필요한 사람의 이메일로 보낼 수 있습니다. 이 경우 이미지가 작동하지 않고 링크가 작동하지 않습니다.

더 정확한 대답은 표준 방법을 사용하여 페이지를 저장하는 것이라고 생각합니다. 브라우저에서 "파일" 메뉴를 클릭한 다음 "다른 이름으로 저장"을 클릭하고 전체 웹페이지를 저장합니다. 이 페이지를 받는 사람이 인터넷에 접속할 수 있으면 페이지의 링크를 따라갈 수 있으며 작업을 수행할 수 있습니다.

첫 번째 경우 bmp, jpg, gif와 같은 일반적인 이미지 형식을 선택하면 페이지를 더 쉽게 열 수 있습니다. 두 번째 경우에는 한 브라우저에 저장되었다가 다른 브라우저에서 열리는 페이지를 표시하는 데 문제가 있을 수 있으며, 제대로 표시되지 않거나 전혀 열리지 않을 수 있습니다.

두 경우 모두 인터넷에 지속적으로 액세스할 수 없는 사람에게 보내기 위해 아카이브에 보존하도록 설계되었습니다. 이 경우 편지에 첨부하는 것이 좋습니다.

그러나 사람이 항상 인터넷을 가지고 있다면 왜 그 사람에게 페이지를 저장하고 보내거나 첨부 파일을 만들까요? 주소창에 원하는 페이지의 링크를 복사해서 편지 본문에 붙여넣는 것이 훨씬 쉽습니다.

이를 위해 예를 들어 Archive.today: 오늘 보관과 같은 특수 온라인 보관 서비스를 사용할 수 있습니다.

여기서는 리소스의 URL 주소만 입력하면 시스템 자체가 웹 페이지의 "스냅샷"에 대한 zip 파일과 URL 링크를 생성합니다. 이 스냅샷은 원본 버전이 사라지더라도 항상 온라인 상태를 유지합니다.

zip 파일을 이메일에 첨부할 수 있고, 웹페이지의 "스냅샷" 링크를 이메일 필드에 삽입할 수 있으며, 전체 내용을 이메일을 통해 전송하거나 다른 방법으로 저장할 수 있습니다.

예를 들어, 모스크바 FAQ 페이지의 오늘 버전(zip 파일 포함)은 여기에서 볼 수 있습니다: 오늘 보관

온라인 서비스를 사용하여 스크린샷을 찍을 수도 있습니다. 예를 들어 웹 캡처: 웹 캡처 넷