PHP Форма входа подтверждается из массива - PullRequest
0 голосов
/ 30 марта 2020

Я использую Thybag, чтобы получить список, найденный в SharePoint. Список содержит имена пользователей и пароли.

Я создаю форму в PHP и хочу использовать массив, возвращенный из SharePoint, для проверки, если имя пользователя и пароль существуют и верны.

Я скрываю свою учетную запись SharePoint в целях безопасности, но в моем $data я могу получить необходимые данные.

Мне нужна помощь в форме submit. Когда пользователь отправляет форму, он должен проверить, существуют ли адрес электронной почты и пароль для одного и того же элемента, поскольку некоторые пароли будут одинаковыми. Адрес электронной почты, конечно, будет уникальным. Вот мой текущий код:

<?php

namespace Drupal\protected_sharepoint\Controller;

use Drupal\Core\Controller\ControllerBase;
use Drupal\Core\Link;
use Drupal\Core\Url;
use Thybag\SharePointAPI;


/**
 * Class TableController.
 *
 * @package Drupal\mc\Controller
 */
class ProtectedSharepointController extends ControllerBase  {

    public function sharepoint(){

        include "Thybag/SharePointAPI.php";
        include "Thybag/Auth/SharePointOnlineAuth.php";
        include "Thybag/Auth/SoapClientAuth.php";
        include "Thybag/Auth/StreamWrapperHttpAuth.php";
        include "Thybag/Service/ListService.php";
        include "Thybag/Service/QueryObjectService.php";

        $sp = new SharePointAPI('<username>', '<password>', '<path_to_WSDL>');
        $data = $sp->read('List');
        var_dump($data);



        if(isset($_POST['btnlogin']))
        {
            $uname = $data['emailaddress'];
            $pass = $data['txtpass'];
            foreach($data as $username => $password) 
            {
                if($username == $uname && $password == $pass) 
                {
                    $msg = "<p>Login successful</p>";

                    //if success break the loop
                    break;
                }
                else
                {
                   $msg = "<p>Wrong username or password</p>";
                }
            }
            echo $msg;
        }        

        ob_start(); ?>

            <form method="post" action="">
                <input type="text" name="txtuname" /><br /><br />
                <input type="password" name="txtpass" /><br /><br />
                <input type="submit" name="btnlogin" value="Login" />
            </form>

        <?php $markup = \Drupal\Core\Render\Markup::create(ob_get_clean());




        return array(
          '#markup' => $markup
        );

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