2013-09-05 4 views
-2

Таким образом, для этого кода необходимо: ЕСЛИ есть данные внутри файла config2.php, тогда вы можете войти в систему, но если там нет (ELSE), вам нужно пройти через Установщик подключения к базе данных. Я пробовал несколько разных вариантов и методов, но на самом деле не работает. Я получу обе кнопки показывать или только один, даже думал, что информация была POST в файл config2.php ...php IF & ELSE не работает

$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>"; 
     } 
+1

'strpos' возвращает позицию (т.е. число), а не только' 'true' или false' – Barmar

+0

Там нет условия в' еще '-часть. –

+1

'} else if (strpos (file_get_contents ($ installation), $ _ GET ['host'])! == false) {' также ответ OneOfOne – jonhopkins

ответ

0

Здесь вы заладились:

else (strpos(file_get_contents($installation),$_GET['host']) !== false);

еще у части не должно быть заявления.

Может быть, вы ищете else if заявление http://php.net/manual/en/control-structures.elseif.php

Я только что видел еще часть. Другие пользователи также видели другие ошибки в вашем коде. Лучше всего проверите свой код с помощью Manual, чтобы узнать правильное использование php.

2

Согласно Comparison Operators, ===/!== оба конца должны быть одного типа, вы сравниваете int с булевым.

Ради завершения,

} else (strpos(file_get_contents($installation),$_GET['host']) !== false); { 

должно быть

} else if (strpos(file_get_contents($installation),$_GET['host']) !== false) { 

без ;.

+0

Итак, я сделал:} else if (strpos (file_get_contents ($ installation) $ _GET ['host'])! == false) {но это не сработало, просто показывая мне часть входа, а не часть установщика .... файл config2.php пуст. –

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, так как вам остается только знать, найдена ли строка или нет, других случаев нет.

0

Try:

if (strpos(file_get_contents($installation),$_GET['host'])) { 

Вместо

if (strpos(file_get_contents($installation),$_GET['host']) !== true) {