我正在制作的网站有两个字段,当您按下提交按钮时,将运行以下PHP。但是,如果两个字段都为空,则页面将返回空白,就好像它在某个点运行exit()
一样。为什么这个PHP在执行时让我的网站变为空白?
else if ($_POST["submit"] == "Update Bookmark") {
$url_to_update = $_POST["url_to_update"];
if (strpos($url_to_update, "http") === false) {
$url_to_update = "http://" . $url_to_update;
}
// Check if this URL is already in Pinboard
$api_url = "https://*username*:*password*@api.pinboard.in/v1/posts/get?url=" . $url_to_update . "&format=json";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$json = curl_exec($ch);
curl_close($ch);
$values = json_decode($json);
// URL is already in Pinboard
if (count($values["posts"]) > 0) {
$new_title = str_replace(" ", "%20", $_POST["new_title"]);
$api_url = "https://*username:password*@api.pinboard.in/v1/posts/add?url=" . $url_to_update . "&description=" . $new_title . "&format=json";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$json = curl_exec($ch);
curl_close($ch);
$values = json_decode($json);
if ($values->result_code == "done") {
echo "<div class='success-message'><strong>Updated!</strong> Your bookmark has been successfully updated to the new title.</div>";
}
else {
echo "<div class='error-message'><strong>Dang!</strong> Something messed up.</div>";
}
}
// URL is not already in Pinboard, so add it for the user
else {
$new_title = str_replace(" ", "%20", $_POST["new_title"]);
$api_url = "https://*username:password*@api.pinboard.in/v1/posts/add?url=" . $url_to_update . "&description=" . $new_title . "&format=json";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$json = curl_exec($ch);
curl_close($ch);
$values = json_decode($json);
if ($values->result_code == "done") {
echo "<div class='success-message'><strong>Added instead!</strong> There wasn't a bookmark with this URL already, so we added it.</div>";
}
else if ($values->result_code == "missing url") {
echo "<div class='error-message'><strong>Invalid URL!</strong> That's not a valid URL!</div>";
}
else {
echo "<div class='error-message'><strong>Dang!</strong> Something messed up.</div>";
}
}
}
任何人都可以提供一些帮助吗?我一遍又一遍地扫描它,但我找不到是什么原因造成的。
如果你的脚本以'else if'开头,这是一个非常好的指标,它会失败。打开错误报告。 – Kermit 2013-04-10 19:17:26
打开PHP错误和报告/日志记录! – 2013-04-10 19:17:28
检查你的错误日志。可能是500错误。 – j08691 2013-04-10 19:17:31