Создание активированной функцией ссылки появиться, не имея необходимость обновлять браузер

Я пытаюсь использовать код ниже для создания <a href='http://www...com/.../footervote.php'>Vote</a> ссылка появляется, если пользователь входит в систему, и пользователь обнаруживается в функции getEditorsList(). Ссылка голосования только появляется, если браузер обновляется.

Какая-либо идея, как я мог заставить ссылку голосования появиться, не имея необходимость обновлять браузер?

Заранее спасибо,

John

index.php:

<?php 

 require_once "header.php"; 
 //content
 include "login.php";
 // more content
 require_once "footer.php";

?>

В header.php:

<?php
error_reporting(0); 
session_start();
require_once ('db_connect.inc.php'); 
require_once ("function.inc.php"); 
$seed="0dAfghRqSTgx"; 
$domain =  "...com"; 

            $editors = getEditorsList();
            foreach($editors as $editor)
            {
            $editorids[] = $editor['loginid'];
            }

            if(in_array($_SESSION['loginid'], $editorids))
            {
            echo "<div class='footervote'><a href='http://www...com/.../footervote.php'>Vote</a></div>";
            } 


?>

login.php:

<?php
if (!isLoggedIn())
{

    if (isset($_POST['cmdlogin']))
    {

        if (checkLogin($_POST['username'], $_POST['password']))
        {
            show_userbox();


        } else
        {
            echo "Incorrect Login information !";
            show_loginform();
        }
    } else
    {

        show_loginform();
    }

} else
{

    show_userbox();

}



?>
1
задан John 9 June 2010 в 21:50
поделиться

2 ответа

Вы устанавливаете $ _SESSION ['loginid'] после запроса in_array? Если вы сначала визуализируете header.php, in_array возвращает false (хотя сеанс был запущен, но loginid будет установлен через несколько строк в login.php).

Переместите это:

        if(in_array($_SESSION['loginid'], $editorids))
        {
        echo "<div class='footervote'><a href='http://www...com/.../footervote.php'>Vote</a></div>";
        } 

из header.php в login.php следующим образом:

else {

    show_userbox();
    if (in_array...
}
1
ответ дан 2 September 2019 в 23:53
поделиться

Если ссылка присутствует, но скрыта, вы используете некоторый DHTML (JQuery / Scriptaculous) для правильной установки атрибутов отображения / видимости.

Если ссылка отсутствует в исходном HTML (предпочтительно по соображениям безопасности), то при входе в систему запускайте запрос AJAX, который возвращает javascript, который вставит ссылку в правильное место (родительский элемент).

1
ответ дан 2 September 2019 в 23:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: