Witam, piszę skrypt, który ma odpowiadać za zmianę języka witryny dla danego użytkownika serwisu (oparcie o adres IP dla gości) i mam pewien problem, gdyż mam do wyboru 3 języki (PL,EN,DE).
Chcę aby po kliknięciu w jedną z flag wysunęło się okienko w dolnym rogu witryny (pozycja fixed), gdzie pojawia się tekst o wyborze języka, informacja o ładowaniu języka itp.
To zrobiłem i działa bez zarzutu ale problem tkwi w tym, że do każdego skryptu dodałem zapytanie SQL, które ma update'ować rekord danego użytkownika np. gdy jego aktualny język to "pl", a kliknie w flagę angielską to zapytanie ma z'update'ować rekord dla jego IP w komórce "lang" z "pl->en".
Mój kod wygląda tak:
<script type="text/javascript">
// Język niemiecki
$(document).ready(
function() {
$(".lang_de").click(
function() {
$(".popup").slideDown();
setInterval(function() {
$(".popup").slideUp();
}, 6000);
var sql = ['
<?php mysql_query('UPDATE guests SET lang="de" WHERE ip="'.$_SERVER['REMOTE_ADDR'].'"') or
die (mysql_error()); ?>'];
var contents = ['
<?php echo $LANG['popup']['lang']['load']; ?>', '
<?php echo $LANG['popup']['lang']['change']['de']; ?>'];
var current = 0;
setInterval(function() {
document.getElementById('load_content').innerHTML = contents[current++];
document.getElementById('load_sql').innerHTML = sql;
}, 2000);
setInterval(function() {
parent.location='<?php $PHP_SELF; ?>';
}, 8000);
});
});
// Język angielski
$(document).ready(
function() {
$(".lang_en").click(
function() {
$(".popup").slideDown();
setInterval(function() {
$(".popup").slideUp();
}, 6000);
var sql = ['
<?php mysql_query('UPDATE guests SET lang="en" WHERE ip="'.$_SERVER['REMOTE_ADDR'].'"') or
die (mysql_error()); ?>'];
var contents = ['
<?php echo $LANG['popup']['lang']['load']; ?>', '
<?php echo $LANG['popup']['lang']['change']['en']; ?>'];
var current = 0;
setInterval(function() {
document.getElementById('load_content').innerHTML = contents[current++];
document.getElementById('load_sql').innerHTML = sql;
}, 2000);
setInterval(function() {
parent.location='<?php $PHP_SELF; ?>';
}, 8000);
});
});
// Język polski
$(document).ready(
function() {
$(".lang_pl").click(
function() {
$(".popup").slideDown();
setInterval(function() {
$(".popup").slideUp();
}, 6000);
var sql = ['
<?php mysql_query('UPDATE guests SET lang="pl" WHERE ip="'.$_SERVER['REMOTE_ADDR'].'"') or
die (mysql_error()); ?>'];
var contents = ['
<?php echo $LANG['popup']['lang']['load']; ?>', '
<?php echo $LANG['popup']['lang']['change']['pl']; ?>'];
var current = 0;
setInterval(function() {
document.getElementById('load_content').innerHTML = contents[current++];
document.getElementById('load_sql').innerHTML = sql;
}, 2000);
setInterval(function() {
parent.location='<?php $PHP_SELF; ?>';
}, 8000);
});
});
</script>
<div class="top">
<span class="line"></span>
<div class="center">
<div class="box">
<ul class="left">
<li class="log_webmail">
<?php echo $LANG['top']['log_webmail']; ?></li>
<li class="log_system">
<?php echo $LANG['top']['log_system']; ?></li>
</ul>
<ul class="right">
<li class="lang_de
<?php if($GUEST['lang']=='de') {echo 'active';} ?>"></li>
<li class="lang_en
<?php if($GUEST['lang']=='en') {echo 'active';} ?>"></li>
<li class="lang_pl
<?php if($GUEST['lang']=='pl') {echo 'active';} ?>"></li>
<li>
<?php echo $LANG['top']['change_lang']; ?></li>
</ul>
</div>
</div>
</div>
<div class="popup"><div class="bg">
<?php echo $LANG['popup']['lang']['select'].$br.'<div id="load_content"></div>'.'<div id="load_sql"></div>'; ?></div></div>
Wszystko działa ładnie, lecz nie ważne którą flagę kliknę, zawsze wywoływane jest ostatnie zapytanie mySQL, w tym przypadku dla języka PL.
Dla przykładu: mój aktualny język to EN, klikam w DE, a skrypt i tak wywołuje zapytanie dla PL i zmienia mi język na PL a nie na DE.
Próbowałem to robić na wiele sposobów, lecz jeszcze nie udało mi się znaleźć odpowiedniego, dlatego piszę na forum mając nadzieję, że ktoś z Was mi pomoże

Za pomoc będę niezmiernie wdzięczny.
Za każdą odpowiedź daję "POMÓGŁ" !
Serdecznie pozdrawiam.
Kamil Dunaj.