Получить конкретную информацию зависит от пользователя, вошедшего в jquery mobile

0

Я разрабатываю мобильное приложение jquery, которое использует php для получения информации из базы данных (например, пользовательский логин). но у меня есть эта проблема: мне нужно отображать определенную информацию из базы данных, зависит от пользователя, зарегистрированного (клиенты и proyects связаны друг с другом по полю "project" в клиентах и "id" в проектах)

Я пытался добавить поле "проект" в запрос "login", но когда я сделал это, приложение не удалось зарегистрировать

Заранее спасибо за вашу помощь

----------- index.html --------------

<!DOCTYPE html>
<html>
<head>
<title>Home</title>
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0"/>
<link rel="stylesheet" href="theme/css/jquery.mobile.min.css" />
<link rel="stylesheet" href="theme/css/surinteractive.min.css" />
<link rel="stylesheet" href="theme/css/jquery.mobile.icons.min.css" />
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>    
<script src="//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.3/jquery.mobile.min.js"></script>
<script src="js/json.js"></script>
</head>
<body>
<div data-role="page" id="login" data-theme="a">
<header data-role="header" data-position="fixed">
    <h1>Sistema de gesti&oacute;n de Requerimientos</h1>
</header>  
<div data-role="content">
    <div id="fm">
        <form id="form">
            <label for="username">User:</label>
            <input type="text" value="" name="username" id="username"/>
            <label for="password">Pass:</label>
            <input type="password" value="" name="password" id="password"/>  
            <a data-role="button" id="login-button" data-theme="a" class="ui-btn-icon-right ui-icon-plus ui-btn-b">
                Sign in
            </a>
        </form>       
    </div>
</div>    
<footer data-role="footer" data-position="fixed" id="footer">
    <p>&copy; Copyright 2014 </p>
</footer>   
</div>
<div data-role="page" id="menu" data-theme="a">
<header data-role="header" data-position="fixed">
    <a href="#login" data-transition="slide" data-role="button" class="b_nuevo">Back</a>
            <h3>Bugs List</h3>
</header>
<div data-role="content">
    <h3>Welcome: </h3>
    <ul data-role="listview" data-inset="true">
         <li><a href="bugs/errors.html" data-transition="slide">Create a bug</a></li>
         <li><a href="enh/enhacements.html" data-transition="slide">Create an enhacement</a></li>
    </ul>      
</div>
<footer data-role="footer" data-position="fixed" id="footer">
    <p>&copy; Copyright 2014</p>
</footer>
</div> 
</body>
</html>

------------------ json.js --------------------------

$(document).on('pagebeforeshow', '#login', function(){ 


$('#login-button').on('click', function(){


    if($('#username').val().length > 0 && $('#password').val().length > 0){


        userObject.username = $('#username').val(); 
        userObject.password = $('#password').val();


        var outputJSON = JSON.stringify(userObject);


        ajax.sendRequest({action : 'login', outputJSON : outputJSON});

    } else {

        alert('Please fill all requested information');

    }
});    
});


var ajax = {

sendRequest:function(save_data){

    var address = null;

    //address = 'http://127.0.0.1/app/inc/userValidation.php?jsoncallback=?';

    $.ajax({url: address,
        crossDomain: true,
        data: save_data,
        async: true,
        beforeSend: function() {
            // This callback function will trigger before data is sent
            $.mobile.loading('show', {theme:"a", text:"Initializing...", textonly:true, textVisible: true});
        },
        complete: function() {
            // This callback function will trigger on data sent/received complete
            $.mobile.loading('hide');
        },
        success: function (result) {
            if(result == "true") {
                $.mobile.changePage( "#menu", { transition: "slide"} ); 



            } else {
                alert('Invalid login. Please try again!'); // In case result is false throw an error
            }
            // This callback function will trigger on successful action
        },
        error: function (request,error) {

            // This callback function will trigger on unsuccessful action                
            alert('Connection error, please try again');

        }
    });
}

}

// We will use this object to store username and password before we serialize it and send to     server. This part can be done in numerous ways but I like this approach because it is simple
var userObject = {
username : "",
password : ""
}

------------ userValidation.php -------------------

<?php

$jsonObject = json_decode($_REQUEST['outputJSON']); // Decode JSON object into readable PHP object

$username = $jsonObject->{'username'}; // Get username from object
$password = $jsonObject->{'password'}; // Get password from object

$connection = null;


$connection = new mysqli('127.0.0.1', 'xxxx', 'xxxx', 'xxxx'); 


$query = "SELECT * FROM clients WHERE username = '".$username."' and password = '".$password."'";

$result = mysqli_query($connection,$query);

$num = mysqli_affected_rows($connection);

if($num != 0) {
    echo "true";
} else {
    echo "false";        
}
?>

База данных (структура и взаимосвязь)

идентификатор клиентов, имя, имя пользователя, пароль, projectid, статус, create_date

проекты id, проект, описание, технологии, статус, create_date

bugs id name projectid, type, environment, description, status, creation_date

projectid.clients = id.projects

id.projects = projectid.bugs

Цель: сохранить имя пользователя в глобальной переменной, подлежащей восстановлению на другой странице.

  • 0
    Покажите нам код
  • 0
    Я добавляю типичный пользовательский вход в систему, но проблема в том, как мне сохранить проект из таблицы клиента на других страницах, чтобы использовать его в запросе, чтобы перечислить конкретные ошибки, созданные этим пользователем, связанные с его собственным проектом .... например (пользователь csheen / projectid: 1 / ошибки, созданные ранее для проекта 1: 10) ... пользователь: rgiggs / projectid: 2 / / ошибки, созданные ранее для проекта 2: 4)
Показать ещё 7 комментариев
Теги:
mysqli
jquery-mobile

1 ответ

0
Лучший ответ

Наконец, я решил эту проблему, создав новую схему, называемую сеансами, когда пользователь подписывает ее в приложении, она будет храниться в этой схеме. После этого, если пользователь хочет получить список ошибок, будет создано новое предложение sql для соединения "сеансов" в этом поиске

Ещё вопросы

Сообщество Overcoder
Наверх
Меню