1 / 1 / 0
Регистрация: 22.10.2016
Сообщений: 12
1

Отсутствует аргумент функции

24.01.2018, 18:39. Показов 1335. Ответов 2

Author24 — интернет-сервис помощи студентам
Пишу форму авторизации с привязкой к MySQL через POST запросы. С какого-то перепугу начала вылазить ошибка:

"Warning: Missing argument 2 for DbOp::loginUser(), called in /var/www/vhosts/android/Android/v1/loginUser.php on line 8 and defined in /var/www/vhosts/android/Android/includes/DbOp.php on line 23"

Всё уже перепробовал. И пытался присваивать переменной null или необходимое фиксированное значение. Не помогает. С формой регистрации никаких проблем не было, хотя делал по тому же принципу.

loginUser.php
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
    require_once '../includes/DbOp.php';
    $response = array();
    if($_SERVER['REQUEST_METHOD']=='POST'){
        if(isset($_POST['username']) and isset($_POST['password'])){
            $db = new DbOp();
            
            if($db->loginUser($_POST['username'] and $_POST['password'])){
                $user = $db->getUsername($_POST['username']);
                $response['error'] = false;
                $response['id'] = $user['id'];
                $response['email'] = $user['mail'];
                $response['username'] = $user['name'];
            } else {
                $responce['error'] = true;
                $response['message'] = "Неверное имя логина или пароль.";
            }
        } else {
            $responce['error'] = true;
            $response['message'] = "Запрос не принят сервером.";
        }
    }
    echo json_encode($response, JSON_UNESCAPED_UNICODE);


DbOp.php
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
    class DbOp{
        private $con;
        function __construct(){
            require_once dirname(__FILE__).'/DbConnect.php';
            $db = new DbConnect();
            $this->con = $db->connect();
        }
        public function createUser($username, $pass, $email){
            if($this->existUser($username, $email)){
                return 0;
            }else{
                $password = md5($pass);
                $stmt = $this->con->prepare("INSERT INTO `users` (`id`, `name`, `pass`, `mail`, `friends`, `ls`, `groups`, `news`, `latlng`) VALUES (NULL, ?, ?, ?, '0', '0', '0', '0', '55.22, 55.22');");
                $stmt->bind_param("sss",$username,$password,$email);
                if($stmt->execute()){
                    return 1;
                } else {
                    return 2;
                }
            }
        }
        public function loginUser($username, $pass){
            $password = md5($pass);
            $stmt = $this->con->prepare("SELECT id FROM users WHERE name = ? AND pass = ?");
            $stmt->bind_param("ss",$username,$password);
            $stmt->execute();
            $stmt->store_result();
            return $stmt->num_rows > 0;
        }
        
        public function getUsername($username){
            $stmt = $this->con->prepare("SELECT * FROM users WHERE name = ?");
            $stmt->bind_param("s",$username);
            $stmt->execute;
            return $stmt->get_result()->fetch_assoc();
        }
        
        private function existUser($username, $email){
            $stmt = $this->con->prepare("SELECT id FROM users WHERE name = ? OR mail = ?");
            $stmt->bind_param("ss",$username,$email);
            $stmt->execute();
            $stmt->store_result();
            return $stmt->num_rows > 0;
        }
    }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2018, 18:39
Ответы с готовыми решениями:

Зачем передаётся второй аргумент функции date?
Привет пацаны. Ниже пример не могу понять что означает $date Вот ниже пример function...

Добавить аргумент при вызове функции при условии
Привет! Появился вопрос - можно ли добавить либо не добавлять аргумент при вызове функции исходя...

Отсутствует аргумент инициализации
Добрый день Эксперементирую с инициализацией полей класса class ContactInfo { ...

Ошибка: отсутствует аргумент
Visual studio пишет что в строке 24 отсутствует аргумент, соответствующий формальному параметру 'Y'...

2
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
24.01.2018, 19:08 2
Лучший ответ Сообщение было отмечено marinad777 как решение

Решение

Цитата Сообщение от marinad777 Посмотреть сообщение
$db->loginUser($_POST['username'] and $_POST['password'])
Это что такое?
1
1 / 1 / 0
Регистрация: 22.10.2016
Сообщений: 12
24.01.2018, 19:15  [ТС] 3
Jewbacabra, Оператор and, которого тут быть не должно. Спасибо, что ткнул носом. Такую ерунду не смог найти...
0
24.01.2018, 19:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.01.2018, 19:15
Помогаю со студенческими работами здесь

Ошибка Отсутствует аргумент DbContextOptions
Помогите решить ошибку CS7036 Отсутствует аргумент, соответствующий требуемому формальному...

Отсутствует аргумент требуемому формальному параметру
Здрасте хакеры. Нужна помощь, сидел делал наследование, но выдало ошибку в конструкторе...

Отсутствует аргумент, соответствующий требуемому формальному параметру
Нужна помощь в решении одной проблемы, а именно: Ошибка CS7036 Отсутствует аргумент,...

Отсутствует аргумент, соответствующий требуемому формальному параметру
Здравствуйте. Вспоминаю ООП в C#, и тут столкнулся с ошибкой: CS7036. Отсутствует аргумент,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru