好吧,我的帖子脚本有点问题.一切都很好,除了当我输入一个像撇号的短语,例如“这是我的标题”不会发布,把“Heres my title”发布.不知道为什么会这样.也许条带标签我真的不知道,我该怎么办?当它无法工作时,我得到了底部错误消息
} else {
if(isset($_POST['what'])&&isset($_POST['when'])&&isset($_POST['where'])&&isset($_POST['details'])&&isset($_POST['sponsored_by'])&&isset($_POST['collegeId'])){
$what = nl2br(htmlspecialchars(strip_tags(stripslashes(trim($_POST['what'])))));
$where = nl2br(htmlspecialchars(strip_tags(stripslashes(trim($_POST['where'])))));
$when = nl2br(htmlspecialchars(strip_tags(stripslashes(trim($_POST['when'])))));
$sponsored_by = nl2br(htmlspecialchars(strip_tags(stripslashes(trim($_POST['sponsored_by'])))));
$details = nl2br(htmlspecialchars(strip_tags(stripslashes(trim($_POST['details'])))));
$collegeId = intval($_POST["collegeId"]);
if(isset($_SESSION['username'])){
$username = htmlspecialchars(strip_tags(stripslashes(trim(($_SESSION['username'])))));
$query = "select id, Name from users where username='$username' and activated = 1";
$doQuery = MysqL_query($query);
if(MysqL_num_rows($doQuery)>0){
$results = MysqL_fetch_array($doQuery);
$userName = $results['Name'];
$email = $username;
$id = $results['id'];
$query = "insert into events values(NULL,$id,$collegeId,'$what','$when','$where','$details','$sponsored_by',Now())";
if(MysqL_query($query)) header("Location: collegeInfo.PHP?college=$collegeId&message=added");
else echo "Failed to create new Event!".$query;
解决方法:
你不要逃避你的疑问.尝试至少使用addslashes或MysqL_real_escape_string来清理输入. striplashes – 从行中删除反斜杠.使用addslashes添加它们,而不是在mySQL查询之前删除.
而dude,MysqL_query在新的PHP版本中已经弃用,请使用PDO和准备好的语句.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。