使用else语句显示整个页面PHP

pftdvrlh  于 2023-04-04  发布在  PHP
关注(0)|答案(2)|浏览(101)

我检查我的网站上的用户,如果他们使用VPN或不与PHP通过API连接,我的脚本工作良好,如果用户使用VPN的状态说:“是VPN”
如果用户不使用VPN,则状态为:“不是VPN”
我想在我的脚本,是如果用户不使用VPN的HTML整个页面应该显示不是一个状态说:“不是VPN”,如果使用VPN,则状态为:“是VPN”通常

<?php
header('Content-type: text/plain');

$IP_ADDRESS = '127.0.0.1'; # Manual IP Address
$API_KEY = "";
$API_URL = 'https://vpnapi.io/api/' . $IP_ADDRESS . '?key=' . $API_KEY;

$response = file_get_contents($API_URL);
$response = json_decode($response);

if(!$response->security->vpn) {
    echo " is a VPN.\n";
} else {
    echo " is not a VPN.\n";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title></title>
</head>
<body>
<div style="text-align: center; color: rgb(51, 204, 0);"><big
 style="font-weight: bold;"><big><big><br>
Test Working!!!</big></big></big></div>
</body>
</html>
j0pj023g

j0pj023g1#

就像你的代码已经做的那样...把你想要发生的事情 Package 在ifelse块中,这样它就在这些块中:

if($response->security->vpn) {
    echo " is a VPN.\n";
} else {

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title></title>
</head>
<body>
<div style="text-align: center; color: rgb(51, 204, 0);"><big
 style="font-weight: bold;"><big><big><br>
Test Working!!!</big></big></big></div>
</body>
</html>

<?php } ?>

或者,出于偏好和可读性的考虑,您可以完全删除else,并有条件地 return 以结束脚本。例如:

if($response->security->vpn) {
    echo " is a VPN.\n";
    return;
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title></title>
</head>
<body>
<div style="text-align: center; color: rgb(51, 204, 0);"><big
 style="font-weight: bold;"><big><big><br>
Test Working!!!</big></big></big></div>
</body>
</html>

除非我误解了,你希望if条件显示消息 * 和页面 *,而 else 只显示页面?如果是这样的话,那么你只需要一个基本的if条件来有条件地执行操作:

if($response->security->vpn) {
    echo " is a VPN.\n";
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title></title>
</head>
<body>
<div style="text-align: center; color: rgb(51, 204, 0);"><big
 style="font-weight: bold;"><big><big><br>
Test Working!!!</big></big></big></div>
</body>
</html>

不管你怎么看,结构总是一样的,有条件执行的操作(也就是说,有时候只根据某些数据执行)放在ifelse块中。

f2uvfpb9

f2uvfpb92#

一个相当简单的改变

<?php
header('Content-type: text/plain');

$IP_ADDRESS = '127.0.0.1'; # Manual IP Address
$API_KEY = "";
$API_URL = 'https://vpnapi.io/api/' . $IP_ADDRESS . '?key=' . $API_KEY;

$response = file_get_contents($API_URL);
$response = json_decode($response);

if(!$response->security->vpn) {
    echo " is a VPN.\n";
} else {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title></title>
</head>
<body>
<div style="text-align: center; color: rgb(51, 204, 0);"><big
 style="font-weight: bold;"><big><big><br>
Test Working!!!</big></big></big></div>
</body>
</html>
}
?>

或者,您可以将消息作为页面的一部分输出

<?php
header('Content-type: text/plain');

$IP_ADDRESS = '127.0.0.1'; # Manual IP Address
$API_KEY = "";
$API_URL = 'https://vpnapi.io/api/' . $IP_ADDRESS . '?key=' . $API_KEY;

$response = file_get_contents($API_URL);
$response = json_decode($response);
$msg = '';
if(!$response->security->vpn) {
    $msg = " is a VPN.";
} else {
    $msg = 'is not a VPN.';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title></title>
</head>
<body>
<div style="text-align: center; color: rgb(51, 204, 0);">
    <strong><?php echo $msg; ?></strong>
</div>
</body>
</html>

相关问题