За последние 24 часа нас посетили 56648 программистов и 1781 робот. Сейчас ищут 923 программиста ...

Автообновление блока (и его смена)

Тема в разделе "PHP для новичков", создана пользователем Денис404, 28 июн 2018.

Метки:
  1. Денис404

    Денис404 Новичок

    С нами с:
    16 июн 2018
    Сообщения:
    15
    Симпатии:
    0
    Помогите сделать так, чтоб после входа не надо было обновлять страницу для исчезновения поля входа, а оно автоматом менялось на панель пользователя.

    файл который проводит авторизацию и выводит панель пользователя в случае входа
    PHP:
    1. <?
    2.  
    3. require "pages/blocks/security.php";
    4.  
    5. if($ssa != 1){
    6. $data = $_POST;
    7. if( isset($data['do_signup']))
    8. {
    9.     $errors = array();
    10. $user = R::findOne('user', "numbers = ?", array($data['login']));
    11.     if($user){
    12.       if(password_verify($data['password'],$user->password)){
    13.  
    14.           $id = $user->id;
    15.           $hash = R::findOne('user', "numbers = ?", array($data['login']));
    16.           setcookie("id", $id , time()+60*60*24*30);
    17.           setcookie("hash", $hash->hash, time()+60*60*24*30);
    18.  //тут надо  убрать поле авторизации и подгрузить автоматом панель пользователя
    19.            /**************************************************/
    20.        }else
    21.       {
    22.           $errors[]='Неверно введен пароль';
    23.       }
    24.    }else
    25.    {
    26.      $user = R::findOne('user', "email = ?", array($data['login']));
    27.          if($user){
    28.            if(password_verify($data['password'],$user->password)){
    29.  
    30.                $id = $user->id;
    31.                $hash = R::findOne('user', "email = ?", array($data['login']));
    32.                setcookie("id", $id , time()+60*60*24*30);
    33.                setcookie("hash", $hash->hash, time()+60*60*24*30);
    34.                //тут надо  убрать поле авторизации и подгрузить автоматом панель пользователя
    35.                /**************************************************/
    36.             }else
    37.            {
    38.                $errors[]='Неверно введен пароль';
    39.            }
    40.         }else
    41.         {
    42.               $errors[]='Пользователь с таким логином не найден';
    43.          }
    44.              if( ! empty($errors)){
    45.                  echo'<div  style="color:red;">'.array_shift($errors).'</div><hr>';
    46.              }
    47.     }
    48.         if( ! empty($errors)){
    49.             echo'<div  style="color:red;">'.array_shift($errors).'</div><hr>';
    50.         }
    51.  
    52.  
    53. }
    54.  
    55. //*********панель входа****************
    56. include "pages/blocks/user_panel/login.php";
    57. //*********панель входа****************
    58. }else{
    59. //**********панель пользователя*********************
    60. include "pages/blocks/user_panel/panel.php";
    61. //**********панель пользователя*********************
    62. }
    63. ?>
    login.php
    HTML:
    1. <form id="register" action="" method="POST">
    2.    <p>
    3.      <p><strong>Ваш Email</strong>:</p>
    4.       <input   type="login" name="login" value="<?php echo @$data['email']; ?>">
    5.     </p>
    6.     <p>
    7.       <p><strong>Ваш пароль</strong>:</p>
    8.        <input  type="password" name="password">
    9.        <p>
    10.         <button id="sf1" type="submit" name="do_signup">войти</button>
    11.         </p>
    12.       </form>
    ну и панель ....заглушка
    HTML:
    1.  
    2. <div class="panel">
    3. <p>
    4. Сообщения
    5. </p>
    6. <p>
    7. Контакты
    8. </p>
    9. </div>
    10.  

    ну и повторюсь.....надо без перезагрузки при авторизации скрыть поле входа и вывести панель... понял что там надо
    ajax... но не понимаю как вставить это
     
  2. Danil005

    Danil005 Активный пользователь

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Добавь id для
    <input type="login" name="login" id='login' value="<?php echo @$data['email']; ?>">
    <input type="password" name="pass" id='pass' ">
    Код (Javascript):
    1. $('#sf1').on('click', function() {
    2.                           $.ajax({
    3.                                     url: 'auth.php?login='+$('#login').val()'+'&pass='+$('#pass').val(), //Ссылка на файл с обработкой авторизации.
    4.                                    type: 'GET',
    5.                                    dataType: 'json',
    6.                                    success: function (response) {
    7.                                        //Если успешно, то передаем panel.php
    8.                                        $('#register').load('panel.php');
    9.                                    },
    10.                                    error: function (response) {
    11.                                        alert(response);
    12.                                    }
    13.                                })
    14. });                        
    15. ;
     
    Денис404 нравится это.
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  4. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
  5. Денис404

    Денис404 Новичок

    С нами с:
    16 июн 2018
    Сообщения:
    15
    Симпатии:
    0
    смотри, тут код составлен так, что $ssa проверка авторизации, а что если через goto после создания кук начать скрипт с новой проверки
    PHP:
    1. <?
    2. require "pages/blocks/security.php";
    3. if($ssa != 1){
    4. $data = $_POST;
    5. if( isset($data['do_signup']))
    6. {
    7.     $errors = array();
    8. $user = R::findOne('user', "numbers = ?", array($data['login']));
    9.     if($user){
    10.       if(password_verify($data['password'],$user->password)){
    11.           $id = $user->id;
    12.           $hash = R::findOne('user', "numbers = ?", array($data['login']));
    13.           setcookie("id", $id , time()+60*60*24*30);
    14.           setcookie("hash", $hash->hash, time()+60*60*24*30);
    15. //тут надо  убрать поле авторизации и подгрузить автоматом панель пользователя
    16.            /**************************************************/
    17.        }else
    18.       {
    19.           $errors[]='Неверно введен пароль';
    20.       }
    21.    }else
    22.    {
    23.      $user = R::findOne('user', "email = ?", array($data['login']));
    24.          if($user){
    25.            if(password_verify($data['password'],$user->password)){
    26.                $id = $user->id;
    27.                $hash = R::findOne('user', "email = ?", array($data['login']));
    28.                setcookie("id", $id , time()+60*60*24*30);
    29.                setcookie("hash", $hash->hash, time()+60*60*24*30);
    30.                //тут надо  убрать поле авторизации и подгрузить автоматом панель пользователя
    31.                /**************************************************/
    32.             }else
    33.            {
    34.                $errors[]='Неверно введен пароль';
    35.            }
    36.         }else
    37.         {
    38.               $errors[]='Пользователь с таким логином не найден';
    39.          }
    40.              if( ! empty($errors)){
    41.                  echo'<div  style="color:red;">'.array_shift($errors).'</div><hr>';
    42.              }
    43.     }
    44.         if( ! empty($errors)){
    45.             echo'<div  style="color:red;">'.array_shift($errors).'</div><hr>';
    46.         }
    47. }
    48. //*********панель входа****************
    49. include "pages/blocks/user_panel/login.php";
    50. //*********панель входа****************
    51. }else{
    52. //**********панель пользователя*********************
    53. include "pages/blocks/user_panel/panel.php";
    54. //**********панель пользователя*********************
    55. }
    56. ?>