Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
илья9696
120 / 120 / 70
Регистрация: 15.11.2014
Сообщений: 544
Завершенные тесты: 3
1

Скрипт отправки логина и пароля на сервер

15.05.2016, 14:07. Просмотров 861. Ответов 8
Метки нет (Все метки)

Доброго дня.

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

Вот, что у меня получилось на данные момент

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
<?php
error_reporting(E_ALL);
 
$response = array();
 
$connect = oci_connect("", "","");
if($connect == false)
{
$response['status'] = 'NOT_CONNECT';
}
else
{   
$parseLogPass = oci_parse($connect, 'SELECT ID_CUSTOMER, PASSWORD FROM CUSTOMERS');
$ID_CUSTOMER = $_POST['ID_CUSTOMER'];
$PASSWORD = $_POST['PASSWORD'];
$ex = oci_execute($parseLogPass);
 
if(!$ex)
    {
        $response["status"] = "FAILED";
    }else
    {
        $response["status"] = "SUCCESS";
    }
    oci_free_statement($parseLogPass);
    oci_close($connect);
    $connect = null;
}
echo json_encode($response);
die();
?>
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2016, 14:07
Ответы с готовыми решениями:

Простейший скрипт для проверки логина и пароля
Доброго времени суток! вот &lt;?php $DATA=&quot;Admin&quot;; $DATA=&quot;123456789&quot;; $DATA=&quot;Turn&quot;;...

Скрипт для автоматического ввода логина и пароля для другого сайта
Как сделать скрипт автоматического ввода логина и пароля для другого сайта, допустим у меня есть...

Php-скрипт для отправки данных на сервер
Добрый день, в php профан, не получается сделать никак по заданию. часть сделал, другую никак....

Проверка пароля и логина
Не получается выполнить проверку логина и пароля, должно получится 4 варианта: 1) пароль и логин...

Ввод пароля и логина
Привет Всем! Подскажите пожалуйста, в главном php'ом окне если пользователь не ввел пароль и...

8
Igsit
141 / 141 / 63
Регистрация: 18.07.2014
Сообщений: 473
15.05.2016, 15:03 2
Что возвращает скрипт?
0
илья9696
120 / 120 / 70
Регистрация: 15.11.2014
Сообщений: 544
Завершенные тесты: 3
15.05.2016, 15:06  [ТС] 3
PHP
1
2
3
4
Notice: Undefined index: ID_CUSTOMER in C:\Server\data\htdocs\connect.php on line 14
 
Notice: Undefined index: PASSWORD in C:\Server\data\htdocs\connect.php on line 15
{"status":"SUCCESS"}
Добавлено через 2 минуты
Я просто не знаю как правильно сделать, у меня есть два поля текстовых в приложении, с них отправляю данные, хочу их засунуть в переменные
0
Igsit
141 / 141 / 63
Регистрация: 18.07.2014
Сообщений: 473
15.05.2016, 15:09 4
Значит в POST не пришли данные ID_CUSTOMER и PASSWORD, нужно смотреть кто их передаёт

Добавлено через 48 секунд
Цитата Сообщение от илья9696 Посмотреть сообщение
у меня есть два поля текстовых в приложении, с них отправляю данные
как Вы это делаете? покажите
0
15.05.2016, 15:09
илья9696
120 / 120 / 70
Регистрация: 15.11.2014
Сообщений: 544
Завершенные тесты: 3
15.05.2016, 15:13  [ТС] 5
Это в java, не знаю можно ли сюда писать

