Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
相同的PHP代码在使用两次后返回服务器错误_Php_Html_Internal Server Error_Mobile Browser - Fatal编程技术网

相同的PHP代码在使用两次后返回服务器错误

相同的PHP代码在使用两次后返回服务器错误,php,html,internal-server-error,mobile-browser,Php,Html,Internal Server Error,Mobile Browser,下面的代码段检查用户是否正在使用移动浏览器。如果是,图标将使用tr标记以新行显示 function isMobile() { return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]); }

下面的代码段检查用户是否正在使用移动浏览器。如果是,图标将使用tr标记以新行显示

function isMobile() {
return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
}
问题: 它只适用于前两次。事实上,正如您所看到的,函数在过去2次被注释掉,以避免出现服务器错误(500)

我还尝试将echo部分放在花括号中,但当下面的4个php函数都未注释时,仍然返回服务器错误

<table align="center" frame='box'>
<tr>
<td align="center" colspan="20">
<a href="assignlocktouser.php"><figure><img src="Images/basicunlock.png" alt="Assign Lock to Basic User" height="64" width="64"/>
<imgcaption></p>Assign Lock to Basic User</imgcaption><figure></a>
<?php if (isMobile()) echo "</tr><tr>"; ?>
<td align="center" colspan="20">
<a href="addDevice.php"><figure><img src="Images/addDevice.png" alt="Add Device" height="64" width="64"/>
<imgcaption></p>Add Device</imgcaption><figure></a>
<?php if (isMobile()) echo "</tr><tr>"; ?>
<td align="center" colspan="20">
<a href="editSequence.php"><figure><img src="Images/editsequence.png" alt="Edit Sequence" height="64" width="64"/>
<imgcaption></p>Edit Sequence</imgcaption><figure></a>
<?php //(if isMobile()) echo "</tr><tr>"; ?>
<td align="center" colspan="20">
<a href="addLock.php"><figure><img src="Images/lock.png" alt="Add New Lock" height="64" width="64"/>
<imgcaption></p>Add New Lock</imgcaption><figure></a>
<?php //(if isMobile()) echo "</tr><tr>"; ?>
<td align="center" colspan="20">
<a href="switchLockOwner.php"><figure><img src="Images/ownerunlock.png" alt="Switch Lock Owner" height="64" width="64"/>
<imgcaption></p>Switch Lock Owner</imgcaption><figure></a>      
</tr>
</table>


关于为什么会发生这种情况,有什么线索吗

你的if语句是错误的

<?php (if isMobile()) echo "</tr><tr>"; ?>

应该是

<?php if (isMobile()) echo "</tr><tr>"; ?>

我总是觉得提供括号最适合阅读if语句

所以,你可以这样做

<?php if (isMobile()) {echo "</tr><tr>";} ?>

或者,如果您想对其进行简短编码,请使用真正的一行if语句

<?=((isMobile()) ? "</tr><tr>" : NULL)?>


为什么不计算一次,然后检查变量<代码>$isMobile=isMobile()-
如果($isMobile){…}
?这也将为您节省一些处理。从调试开始:获取错误消息: