if (edit_post($_GET['pid'], $_POST['title'], $_POST['body'])){
header("Location: blog_edit.php?pid={$_GET['pid']}");
}else{
header("Location: some location.php");
}
Вы передаете три аргумента в вызове функции, но определение функции имеет только 2 аргумента.
function edit_post($title, $body){
$title = mysql_real_escape_string(htmlentities($title));
$body = mysql_real_escape_string(nl2br(htmlentities($body)));
mysql_query("UPDATE `posts` (`post_title`, `post_body`) SET `post_title` = '{$title}' AND `post_body` = '{body}' WHERE `post_id` = {$pid}");
}
Также верните логическое значение из функции.
function edit_post($pid, $title, $body){
$title = mysql_real_escape_string(htmlentities($title));
$body = mysql_real_escape_string(nl2br(htmlentities($body)));
$result = mysql_query("UPDATE `posts` (`post_title`, `post_body`) SET `post_title` = '{$title}' AND `post_body` = '{body}' WHERE `post_id` = {$pid}");
echo $result;
}