有很多代码,但大部分都是无关紧要的,所以我只发布一个片段
$error_message = "";
function died($error) // if something is incorect, send to given url with error msg
{
session_start();
$_SESSION['error'] = $error;
header("Location: http://mydomain.com/post/error.php");
die();
}
这工作正常,将用户发送到错误会话,该会话在 error.php 上显示错误
function fetch_post($url, $error_message) {
$sql = "SELECT * FROM inserted_posts WHERE name = '$name'";
$result = mysqli_query($con, $sql);
$num_rows = mysqli_num_rows($result);
if ($num_rows > 0) {
$error_message .= $url . " already exists in the database, not added";
return $error_message;
}
}
这也可以正常工作,检查数据库中是否存在“帖子”,如果存在,它将错误添加到变量 $error_message
while ($current <= $to) {
$dom = file_get_html($start_url . $current); // page + page number
$posts = $dom->find('div[class=post] h2 a');
$i = 0;
while ($i < 8) {
if (!empty($posts[$i])) { // check if it found anything in the link
$post_now = 'http://www.somedomain.org' . $posts[$i]->href; // add exstension and save it
fetch_post($post_now, &$error_message); // send it to the function
}
$i++;
}
$current++; // add one to current page number
}
这是主循环,它循环我拥有的一些变量,并从外部网站获取帖子并将 URL 和 error_message 发送到函数 fetch_posts
(我把它发送了,我通过参考来做,因为我认为这是让它保持全球性的唯一方法???)
if (strlen($error_message > 0)) {
died($error_message);
}
这是循环之后的最后一个片段,如果错误消息包含任何字符,它应该将错误消息发送到函数错误,但它没有检测到任何字符?