php防注入留言板(simple)
新手学php,试手案例便是留言板。以前未连接数据库时,我是直接将用户输入的留言写入到一个txt,然后再从txt读取显示(~.~别鄙视)。 最近学习了php访问MySQL数据库的一些知识,重写了一下留言板,功能比较简单,当学习记录。 1.首先是提交留言的表单guessbo
新手学php,试手案例便是留言板。以前未连接数据库时,我是直接将用户输入的留言写入到一个txt,然后再从txt读取显示(~.~别鄙视)。
最近学习了php访问MySQL数据库的一些知识,重写了一下留言板,功能比较简单,当学习记录。
1.首先是提交留言的表单guessbook.php,提交至post.php。
2.数据库的连接config.php
<span>php </span><span>$con</span> = <span>mysql_connect</span>("localhost","user","passwd"<span>); </span><span>if</span>(!<span>$con</span><span>) </span><span>die</span>('Could not connect: ' . <span>mysql_error</span><span>()); </span><span>mysql_query</span>("set names utf8"); <span>//</span><span>以utf8读取数据</span> <span>mysql_select_db</span>("dbname",<span>$con</span>); <span>//选择</span><span>数据库</span> ?>
3.对用户留言进行验证post.php
在我们把数据插入数据库时,为了让我们输入的数据在显示时仍然保持最初的形式,就必须对数据进行一些处理。比如如果不转义直接显示,比如js代码,就会直接在你的页面中运行。
这里用到了htmlspecialchars函数。不过htmlspecialchars不会转义换行符\r\n号,也就是说如果你插入的数据中包含了换行,当你进行转义显示时,该函数不会显示换行。所以在显示数据时需要用到nl2br函数。
<span>php </span><span>header</span>("content-Type: text/html; charset=utf-8"<span>); </span><span>include</span>("config.php"); <span>//</span><span>数据库连接</span> <span>$name</span>= <span>$_POST</span>['name'<span>]; </span><span>$email</span>= <span>$_POST</span>['email'<span>]; </span><span>$patch</span> = <span>$_POST</span>['content']; <span>//</span><span>获取游客提交信息</span> <span>if</span> (<span>$name</span>=="" || <span>$email</span>=="") <span>//</span><span>游客未填写用户名和邮箱处理</span> <span> { </span><span>echo</span> "<script>alert('请检查用户名和邮箱输入!');location.href='./guessbook.php';</script>"<span>; } </span><span>else</span><span> { </span><span>//</span><span> 对游客留言进行处理 </span> <span>$content</span> = <span>str_replace</span>("","<br>",<span>htmlspecialchars</span>(<span>$patch</span><span>)); </span><span>//</span><span>插入数据库语句</span> <span>$sql</span> = "insert into content (name,email,content,time) values ('<span>$name</span>','<span>$email</span>','<span>$content</span>',now())"<span>; </span><span>mysql_query</span>(<span>$sql</span><span>); </span><span>//</span><span>插入成功,返回信息</span> <span>echo</span> "<script>alert('提交成功!返回查看!');location.href='./guessbook.php';</script>"<span>; } </span>?>
4.展示用户留言列表,可在guessbook.php留言表单下面展示。
<span>include</span>("config.php"<span>); //连接数据库 </span><span>$sql</span>="select * from content"<span>; //数据库查询语句,content为该用户留言的表。 </span><span>$result</span> = <span>mysql_query</span>(<span>$sql</span>,<span>$con</span><span>); </span>
User | Content | Time |
---|---|---|
echo $row[1] ?> | echo nl2br($row[3]) ?> | echo $row[4] ?> |
5.基本结果: 经CSS 修饰后的结果如下:
http://www.phptogether.com/archives/10907

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP에서 데이터베이스 작업은 매우 쉽습니다. 이번 장에서는 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 이해하겠습니다.
