Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 13.04.2014
Сообщений: 57
1

Передача значения $_SESSION['session_username'] клиенту на JavaScript

29.11.2017, 01:42. Показов 1633. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброй ночи. Написал форму регистрации и входа на мобильном приложении. С него отправляются данные на сервер, где в PHP все обрабатывается.

Как теперь передать значения об успешном входе с передачей сессии на приложение и передать ошибку с выводом на экран в javascript у клиента?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.11.2017, 01:42
Ответы с готовыми решениями:

Возможность записывать значения в $_SESSION при итерации
можно ли при итериции записывать в $_SESSION значения?

Передача значения от сервера к клиенту на ajax
Всем привет, подскажите как решить задачу: отправляю запрос на сервер при помощи jquery $.post, как...

$_post и $_session в форме index.php. передача переменных из $_post в $_session
пока начал это делать... это в качестве примера. есть: <?...

Передача значения из JavaScript в VB Script
Nado opredelit' razreshenije klientskogo ekrana. V JavaScript est' screen.width i screen.height. A...

2
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
02.12.2017, 09:01 2
Возможно сессия будет храниться в кукис и её не нужно отдельно передавать.

Добавлено через 49 секунд
Попробуйте авторизоваться и зайти на скрипт, требующий авторизацию.
0
0 / 0 / 1
Регистрация: 13.04.2014
Сообщений: 57
02.12.2017, 11:00  [ТС] 3
Лучший ответ Сообщение было отмечено SmeRT59 как решение

Решение

Это все у меня есть и работает. Вход и регистрация находится в кейсе. С телефона отправляется параметр и он выполняет действия. Регистрацию я еще переделаю. Но все работает.

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
 
   $hn      = 'secret';
   $un      = 'secret';
   $pwd     = 'secret';
   $db      = 'secret';
   $cs      = 'utf8';
    
    $dsn  = "mysql:host=" . $hn . ";port=3306;dbname=" . $db . ";charset=" . $cs;
    $opt  = array(
                        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
                        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
                        PDO::ATTR_EMULATE_PREPARES   => false,
                       );
    $pdo  = new PDO($dsn, $un, $pwd, $opt);
    
    $key  = strip_tags($_REQUEST['key']);
    $data = array();
    
switch($key)
   {
 
      // Add a new record to the technologies table
      case "regUser":
 
         // Sanitise URL supplied values
         $regName       = filter_var($_REQUEST['full_name'], FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_LOW);
         $regUsername  = filter_var($_REQUEST['username'], FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_LOW);
         $regEmail  = filter_var($_REQUEST['email'], FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_LOW);
         $regPassword  = filter_var($_REQUEST['password'], FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_LOW);
 
         // Attempt to run PDO prepared statement
         try {
            $sql  = "INSERT INTO Users(full_name, username, email, password) VALUES(:full_name, :username, :email, :password)";
            $stmt    = $pdo->prepare($sql);
            $stmt->bindParam(':full_name', $regName, PDO::PARAM_STR);
            $stmt->bindParam(':username', $regUsername, PDO::PARAM_STR);
            $stmt->bindParam(':email', $regEmail, PDO::PARAM_STR);
            $stmt->bindParam(':password', $regPassword, PDO::PARAM_STR);
            $stmt->execute();
 
            echo json_encode(array('Message:' => 'User "' . $regUsername. '" record in database!'));
         }
         // Catch any errors in running the prepared statement
         catch(PDOException $e)
         {
            echo $e->getMessage();
         }
 
      break;
 
 
 
      // Update an existing record in the technologies table
      case "loginUser":
 
        $loginUsername  = filter_var($_REQUEST['username'], FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_LOW);
        $loginPassword  = filter_var($_REQUEST['password'], FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_LOW);
      
        $DB_SERVER = "secret";
        $DB_USER = "secret";
        $DB_PASS = "secret";
        $DB_NAME = "secret";
    
        $con = mysqli_connect("$DB_SERVER","$DB_USER", "$DB_PASS", "$DB_NAME") or die ("cannot connect server ");
        
        echo nl2br("\n Подключение к базе прошло успешно!");
        
        $query =mysqli_query($con, "SELECT * FROM Users WHERE username = '".$loginUsername."'");
        $numrows=mysqli_num_rows($query);
        
        if($numrows!=0){
                
            while($row=mysqli_fetch_assoc($query)){
                    
                $dbusername=$row['username'];
                $dbpassword=$row['password'];
                echo nl2br("\n Пользователь ". $dbusername ." найден! Сейчас производим сравнение паролей...");   
            }
            
            if($loginUsername == $dbusername && $loginPassword == $dbpassword) {
                
                $_SESSION['session_username']=$loginUsername;
                echo nl2br("\n Вход успешно выполнен!");             
    
            } else {
                echo nl2br("\n Ошибка: Пароль неверен!");    
            }
 
      
      
   } else {
       echo json_encode(array('Message:' => 'User not found...'));
   }
   break;
}   
    
