我使用此代碼連接到數據庫:PHP需要和JavaScript
@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函數(阿賈克斯)recupered:
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>';
}
}
}
一切工作正常,問題是當我在php代碼中使用require('anyfile')
時,即使respose == 0,測試if(response==0)
也總是爲false;如果我刪除了require
的行,那麼所有的行爲都應該如此。 我需要不重複的連接信息,任何想法?
代碼中的每個SQL查詢都包含深刻的SQL注入(https://en.wikipedia.org/wiki/SQL_injection)。 – MaxSem
問題中的代碼包含錯誤抑制,沒有提及*在'PHP'中調用require函數,但不清楚「anyfile」是否確實表示「任何文件」,或者它是否一個不與我們共享的特定文件,並且沒有任何努力可以通過直接從瀏覽器(或cURL等)直接發出HTTP請求來調試獨立於JS的PHP。 – Quentin
@ user1493590 - 您發佈的PHP不包含對require()的調用。這聽起來好像所需的文件要麼是錯誤的,要麼是你的JS期望的輸出的不同輸出。請*確認*接收的輸出,不要認爲它是0.您可以在Firebug/Dragonfly中查看,或直接在瀏覽器中訪問腳本。 – Utkanos