Чтение / запись Php cookie - PullRequest
       15

Чтение / запись Php cookie

0 голосов
/ 19 июля 2011

Я отправляю php самому себе через выпадающий список, который меняет язык интерфейса страницы.При этом я обновляю файл cookie, в котором хранится направление тега HTML body: rtl ИЛИ ltr .

Таким образом, в то время как тег HTML SELECT передает свое значение через FORC onChage () func вызывает JavaScript, и Javascript перезагружает страницу PHP , в начале страницы php есть INCLUDE для страницы перевода PHP и когда страница перезаписывается, направление ТЕЛА TAG должно быть обновлено в соответствии с языком.

Что ж, на самом деле это читает cookie BODYTAG DIR только во второй раз, когда язык меняется, следовательно, направления тела не всегда правильны.

<?php
header('Content-Type: text/html; charset=UTF-8');
include '../dbc.php';
mysql_query("SET NAMES 'UTF8'");
include './includes/getranslation.php';
?>
<html>
<head>
<SCRIPT language=JavaScript>
function reload(form) {
var val=form.langselector.options[form.langselector.options.selectedIndex].value;
SetCookie( 'lang', '' + val);
self.location='login.php';
}
</SCRIPT>

</head>
<body dir='<?php echo $_COOKIE['langdir']; ?>'>
    <table width="100%" border="0" cellspacing="0" cellpadding="2" class="main">
        <tr> <?php if ($_COOKIE["langdir"] == 'ltr') {
            $ddlangalignleftTD = 'right';
            $ddlandalignrightTD = 'left';
            } else {
            $ddlangalignleftTD = 'left';
            $ddlandalignrightTD = 'right';
            }
            ?>
            <td width="50%" align="<?php echo $ddlangalignleftTD; ?>" valign="center">
                <?php echo $headingNamesArr['select_lang']; ?>:
            </td>
            <td width="50%" align="<?php echo $ddlandalignrightTD; ?>" valign="center">
                <form method="post" name="langselectorfrm" action="login.php">
                    <select name="langselector" onchange="reload(this.form)">
                        <?php echo '<option value= ''</option>';
                        ?>
                    </select> 
                </form>

Я хотел бы знать, почему он не читает обновленную версию COOKIE, ТОЛЬКОПОСЛЕ ВТОРОГО ВРЕМЕНИ ОН ПРЕДСТАВЛЕН?

Надеюсь, вы понимаете ....

1 Ответ

0 голосов
/ 19 июля 2011

Файл cookie виден только при второй загрузке страницы. потому что при первой загрузке cookie еще не существует .

...