所以这段代码的意图是: 如果config2.php文件中有数据,那么你可以登录,但如果没有(ELSE),那么你需要通过数据库连接安装程序。我尝试了几种不同的变化和技术,但实际上没有。我会得到两个按钮显示或只是一个甚至认为信息已经POST到config2.php文件...
$installation = 'config/config2.php';
if ( strpos(file_get_contents($installation),$_GET['host']) !== true) {
echo "<br><p style='text-align: center'><strong>Lets get started, press the login button below to begin!</strong> <br><br>
<a href='#myModal' class='btn btn-primary' data-toggle='modal'>LOGIN</a></p> ";
echo "<div id='myModal' class='modal hide fade' tabindex='-1' role='dialog' aria-labelledby='myModalLabel' aria-hidden='true'>
<div class='modal-header'>
<button type='button' class='close' data-dismiss='modal' aria-hidden='true'>×</button>
<h3 id='myModalLabel'>User Login</h3>
</div>
<div class='modal-body'>
<form action='login.php' method='post'>
<table>
<tr style='text-align: center'>
<td>Username: </td>
<td><input type='text' name='email' placeholder='Your Simple Invoices Username' /></td>
</tr>
<tr style='text-align: center'>
<td>Password: </td>
<td><input type='password' name='password' placeholder='Password' /></td>
</tr>
</table>
</div>
<div class='modal-footer'>
<button class='btn btn-danger' data-dismiss='modal' aria-hidden='true'>Close</button>
<input class='btn btn-success' type='submit' name='submit' value='Login' />
</div>
</div>";
} else ( strpos(file_get_contents($installation),$_GET['host']) !== false); {
echo "<br><br>";
echo "<p style='text-align: center'>You need to install to use it!</p>";
echo "<p style='text-align: center'><a href='#myModal2' class='btn btn-success' data-toggle='modal'>INSTALL!</a></p>";
echo "<div id='myModal2' class='modal hide fade' tabindex='-1' role='dialog' aria-labelledby='myModalLabel' aria-hidden='true'>
<div class='modal-header'>
<button type='button' class='close' data-dismiss='modal' aria-hidden='true'>×</button>
<h3 id='myModalLabel'>Database Connection Installer</h3>
</div>
<div class='modal-body'>
<form action='install.php' method='post'>
<table>
<tr style='text-align: center'>
<td>Database Address: </td>
<td><input type='text' name='host' placeholder='Database Host' /></td>
</tr>
<tr style='text-align: center'>
<td>Database Username: </td>
<td><input type='text' name='username' placeholder='Database Username' /></td>
</tr>
<tr style='text-align: center'>
<td>Database Password: </td>
<td><input type='text' name='password' placeholder='Database Password' /></td>
</tr>
<tr style='text-align: center'>
<td>Database Name: </td>
<td><input type='text' name='db_name' placeholder='Database Name' /></td>
</tr>
</table>
</div>
<div class='modal-footer'>
<button class='btn btn-danger' data-dismiss='modal' aria-hidden='true'>Close</button>
<input class='btn btn-success' type='submit' name='submit' value='Connect' />
</div>
</div>";
}
答案 0 :(得分:2)
根据Comparison Operators,===
/ !==
两端“必须”是同一类型,您将int与布尔值进行比较。
为了完成,
} else ( strpos(file_get_contents($installation),$_GET['host']) !== false); {
应该是
} else if ( strpos(file_get_contents($installation),$_GET['host']) !== false) {
没有;
。
答案 1 :(得分:1)
这样做:
if (strpos(file_get_contents($installation),$_GET['host']) !== false) {
// Do stuff for string found
} else {
// Do stuff for string not found
}
问题是strpos
永远不会返回true
。它返回一个数字(找到的子字符串的位置)或false
如果找不到子字符串。您不需要else if
,因为您只关心是否找到字符串,没有其他情况。
答案 2 :(得分:0)
这是你出错的地方:
else ( strpos(file_get_contents($installation),$_GET['host']) !== false);
else部分不应该有声明。
也许您正在寻找else if
声明http://php.net/manual/en/control-structures.elseif.php
我刚刚看到了其他部分。其他用户也在您的代码中看到了其他错误。最好使用 Manual 检查您的代码,找出正确的php用法。
答案 3 :(得分:0)
尝试:
if ( strpos(file_get_contents($installation),$_GET['host'])) {
而不是
if ( strpos(file_get_contents($installation),$_GET['host']) !== true) {