php IF& ELSE不起作用

时间:2013-09-05 17:43:40

标签: php if-statement

所以这段代码的意图是: 如果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>";
        }

4 个答案:

答案 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) {