Como meto un include en php

Aquí molestándote de nuevo ya me volví tu cliente... :) disculpa las molestias.
Mira sucede que tengo un código que lo llevan todas mis páginas, que es para checar mis usuarios osea para la seguridad de mi sitio, me vas a decir por que lo haces así y no con sesiones o con cookies por que todo indica que hay algo que estoy omitiendo en la configuración de php y apache y no me funcionan correctamente. Así que opte por hacerla seguridad con bases de datos ademas que el sistema va a trabajar en una intranet y al tiempo que ocupo enchecar los datos en la base de datos casi no se siente.
-------
mira este es el codigo que va en todas mis paguinas---->
function num($cadena)
{
$lon = strlen($cadena);
$sigue = true;
for ($i=0; $i<$lon; $i++)
{ if ($sigue)
{
if($cadena[$i] != " ") $nume .= $cadena[$i];
else $sigue = false;
}
}
return $nume;
}
function usract()
{
global $REMOTE_ADDR;
$ip = $REMOTE_ADDR;
$ahora = time();
require("ini_bd.php");
//borrando los registros de las ip inactivas (24 minutos)
$limite = $ahora-24*60;
$ssql = "delete from control_ip where fecha < ".$limite;
mysql_query($ssql);
$ssql = "select ip, fecha from control_ip where ip = '$ip'";
$result = mysql_query($ssql);
if (mysql_num_rows($result) != 0) $ssql = "update control_ip set fecha = ".$ahora." where ip = '$ip'";
//else $ssql = "insert into control_ip (ip, fecha) values ('$ip', $ahora)";
mysql_query($ssql);
$ssql = "select ip from control_ip where ip = '$ip'";
$result = mysql_query($ssql);
$usuarios = mysql_num_rows($result);
mysql_free_result($result);
if ($usuarios != 0) return true;
else return false;
}
$activo = usract();
if ($activo){ //si esta activo pues mando la pagina sino redirecciono
}
else header ("Location: advertencia.php");
Así lo hago en todas las páginas pero sucede que yo quiero meter las funciones en un include para no poner el código cada vez pero no me sale.
ya metí las funciones en un archivo verifica.php sin los simbolos <? ...?>
y lo mando llamar
<? Include "verifica.php"
$activo = usract();
if ($activo){
?>
//si esta activo pues mando la pagina sino redirecciono
}
else header ("Location: advertencia.php");
Pero no me funciona me manda error en la linea 2 que la función no existe.
Ya le puse los <? ...?> A las funciones en el archivo verifica.php y tampoco funciona me dice lo mismo.
Ya lo mandé llamar con require "verifica.php" pero lo mismo ya no se que hacer. Espero haber formulado bien mi pregunta. Atentamente. Chicomendez

1 Respuesta

Respuesta
1
Es importante que en el archivo en donde defines tus funciones le agregues <? ¿php y?> Ya que cuando
se encuentra el include "archivol.php" se sale del modo PHP y entre al modo html por lo tanto es
necesario obligar a que regrese al modo PHP
¿Tu problema es que no esta cargando el archivo verifica.php o esta cargando otro que no tiene las funciones que tu
quieres utilizar (para saber si lo esta cargando en verifica.php después de <?php pon un mensaje por ejemplo
echo "Cargando desde verifica.php" y corre tu programa principal, cuando llegue a la linea include debes de
ver el mensaje
Puede ser también, que este cargando el archivo pero que el nombre de las funciones este diferente entre verifica.php
y tu programa principal.
Yo hice los siguientes dos archivos (y los probé y funcionan) este se llama verifica.php:
<?php
echo "cargando";
function num($cadena)
{
echo "<br>Mensaje dentro de la funcion num" . $cadena;
return;
}
function usract()
{
echo "<br>usract";
return "<br>Cadena que regreso la funcion usract";
}
?>
Este es el código de "principal.php" aquí incluyo el anterior y utilizo sus funciones (ambos deben estar en la misma ruta):
<?php
include "verifica.php" ;
//llamo a la funcion
num(" <br>Parametro de num");
//llamo la funcion
echo usract();
echo "<br>fin";
?>
Espero que una vez que estos dos ejemplos estén funcionando puedas darte idea por donde va el problema con tu código

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas