Kod JS wygląda tak:
$("#login_button").click(function() {
var action = $("#loginform").attr('action');
var form_data = {password:haslo}
$.ajax({
type: "post",
url: action,
data: form_data,
success: function(data)
{
if(data == 'ok')
{
$("#login").slideUp('slow', function() {
$("#message").html("Zalogowałeś się pomyślnie!");
});
}
else{
alert(data)
$("#message").html("Niepoprawne hasło");
}
}
});
return false;
});
W skrócie - kod spodziewa się komunikatu OK , jeśli taki w data zostanie przesłany powinien wyświetlić komunikat o zalogowaniu. - mimo że dostaje OK tak się nie dzieje.
A wszystko działa tak jak powinno tylko wtedy kiedy w pliku PHP nie wykonuję funkcji connection()
PLIK PHP Z UPROSZCZONYM PRZYKŁADEM
{ require('../inc/connect.php'); connection(); }
W pliku connect.php w którym znajduje się funkcja connection mam:
<?php
/******************************************************
* polaczenie.php
* Konfiguracja połączenia z bazą danych
******************************************************/
function connection() {
require ('mysql_config.php');
$mysql_server = $server;
$mysql_admin = $admin;
$mysql_pass = $pass;
$mysql_db = $db;
mysql_connect($mysql_server, $mysql_admin, $mysql_pass)
or die('Brak połączenia z serwerem MySQL.');
mysql_select_db($mysql_db)
or die('Błąd wyboru bazy danych.');
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER 'utf8'");
}
?>
Komunikat zawsze przesyłany jest poprawnie czyli "ok" (widzę w firebugu) , z tym że funkcja ajax musi inaczej go "widzieć" ponieważ dostaję alert ( z napisem ok) z else.
Dlaczego if(data == 'ok') nie jest dla niego ok skoro ja widzę że jest ?
Dzieje się tak tylko kiedy wykonuję w pliku php funkcję connection() :/
Jak sobie wykonam inną funkcję wszystko jest w porządku i zwrot OK jest interpretowany prawidłowo.. gdzie może leżeć problem ?