-3

次のコードを使用してデータベースに接続します。

@mysql_connect("localhost","root","") or die(mysql_error());
@mysql_select_db("ECOLE") or die (mysql_error());
@mysql_set_charset('utf8');

if(isset($_POST['profname_in'])){
   $querycheck = "SELECT prof_som FROM prof_table 
                  WHERE prof_som=$_POST[profsom_in];";
   $_querycheck=mysql_fetch_array(mysql_query($querycheck));
   if(isset($_querycheck['prof_som'])){
     echo "0";
   }else{
     $query="INSERT INTO prof_table 
             VALUES('$_POST[profname_in]',
                    '$_POST[profcin_in]',
                    '$_POST[profsom_in]',
                    '$_POST[profville_in]',
                    '$_POST[profecole_in]',
                    '$_POST[profmat_in]',
                    '$_POST[profpass_in]');";
     if(mysql_query($query)){
           echo "1";
         }
   }
}

エコーは JavaScript 関数 (ajax) によって回復されます。

function adding_prof_Reply() {

if(http.readyState == 4){ 
        var response = http.responseText;

     if(response==0){
            document.getElementById('prof_validation').innerHTML = '<font color="red">'+response+'</font>';
        }else if (response==1){
            document.location.href="dir_paneau.php";        
        }else{
            document.getElementById('prof_validation').innerHTML = '<font color="red">'+response+'</font>';
        }
}
}

問題はrequire('anyfile')、php コードで使用すると、 if(response==0)respose==0 の場合でもテストが常に false になることです。requireすべての行を削除すると、正常に機能します。接続情報を繰り返さないようにする必要があります。アイデアはありますか?

4

1 に答える 1

0

「接続情報を繰り返さないように要求する必要があります」

一度だけ接続するには、「接続情報」を別のファイルに入れ、おそらくデータベース接続が必要なファイルでdbConnect.php関数を使用します。require_once('dbConnect.php')

これにより、データベースに 1 回だけ接続することが保証され、問題が解決する場合があります。

于 2012-06-30T22:29:34.343 に答える