dongman2721 2014-03-19 14:33
浏览 72
已采纳

使用phpmyadmin和SQL登录功能

So i've made this login function using PHP and im having trouble asking a question correctly to the phpmyadmin database, basically the question i ask now is "SELECT * FROM User" which only lets the first registered user in the database login.

The question i really want to ask is something like this: fetch the column where the username thats being inputed matches with the column.

This is my take on it:

 "SELECT * FROM User WHERE username = '$_post['username_input']'"

but i just get error message.

How should i ask this question? thanks for the help in advance!

<form method='post'>
    <table>
        <tr><td></td><td><input type='text' name='username_input' /></td></tr>
        <tr><td></td><td><input type='text' name='password_input' /></td></tr>
        <tr><td></td><td><input type='submit' name='submit' value='Logga in' /></td></tr>
    </table>
<form>

<?php
    $link = mysqli_connect ("localhost", "xxxxxxxx", "xxxxxxx", "xxxxxxx");
    $sql_result = $link->query ("SELECT * FROM User");
    $rad = mysqli_fetch_array ($sql_result); 

    $columnuser = $rad['username'];
    $columnpassword = $rad['password'];

    if (isset($_POST['submit'])) {
        if ($_POST['username_input'] == $columnuser && md5 ($_POST['password_input']) == $columnpassword) {
            $_SESSION['log_in'] = true;
            header("Location: administration.php");
        }
        else {
            echo "Fel användarnamn eller lösenord, vänligen försök igen.";
        }
    }
    mysqli_close ($link);
?>
  • 写回答

3条回答 默认 最新

  • doubianyu7844 2014-03-19 14:45
    关注

    What I am thinking you are making mistake in query is concatenation of variable and $_POST is array which is capitalized

    "SELECT * FROM User WHERE username = '".$_POST['username_input']."' "
    

    I hope this solves your problem.

    Edit: The error you might be getting because code runs always, you should have condition in starting as

    <?php
        if (isset($_POST['submit'])) {    
            $link = mysqli_connect ("localhost", "xxxxxxxx", "xxxxxxx", "xxxxxxx");
            $sql_result = $link->query ("SELECT * FROM User WHERE username = '".$_POST['username_input']."' ");
            $rad = mysqli_fetch_array ($sql_result); 
    
            $columnuser = $rad['username'];
            $columnpassword = $rad['password'];
    
    
            if ($_POST['username_input'] == $columnuser && md5 ($_POST['password_input']) == $columnpassword) {
                 $_SESSION['log_in'] = true;
                 header("Location: administration.php");
            }
            else {
                echo "Fel användarnamn eller lösenord, vänligen försök igen.";
            }
            mysqli_close ($link);
        }
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测