-2

我正在制作的网站有两个字段,当您按下提交按钮时,将运行以下 PHP。但是,如果两个字段都为空,则页面返回空白,几乎就像它exit()在某个点运行一样。

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>";
    }
  }
}

有人可以提供一些帮助吗?我一遍又一遍地扫描它,但我找不到导致它的原因。

4

3 回答 3

4

您可能关闭了错误报告。试着把它放在你的标题中:

<?php
ini_set('display_errors', 'On');
?>
于 2013-04-10T19:18:32.743 回答
1

如果这是放置在中的唯一代码,php那么您应该首先开始if else语句的案例,而if不是直接elseif尝试使用第一个条件和if检查

于 2013-04-10T19:18:24.560 回答
0

把它放在你的 PHP 脚本的开头,这样你就可以获得一些正确的调试信息:

<?php
  error_reporting(E_ALL);
  ini_set('display_errors', TRUE);
  ini_set('display_startup_errors', TRUE);
  ini_set('memory_limit', '256M');
?>

如果您仍然卡住,请尝试在此处发布错误消息,也许我们可以为您提供更多帮助。

于 2013-04-10T19:28:28.550 回答