【问题标题】:Send a PHP variable that has a POST to another PHP file将具有 POST 的 PHP 变量发送到另一个 PHP 文件
【发布时间】:2019-05-08 11:24:42
【问题描述】:

我正在做一个通过 AJAX 将用户的 HTML 输入发送到 PHP 的页面,但我需要该信息在经过几次验证后打开另一个 PHP 页面

我尝试将该文件包含在另一个文件中并使用该变量,但我得到“underfined index user”,这是因为我没有在新文件中定义它。

HTML

<div class="wrap-input100 validate-input" data-validate = "Enter username"><input class="input100" type="text" id="user" name="username" placeholder="username">
<span class="focus-input100" data-placeholder="&#xf207;"></span>
</div>

<div class="wrap-input100 validate-input" data-validate="Enter password">
<input class="input100" type="password" id="pass" name="pass" placeholder="password">
<span class="focus-input100" data-placeholder="&#xf191;"></span>
</div>

<div class="container-login100-form-btn">
<a class="login100-form-btn" id = "logBtn">
Login
</a>
</div>      

JS

$('#logBtn').click(function(event){ 
    user = document.getElementById("user").value;
    password = document.getElementById("pass").value;

    $.ajax({
        type:"POST",
        url:"login.php",
        async: false,
        data: {user:user,password:password},
        success: function(data){
            if(data == 'Administrator'){
                window.location.href='../Main/index.php';
             }
             else if(data == 'Emp'){
                window.location.href='../Main/startemp.html';
             }else{
               alert("username or password invalid");
             }
        }
        });
    });

登录.php

<?php
$servername = "localhost";
$username = "root";
$password = "asdadadas";
$dbname = "dsdvvt";

$conn = new mysqli($servername, $username, $password, $dbname);

$user = $_POST['user'];
$pass = $_POST['password'];

$sql = "SELECT * FROM users WHERE email='$user' AND clave='$pass'"; 
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    $sql_1 = "SELECT * FROM users WHERE email='$user' AND clave='$pass' AND permisos='Administrador'";
    $result_1 = mysqli_query($conn, $sql_1);
    if (mysqli_num_rows($result_1) > 0){
        echo "Administrator";
        exit(0);
    }
    else{
        echo "Emp";
        exit(0);
    }

 } else {
    $msg = "Username or password invalid";
    echo $msg;
 }

mysqli_close($conn);
?>

index.php

<?php
include '../Login/login.php';
$one = $user;?>

我需要我在 login.php 中收集的信息将其发送到 index.php,有什么方法可以做到这一点吗?

【问题讨论】:

  • curl 是你要找的
  • @RahulMeshram 我必须在哪个 PHP 文件中使用它?
  • 你为什么不使用form标签?
  • 你的代码容易受到sql注入。
  • 与数据库交互时使用prepared statements防止sql注入

标签: javascript php html mysql ajax


【解决方案1】:

我的建议是使用会话。

开始会话

<?php
session_start();
?>

并像这样分配一个变量:

$_SESSION['user'] = "FlowMafia";

像这样打印一个会话变量。

echo $_SESSION['user'];

更多信息请阅读这篇文章: https://www.php.net/manual/en/intro.session.php

【讨论】:

  • 我在 login.php 中启动会话并在 index.php 中打印它?没有包含?
  • 如果你想访问任何值,你必须总是写 session_start() 。请阅读这篇文章或做一些谷歌搜索。
猜你喜欢
  • 2015-11-05
  • 2018-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多