Добавлено через 4 минуты
Но с отправкой проблем нету
вот скрипт регистрации и нормально регистрирует, передача такая же как и для логина пароля

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
<?php
error_reporting(0);
$response = array();
$db_connect = oci_connect('','','');
if (!$db_connect)
{
    $response['status'] = 'NOT_CONNECT';
}
else
{
    $stmt = oci_parse($db_connect, 'INSERT INTO CUSTOMERS VALUES
    (:ID_CUSTOMER, :PASSWORD, :FIO, :PHONE, :NUMBER_CAR)');
    OCIBindByName($stmt, ":ID_CUSTOMER", $_POST['ID_CUSTOMER']);
    OCIBindByName($stmt, ":PASSWORD", $_POST['PASSWORD']);
    OCIBindByName($stmt, ":FIO", $_POST['FIO']);
    OCIBindByName($stmt, ":PHONE", $_POST['PHONE']);
    OCIBindByName($stmt, ":NUMBER_CAR", $_POST['NUMBER_CAR']);
    
    $result = oci_execute($stmt);
    if(!$result){
        $response["status"] = "FAILED";
    }else{
        $response["status"] = "SUCCESS";
    }
    oci_free_statement($stmt);
    oci_close($db_connect);
    $db_connect = null;
}
echo json_encode($response);
die();
?>
0
Igsit
141 / 141 / 63
Регистрация: 18.07.2014
Сообщений: 473
15.05.2016, 15:28 6
Ну у Вас не приходит ничего в переменные $_POST['ID_CUSTOMER'] и $_POST['PASSWORD'] сделайте вывод этих переменных и посмотрите что там ничего нет, т.е. они не проинициализированы поэтому и пишет "Undefined index" - неопределённый индекс массива POST. Проблема скорее всего там где отправляется этот POST запрос
0
илья9696
120 / 120 / 70
Регистрация: 15.11.2014
Сообщений: 544
Завершенные тесты: 3
15.05.2016, 17:54  [ТС] 7
Они хоть правильно написаны(переменные )? или мб там по другому как-то нужно

Добавлено через 2 минуты
Естественно в них ничего нет, потому что с клиента в них должны прийти данные, но не приходят

Добавлено через 2 часа 19 минут
Переделал SQL запрос, теперь он правильный. То есть он будет выбирать логин и пароль из БД, по переменным которые должны передаться с клиента. Но они не передаются, я не знаю почему




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
<?php
error_reporting(E_ALL);
$response = array();
 
$connect = oci_connect("system", "admin","5.19.187.230");
if($connect == false)
{
$response['status'] = 'NOT_CONNECT';
}
else
{   
$parseLogPass = oci_parse($connect, "SELECT * FROM CUSTOMERS WHERE ID_CUSTOMER = '{$_POST['ID_CUSTOMER']}' AND PASSWORD = '{$_POST['PASSWORD']}'");
 
    
$result = oci_execute($parseLogPass);
 
if(!$result)
    {
        $response["status"] = "FAILED";
    }else
    {
        $response["status"] = "SUCCESS";
    }
    oci_free_statement($parseLogPass);
    oci_close($connect);
    $connect = null;
}
#$response["ID_CUSTOMER"] = $ID_CUSTOMER;
#$response["PASSWORD"] = $PASSWORD;
echo var_dump($_POST);
echo json_encode($response);
die();
?>
0
Igsit
141 / 141 / 63
Регистрация: 18.07.2014
Сообщений: 473
16.05.2016, 01:06 8
Вот поэтому я и спрашивал Вас о том кто отправляет эти значения, т.е. именно клиент, а Вы мне опять серверный код даёте. Проблема в клиенте, как вы там организовали передачу параметров в POST запросе? Это обычная форма в браузере? или ajax запрос? или это другой php скрипт через curl? или это вообще приложение на андроид? Если данные не попали в POST массив значит сервер их не принял, а это значит что клиент их не передал или передал неправильно

Добавлено через 2 минуты
Цитата Сообщение от илья9696 Посмотреть сообщение
Это в java, не знаю можно ли сюда писать
А вот нашёл Вы оказывается писали про клиента, вот в нём где-то есть проблема, нужно отладить его.
0
илья9696
120 / 120 / 70
Регистрация: 15.11.2014
Сообщений: 544
Завершенные тесты: 3
16.05.2016, 01:27  [ТС] 9
Клиент на андроиде

Добавлено через 18 минут
Вот так передаю в андроиде

Java
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
@SuppressWarnings("deprecation")
public class MainActivity extends AppCompatActivity {
    //
    Button buttonCreateUser, buttonLogin;
    EditText ID_CUSTOMER;
    EditText PASSWORD;
    //
    final static String NOT_CONNECT = "NOT_CONNECT";
    final static String SUCCESS = "SUCCESS";
    final static String FAILED = "FAILED";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        buttonCreateUser = (Button)findViewById(R.id.buttonCreateUser); // кнопка создания пользователей
        buttonLogin = (Button)findViewById(R.id.buttonLogin); // кнопка входа пользователя
        ID_CUSTOMER = (EditText)findViewById(R.id.ID_CUSTOMER);
        PASSWORD = (EditText)findViewById(R.id.PASSWORD);
    }
 
    public void setButtonLogin(View v){
        AsyncTask<String, Void, JSONObject> task = new AsyncTask<String, Void, JSONObject>() {
                @Override
                protected JSONObject doInBackground(String... params) {
                    JSONParser jsonParser = new JSONParser();
                    List<NameValuePair> loginpass = new ArrayList<NameValuePair>();
                    loginpass.add(new BasicNameValuePair("ID_CUSTOMER", params[0]));
                    loginpass.add(new BasicNameValuePair("PASSWORD", params[1]));
                    JSONObject json = jsonParser.makeHttpRequest("http://5.19.187.230/connect.php", JSONParser.POST, loginpass);
                    return json;
                }
                @Override
                protected void onPostExecute(JSONObject result) {
                    if (result != null) {
                        super.onPostExecute(result);
                        String res = "";
                        try {
                            res = result.getString("status");
                            switch (res) {
                                case NOT_CONNECT:
                                    Toast toast_not_connect = Toast.makeText(getApplicationContext(), "Сервер недоступен", Toast.LENGTH_SHORT);
                                    toast_not_connect.setGravity(Gravity.CENTER, 0, 0);
                                    toast_not_connect.show();
                                    break;
 
                                case SUCCESS:
                                    Toast toast_success = Toast.makeText(getApplicationContext(), "Вход выполнен", Toast.LENGTH_SHORT);
                                    toast_success.setGravity(Gravity.CENTER, 0, 0);
                                    toast_success.show();
                                    Intent intentB = new Intent(MainActivity.this, OrdersActivity.class);
                                    startActivity(intentB);
                                    break;
 
                                case FAILED:
                                    Toast toast_failed = Toast.makeText(getApplicationContext(), "Не правильно введен логин\n или пароль", Toast.LENGTH_SHORT);
                                    toast_failed.setGravity(Gravity.CENTER, 0, 0);
                                    toast_failed.show();
                                    break;
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }
            };
            task.execute(ID_CUSTOMER.getText().toString(), PASSWORD.getText().toString());
        }
}
0
16.05.2016, 01:27
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2016, 01:27

Проверка логина и пароля
выдает ошибку Фатальная ошибка: звонок в неопределенную функцию функцию password_verify() ...

Проверка логина и пароля
хай пипл. У меня вот такая задачка. Есть форма, логин и пароль. Нужно, чтоб после заполнения,...

Запись в куки логина и пароля
Подскажите пожалуйста, после авторизации идет запись в куки логина и пароля,в личном кабинете они...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.