Foros del Web » Programando para Internet » PHP »

Llamada a funciones

Estas en el tema de Llamada a funciones en el foro de PHP en Foros del Web. Tengo un desarrollo en el cual la llamada a las funciones parecen no ejecutarse y se queda colgado el programa. La estructura es la siguiente: ...
  #1 (permalink)  
Antiguo 26/12/2012, 03:56
 
Fecha de Ingreso: diciembre-2010
Ubicación: Madrid alrededores
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Llamada a funciones

Tengo un desarrollo en el cual la llamada a las funciones parecen no ejecutarse y se queda colgado el programa.
La estructura es la siguiente:
raiz (donde está el index.php)
- actions (donde están los .php)
- css (donde están los .css)
- funciones (donde están olos archivos .php de las funciones)
- views (donde están los .html de la presentación de las pantalla de los programas)

Desde index tengo una include ('/funciones/funcion.php')
<?php
session_start();
error_reporting(2);
require ('funciones/funciones.php');
cargaSesion();
include 'views/cabecera.html';
include 'actions/login.php';
include 'views/login.html';
include 'views/pie.html';
?>

Y funciona todo perfectamente.

Luego, desde login.php dirijo con location.href = '<?php echo $_SESSION['HREF']; ?>/actions/agendas_con_dia.php'; a la primera página de la aplicación, y carga los php, html y css correspondientes pero al llamar a una función propia no la ejecuta y se queda parado. He puesto echos de verificación de paso por los sitios y llega siempre hasta la llamada de la primera función que encuentra. También los he puesto en las propias funciones y no aparece niente ni si quiera si son las primeras instrucciones.

La función cargaSesion() tiene el siguiente código

function cargaSesion()
{
$_SESSION['USERS'] = 'root';
$_SESSION['SERVER'] = 'localhost';
$_SESSION['PASS'] = '';
$_SESSION['DATABASE'] = 'clinica';
$_SESSION['HREF'] = 'http://localhost/Clinica';
}
function conecta()
{
echo 'Entra en funcion conecta <br />';
cargaSesion();
$con = mysql_connect($_SESSION['SERVER'], $_SESSION['USERS'], $_SESSION['PASS']);
if (!$con)
{
die('Conexión no realizada.' . mysql_error());
}
echo 'Conectado Funcion <br />';
$db_selected = mysql_select_db($_SESSION['DATABASE'],$con);
if (!$db_selected)
{
die ('No hay ninguna Base de Datos activa.' . mysql_error());
}
echo 'BD activa Funcion <br />';
return $con;
}

¿Alguien puede decirme que demonios estoy haciendo mal?
Si copio la función dentro del .php correspondiente, no hay problema alguno, pero esto no és lo que debe ocurrir. Ello me hace pensar que puede haber una directiva en php.ini o apache que impida las llamas a funciones propias ¿es posible?
Gracias y un saludo a todos.

Última edición por ceinos; 26/12/2012 a las 04:05
  #2 (permalink)  
Antiguo 26/12/2012, 05:53
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Respuesta: Llamada a funciones

Coloca error_reporting(E_ALL) en lugar de error_reporting(2) para ver todos los errores que se producen. Puede que te de una idea de lo que pueda estar pasando.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 26/12/2012, 06:28
 
Fecha de Ingreso: diciembre-2010
Ubicación: Madrid alrededores
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Respuesta: Llamada a funciones

Cita:
Iniciado por David Ver Mensaje
Coloca error_reporting(E_ALL) en lugar de error_reporting(2) para ver todos los errores que se producen. Puede que te de una idea de lo que pueda estar pasando.
Gracias David.
Confirma lo que pensaba; no carga la función. Dice que función no encontrada pero la función existe, no carga ninguna otra excepto desde index.php, que carga todas. El problema parece que está en la dirección de la librería, pero sigo sin encontrar el problema. Include, include_once o require funcionan para los .css y .html pero no para la librería "funciones".

Etiquetas: funciones, html, llamada
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:31.