-1

Tengo tres archivos:

index.php

require_once('config.php');
require_once('functions.php');
logedIn();

config.php

$conexion = mysqli_connect($mysql_dbhost,$mysql_dbuser,$mysql_dbpass) or die("No se pudo contectar.");
mysqli_select_db($conexion,$mysql_dbname) or die(mysqli_error($conexion));

functions.php

function logedIn() {
    if ($_COOKIE["username"] != "" && $_COOKIE["id_hash"] != "") {
        $hash = test_input($_COOKIE["id_hash"]);
        $query = mysqli_query($conexion,"SELECT username, autologinhash FROM users WHERE autologinhash='$hash'") or die(mysqli_error($conexion));
        $data = mysqli_fetch_row($query);
        
        if ($_COOKIE["username"] === $data[0] && $_COOKIE["id_hash"] === $data[1]) {
            $_SESSION["s_username"] = $data[0];
        }
    }
}

Al ingresar en index.php y si tengo las cookies, el problema lo tengo en el archivo functions.php que me tira el siguiente error:

PHP Warning: mysqli_query() expects parameter 1 to be mysqli

Obviante no me esta haciendo la $conexion en el archivo functions.php

¿como lo arreglo?

BetaM
  • 30,571
  • 7
  • 32
  • 50
  • 2
    El fallo creo que es debido a que `$conexion` no existe en el scope de la función `loggedIn()` – BetaM May 24 '21 at 23:13
  • Es como dice @BetaM. Para poder usar `$conexion` en una función tienes que declararla como parámetro de la misma y pasarla en la llamada. A no ser que estés en un contexto de clase. Para más detalles puedes revisar [esta pregunta](https://es.stackoverflow.com/q/118062/29967). – A. Cedano May 25 '21 at 12:57
  • ¿Responde esto a tu pregunta? [¿Cuál es el ámbito y el ciclo de vida «real» de una variable global en PHP?](https://es.stackoverflow.com/questions/118062/cu%c3%a1l-es-el-%c3%a1mbito-y-el-ciclo-de-vida-real-de-una-variable-global-en-php) – BetaM May 25 '21 at 13:06

0 Answers0