代码不在内部工作的函数内部工作

时间:2015-12-25 11:29:54

标签: php

<?php

include 'config.php';

function getid()
{
    $fname = @$_POST['fname'];
    $lname = @$_POST['lname'];
    $email = @$_POST['email'];
    $password = @$_POST['password'];

    if (@$_POST['login'])
    {
        $qry = "insert into register values (NULL, '$fname', '$lname',   
        '$email', '$password')";

        mysqli_query($conn, $qry);  
    }
};

在存在html的另一个文件中调用该函数:

include 'Config\api.php';

getid($conn, $_POST);

getid();

考虑到代码在函数之外工作,这意味着连接正在工作,编码或变量没有问题。谢谢。

2 个答案:

答案 0 :(得分:1)

您的功能$data = $_POST; while(ob_get_level()) ob_end_clean(); header('Connection: close'); ignore_user_abort(); ob_start(); $size = ob_get_length(); header("Content-Length: $size"); ob_end_flush(); flush(); 无法访问全局变量getid()。你可以使定义它的函数可以访问它:

$conn

或者在调用函数时将其作为变量传递:

function getid()
{
  global $conn;
  //Now you can use it inside the function.
}

答案 1 :(得分:0)

$_POST正在此功能中使用。您需要通过$_POST&amp; $conn运作。

改变
function getid()

function getid($conn, $_POST)

然后将其称为getid($conn, $_POST);

注意:您必须在表单提交时调用此函数。