Сделайте div видимым из внешнего php - PullRequest
0 голосов
/ 26 сентября 2011

Я работаю над сеансом входа в систему и хочу отображать ошибки на той же странице, например - "Неверный пароль" или "Пользователь не существует" .

Вот мой код:

<?php
session_start();


mysql_connect('mysql.database.com','user','database')or die ('Connection Failed: '.mysql_error());
mysql_select_db('database')or die ('Error when selecting Database: '.mysql_error());
function remove($mensaje)
{
    $nopermitidos = array("'",'\\','<','>',"\"");
    $mensaje = str_replace($nopermitidos, "", $mensaje);
    return $mensaje;
}
if(trim($_POST["usuario"]) != "" && trim($_POST["password"]) != "")
{
    $usuario = strtolower(htmlentities($_POST["usuario"], ENT_QUOTES));
    $password = $_POST["password"];
    $result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
    if($row = mysql_fetch_array($result)){
        if($row["password"] == $password){
            $_SESSION["k_username"] = $row['usuario'];
            header( 'Location: diseno.php' ) ;
        }else{
            echo '<p class="message2">Invalid password</p>';
        }
    }else{
        echo '<p class="message2"User does not exist</p>';
    }
    mysql_free_result($result);
}else{
    echo '<p class="message2">Must enter a user and password</p>';
}
mysql_close();
?>
<SCRIPT LANGUAGE="javascript">
location.href = "index.php";
</SCRIPT>

Как вы видите, это моя проверка и действие для формы входа.Вместо того, чтобы отображать ошибки на новой странице, я хочу отобразить ее на той же странице.Я пытался с javascript, и он не работал, я использовал.

var page = document.URL = "http://www.mysite.com/login.php" 
page.getElementById( 'wrongpassword' ).style.display = 'block';

Все div, которые я хочу отобразить, не установлены в файле login.php.

Ответы [ 3 ]

1 голос
/ 26 сентября 2011

Самый простой способ сделать это - обработать логин и затем включить код PHP, который отображает обычную страницу.Я не уверен, как вы спроектировали свой сайт, но включение index.php в конце может помочь.Прямо сейчас вы используете перенаправление JS, которое не даст вам желаемого результата.

Вместо того, чтобы выводить сообщение, я хотел бы установить переменную $ message, которая включает сообщение.При рендеринге главной страницы просто отобразите эту переменную в соответствующем месте, если она установлена.

0 голосов
/ 31 марта 2013

Для этого вы можете просто использовать JQuery.Я сделал это на своем веб-сайте, поэтому могу сказать, что это действительно работает.

Запустите сеанс, проверьте значения и либо назначьте значение в глобальных переменных javascript, либо напечатайте его там только

..

<?php
session_start();
//checking ur values
echo "<script src=\"js/jquery-1.8.3.min.js\"></script>
      <script type=\"text/javascript\">
         $(document).ready(function(){
             //you can assign values here or print error messages to any div
             ('.div_class').html("unuthorised user");
         });    
      </script>";

?>

Здесь я использовал загруженный файл JQuery из http://jquery.com/download/

Вы можете выбрать другой способ использования онлайн-версии этого файла JQuery.Синтаксис для этого:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">

Не стесняйтесь возвращаться в случае любых дальнейших запросов / проблем, касающихся вышеуказанного кода.

0 голосов
/ 26 сентября 2011

Если вы хотите изменить стиль CSS без изменения страницы, вы должны использовать javascript (для изменения css) + ajax (для получения результата входа).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...