За последние 24 часа нас посетили 18544 программиста и 1612 роботов. Сейчас ищут 1967 программистов ...

Редирект и результат

Тема в разделе "Прочие вопросы по PHP", создана пользователем Exort, 23 мар 2017.

  1. Exort

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

    С нами с:
    30 апр 2016
    Сообщения:
    100
    Симпатии:
    2
    Доброго времени суток!
    Проблема:
    - index.php должен вызывать ucp_controller.php и вытащить оттуда значение, но в итоге он перенаправляет на ucp_controller.php и только потом скрипт выполняется. Как вызывая контроллер оставаться на одной странице, вытаскивая оттуда полученный результат?

    Необходимо получить результат из ucp_Controller.php оставаясь на index.php
    Index.php:
    HTML:
    1. <?php  require_once('controllers/line_Controller.php'); ?>
    2. <!DOCTYPE html>
    3.   <head>
    4.     <meta charset = "utf-8">
    5.     <title>АПК</title>
    6.     <link href = "css/style.css" rel = "stylesheet">
    7.   </head>
    8.   <body>
    9.     <div class = "wrapper">
    10.       <header class = "header_main">
    11.         <div class = "row">
    12.           <div class = "col-xs-6">
    13.             <form name = "autorisation" action = "controllers/cpu_Controller.php" method = "post">
    14.               <input type = "text" name = "auth_login_ucp" placeholder = "Введите Ваш логин" /><br />
    15.               <input type = "text" name = "auth_password_ucp" placeholder = "Введите Ваш пароль" /><br />
    16.               <input type = "submit" name = "do_auth" value = "Авторизоваться" />
    17.             </form>
    18.           </div>
    19.           <div class = "col-xs-6">
    20. <? get $error, how without redirect? ?>
    21.           </div>
    22.         </div>
    23.       </header>
    24.       <aside class = "aside_main">
    25.       </aside>
    26.       <footer class = "footer_main">
    27.       </footer>
    28.     </div>
    29.   </body>
    30. </html>
    line_Controller.php:
    PHP:
    1. <?php
    2.  
    3.   $mysqli = new mysqli('localhost','root','','rad');
    4.   $mysqli->query("SET NAMES 'utf8'");
    5.  
    6.   require_once('cpu_Controller.php');
    7.  
    8.   header("Content-Type: text/html; charset=utf-8");
    9.  
    10. ?>
    cpu_Controller.php:
    PHP:
    1. <?php
    2.   require_once("line_controller.php");
    3.  
    4.   if(isset($_POST["do_auth"])) {
    5.     $login = htmlspecialchars(trim($_POST["auth_login_ucp"]));
    6.     $password = htmlspecialchars($_POST["auth_password_ucp"]);
    7.     $error[] = array();
    8.     if($login = "") { $error[] = "Ваш Логин не может быть пустым!"; }
    9.     else {
    10.       $get_login = $mysqli->query("SELECT `login` FROM `users` WHERE `login` = '$login'");
    11.       $geted_login = $get_login->num_rows;
    12.       if($geted_login == 0) { $error[] = "Логин не найден в базе данных!"; }
    13.       else {
    14.         $get_password = $mysqli->query("SELECT `password` FROM `users` WHERE `password` = '$password'");
    15.         $geted_password = mysqli_fetch_array($get_password, MYSQLI_NUM);
    16.         if($password == $geted_password[0]) { echo "success"; } else {
    17.           $error[] = "Неверный пароль!";
    18.         }
    19.       }
    20.     }
    21.   }
    22. ?>
     
    #1 Exort, 23 мар 2017
    Последнее редактирование: 23 мар 2017
  2. acho

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

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
  3. Exort

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

    С нами с:
    30 апр 2016
    Сообщения:
    100
    Симпатии:
    2
    А при помощи php никак? Например с помощью get / function? Если да, то как?
     
  4. acho

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

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    А вы точно понимаете, что делаете? Вы знаете/посмотрели, что такое ajax?
     
  5. Exort

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

    С нами с:
    30 апр 2016
    Сообщения:
    100
    Симпатии:
    2
    Я ознакомлен с Ajax, но спрашиваю, возможно ли без него?
     
  6. acho

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

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    Ну, теоритически подумать, разными велосипедами можно. Но не нужно. AJAX прям просится под задачу.
    Да и ёмаё, 10 строчек всего.
     
  7. Exort

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

    С нами с:
    30 апр 2016
    Сообщения:
    100
    Симпатии:
    2
    Вы не могли бы показать этот велосипед? Либо как это реализовать?
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Автор, не страдай фигней, AJAX тебе нужен. Никак ты без него не отработаешь в фоне на левом скрипте и не вернешь результат на страницу. Никак. Ну..то есть есть конечно вебсокеты, но они про другое, и то же без JavaScript никак. Когда ты страничку увидел, пхп уже умер. Все. Приложение закрылось. То, что ты не умеешь в AJAX, либо боишься его, либо не хочешь даже пытаться понять, как с ним работать надо, увы, сугубо твоя проблема.

    То, что ты просишь это AJAX, но так, чтоб без AJAX.
     
    acho нравится это.
  9. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Для чего так делать?