1

暗号化されてシャットダウンされた古いスクリプトを復活させようとしていますが、私はphpが得意ではありませんが、練習すればうまくいきます。

私はそれをデコードしてインストールプロセスを進めたところ、PHP Notices Undefined variable を取得しています。

[21-Sep-2013 17:51:56 Europe/Berlin] PHP Notice:  Undefined variable: dberror in C:\xampp\htdocs\install\step1.php on line 7
[21-Sep-2013 17:51:56 Europe/Berlin] PHP Notice:  Undefined variable: dberror in C:\xampp\htdocs\install\step1.php on line 10


  <?php

     if (isset($setdb)) {
          if (( ( ( $dbhost && $dbuser ) && $dbpass ) && $dbname )) {
              ( @mysql_connect( $dbhost, $dbuser, $dbpass ) || $dberror = 'Can\'t connect to database server' );

               if (!$dberror) {
               ( @mysql_select_db( $dbname ) || $dberror = 'Can\'t select database' );

                     if (!$dberror) {
                         @session_register( 'dbhost' );
                         @session_register( 'dbuser' );
                         @session_register( 'dbpass' );
                         @session_register( 'dbname' );
                         $_SESSION['dbhost'] = $dbhost;
                         $_SESSION['dbuser'] = $dbuser;
                         $_SESSION['dbpass'] = $dbpass;
                         $_SESSION['dbname'] = $dbname;
                         print '<script> window.location=\'index.php?menu=step2\';  </script>';
                      }
                   }
               }
         else {
              $dberror = 'All fields are required';
      }
  }

誰かが間違っていることを教えてください。

4

2 に答える 2

5

これは、エラーが発生しない場合、$dberrorが定義されていないためです。

if (!$dberror) {

次のようにする必要があります。

if (!isset($dberror)) {

また

これをページの上部に追加します (推奨):

$dberror = false;
于 2013-09-21T16:13:02.333 に答える
0

The variable $dberror was not defined before it was used in your "IF" statement.

The script does not have any information about $dberror before it could check for if(!$dberror). It appears meaningless to check if a variable has any value without being declared or assigned before.

IF this is what you still want, you can check if the variable is declared at all before you can check if it has a value using isset

if(isset($dberror)){
  if(!$dberror){
  // your stuff
}

}

于 2013-09-21T16:15:55.463 に答える