?>
Это мой JavaScript в мобильном приложении. ТОже все успешно работает.

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
mport { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Page5Page } from '../page5/page5';
 
import { Headers, Http, RequestOptions } from '@angular/http';
import { AlertController } from 'ionic-angular';
import 'rxjs/add/operator/map';
 
@Component({
  selector: 'page-page4',
  templateUrl: 'page4.html'
})
export class Page4Page {
 
  constructor(public navCtrl: NavController,
  public http: Http, 
  public alertCtrl: AlertController){
  }
  
LoginUser(){
        
    let loginUsername: string = document.forms["loginform"]["username"].value,
        loginPassword: string = document.forms["loginform"]["password"].value,
        body     : string   = "key=loginUser&username=" + loginUsername + "&password=" + loginPassword, 
        fullURL = ('http://pulsesport.xyz/mobileapp/');
        // authHeader = 'Basic '+btoa(this.username+':'+this.password);
        
    console.log("Данные успешно приняты!");     
 
    if ((loginUsername.length != 0) && (loginPassword.length != 0)) {
 
        
            let body     : string   = "key=loginUser&&username=" + loginUsername + "&password=" + loginPassword,
                type     : string   = "application/x-www-form-urlencoded; charset=UTF-8",
                headers  : any      = new Headers({ 'Content-Type': type}),
                options  : any      = new RequestOptions({ headers: headers }),
                url      : any      = fullURL + "loginUser.php";
                                
            console.log("Отправка данных на сервер: " + url);
        
            this.http.post(url, body, options)
            .subscribe(
            data => {}, error => {
            const alert = this.alertCtrl.create({
            title: 'Ошибка обращения',
            subTitle: 'Проблемка...',
            message: error+'\n Адрес: '+url,
            buttons: ['Закрыть']
            });
            alert.present();
    
            });
        
            
    } else {
        alert("Все поля должны быть заполнены!");
    }
 
}
    goToPage5(params){
    if (!params) params = {};
    this.navCtrl.push(Page5Page);
  }
 };
Тоже была идея реализовать через куки, но как это сделать я понятия не имею. Можете помочь?
0
02.12.2017, 11:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2017, 11:00
Помогаю со студенческими работами здесь

Передача значения переменной из php в javascript
Нужно передать переменную из php в javascript,заранее спасибо)

Передача значения переменной из JavaScript в PHP
Здравствуйте, есть код: &lt;a href=&quot;#&quot; class=&quot;but&quot;&gt;Ссылка&lt;/a&gt;&lt;/button&gt; &lt;span id=&quot;span&quot;&gt;&lt;/span&gt; ...

Передача mysqli_connect через $_SESSION
Здравствуйте. Появилась идея передавать $db = mysqli_connect('localhost', 'name', 'password',...

Передача переменной в сеанс $_SESSION?
первый файл:session_start(); if(session_start()) { print(&quot;OK&quot;); } $_SESSION = $UserName;...


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

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