doulang9521 2016-06-03 18:05
浏览 62

什么是查询app inventor发送的用户输入的php脚本? 以及创建此登录页面的块是什么?

I have already setup the blocks in App Inventor to submit data, because previously I did and it worked, however when retrieving data it worked too, except when I realized I have fetched all the data in the table and passed it into TinyDB, then from TinyDB, I compare the texts string that matches the user input.

Yes that allowed me to create a login page, but i was comparing data through App Inventor and not from MySQL. So what I did was I tried sending the strings from App Inventor into the php file, then supposedly it will query which will send out user id, username and password, where the username and password will be matched with the $_GET request from App Inventor(user).

Then the final result would be, the queried data would be then sent to App Inventor either as a row of string, and then I can use TinyDB to store the user id, so that on the next page, i can call the id, then query the user data according to my apps needs.

Here's the code

//Details in asterisk to hide.
<?php
define('DB_SERVER', '******');
define('DB_USERNAME', '*******');
define('DB_PASSWORD', '*******');
define('DB_DATABASE', '*******');
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);






$query = "SELECT user_id, username, user_password FROM User_Login WHERE                                                        username='$username' AND user_password='$password'",
$username = mysqli_real_escape_string($db,$_GET['username']),
$password = mysqli_real_escape_string($db,$_GET['password']);

// Perform Query
$result = mysqli_query($db,$query);

// Check result
// This shows the actual query sent to MySQL, and the error. Useful for     debugging.
if (!$result) {
$message  = 'Invalid query: ' . mysqli_error($db) . "
";
$message .= 'Whole query: ' . $query;
die($message);
}

// Use result
// Attempting to print $result won't allow access to information in the   resource
// One of the mysql result functions must be used

while ($row = mysqli_fetch_assoc($result)) {
echo $row['$username'];
echo $row['username'];
echo $row['user_password'];
}

// Free the resources associated with the result set
// This is done automatically at the end of the script
mysqli_free_result($result);
?>
  • 写回答

1条回答 默认 最新

  • douruanfan3030 2016-06-03 19:46
    关注

    here is one of my database php search files. you welcome to take any of it and use what you want. I went in and added some comments to help with some clarity. Everyone is welcome to make it better. I use it as a template when ever i need to make a search.php

    <?php
    
        mysql_connect("localhost", "root", "12450") or die("Error connecting to database: ".mysql_error());
        /*
            localhost - it's location of the mysql server, usually localhost
            root - your username
            third is your password
    
            if connection fails it will stop loading the page and display an error
        */
    
        mysql_select_db("myDatabase") or die(mysql_error());
        /* tutorial_search is the name of database we've created */
    
         ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Search Results</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    
    <body>
    
    <div data-role="page" id="SearchResultsPage" data-theme="b" data-add-back-btn="true">
        <div data-role="header">
            <h1>Search Results</h1>
        </div>
    
    <?php
    
        $query = $_GET['query']; 
        // gets value sent over search form
    
        $min_length = 3;
        // you can set minimum length of the query if you want
    
        if(strlen($query) >= $min_length){ // if query length is more or equal minimum length then
    
            $query = htmlspecialchars($query); 
            // changes characters used in html to their equivalents, for example: < to &gt;
    
            $query = mysql_real_escape_string($query);
            // makes sure nobody uses SQL injection
    
            $raw_results = mysql_query("SELECT * FROM emplist
                WHERE (`lfname` LIKE '%".$query."%') OR (`id` LIKE '%".$query."%')") or die(mysql_error());
    
            // * means that it selects all fields, you can also write: `id`, `title`, `text`
            // articles is the name of our table
    
            // '%$query%' is what we're looking for, % means anything, for example if $query is Hello
            // it will match "hello", "Hello man", "gogohello", if you want exact match use `title`='$query'
            // or if you want to match just full word so "gogohello" is out use '% $query %' ...OR ... '$query %' ... OR ... '% $query'
    
            if(mysql_num_rows($raw_results) > 0){ // if one or more rows are returned do following
    
                while($results = mysql_fetch_array($raw_results)){
                // $results = mysql_fetch_array($raw_results) puts data from database into array, while it's valid it does the loop
    
                    echo "<h4><p>".$results['lfname']."</h4>"." ".$results['phonenum']." <br> MCI #".$results['id']." <br> ".$results['state']." ".$results['zip']."</p>";
                    // posts results gotten from database
                }
    
            }
            else{ // if there is no matching rows do following
                echo "No results found";
            }
    
        }
        else{ // if query length is less than minimum
            echo "ERROR Minimum length is ".$min_length;
        }
    
    ?>
    
    </body>
    
    <div data-role="content"></div> 
            <input type="button" name="bIndex" value="Back" onclick="location.href='Index.php'">
    <div data-role="footer" data-theme="b">
            <h4>____?____?____?___?____ &copy; 2016</h4>
    </div>
    
    
    </html>
    
    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