elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  paginas incluidas no funcionan correctamente
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: paginas incluidas no funcionan correctamente  (Leído 8,688 veces)
gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: paginas incluidas no funcionan correctamente
« Respuesta #10 en: 30 Septiembre 2014, 23:37 pm »

Si te refieres a listar los archivos y con sus rustas completas, aqui va:

/ includes -> config.php
               -> db_connect.php
               -> functions.php

/ themes/default/views/layouts  -> main.php

/ views/site -> login.php

Si, los archivos estan en su sitio y los nombres estan bien.

Ese error me lo dio antes cuando cambie la ruta a './db_connect.php' pero era mas largo el mensaje o creo que era el segundo que mostraba, ya no me acuerdo.


En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: paginas incluidas no funcionan correctamente
« Respuesta #11 en: 1 Octubre 2014, 00:03 am »

Agrega:

Código
  1. if(isset($mysqli)){
  2. var_dump($mysqli);
  3. }

Al final de db_connect.php, correlo y pega el output.

Mueve ese mismo código después a functions.php justo despues del require_once a db_connect.php, correlo y pega el output.


En línea

gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: paginas incluidas no funcionan correctamente
« Respuesta #12 en: 1 Octubre 2014, 01:01 am »

el de db_connect.php:
Código
  1. object(mysqli)#1 (19) { ["affected_rows"]=> int(0) ["client_info"]=> string(79) "mysqlnd 5.0.11-dev - 20120503 - $Id: bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $" ["client_version"]=> int(50011) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0) { } ["field_count"]=> int(0) ["host_info"]=> string(20) "localhost via TCP/IP" ["info"]=> NULL ["insert_id"]=> int(0) ["server_info"]=> string(6) "5.6.20" ["server_version"]=> int(50620) ["stat"]=> string(134) "Uptime: 22348 Threads: 1 Questions: 657 Slow queries: 0 Opens: 71 Flush tables: 1 Open tables: 64 Queries per second avg: 0.029" ["sqlstate"]=> string(5) "00000" ["protocol_version"]=> int(10) ["thread_id"]=> int(554) ["warning_count"]=> int(0) }

el de functions.php:
Código
  1. string(5) "00000" ["protocol_version"]=> int(10) ["thread_id"]=> int(555) ["warning_count"]=> int(0) } object(mysqli)#1 (19) { ["affected_rows"]=> int(-1) ["client_info"]=> string(79) "mysqlnd 5.0.11-dev - 20120503 - $Id: bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $" ["client_version"]=> int(50011) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0) { } ["field_count"]=> int(0) ["host_info"]=> string(20) "localhost via TCP/IP" ["info"]=> NULL ["insert_id"]=> int(0) ["server_info"]=> string(6) "5.6.20" ["server_version"]=> int(50620) ["stat"]=> string(134) "Uptime: 22459 Threads: 1 Questions: 660 Slow queries: 0 Opens: 71 Flush tables: 1 Open tables: 64 Queries per second avg: 0.029" ["sqlstate"]=> string(5) "00000" ["protocol_version"]=> int(10) ["thread_id"]=> int(555) ["warning_count"]=> int(0) }

Eso es con el include($_SERVER['DOCUMENT_ROOT'] . '/includes/db_connect.php'); en login.php y en main.php junto con el require_once a functions.php
« Última modificación: 1 Octubre 2014, 01:04 am por gAb1 » En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: paginas incluidas no funcionan correctamente
« Respuesta #13 en: 1 Octubre 2014, 01:18 am »

el de db_connect.php:
Código
  1. object(mysqli)#1 (19) { ["affected_rows"]=> int(0) ["client_info"]=> string(79) "mysqlnd 5.0.11-dev - 20120503 - $Id: bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $" ["client_version"]=> int(50011) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0) { } ["field_count"]=> int(0) ["host_info"]=> string(20) "localhost via TCP/IP" ["info"]=> NULL ["insert_id"]=> int(0) ["server_info"]=> string(6) "5.6.20" ["server_version"]=> int(50620) ["stat"]=> string(134) "Uptime: 22348 Threads: 1 Questions: 657 Slow queries: 0 Opens: 71 Flush tables: 1 Open tables: 64 Queries per second avg: 0.029" ["sqlstate"]=> string(5) "00000" ["protocol_version"]=> int(10) ["thread_id"]=> int(554) ["warning_count"]=> int(0) }

el de functions.php:
Código
  1. string(5) "00000" ["protocol_version"]=> int(10) ["thread_id"]=> int(555) ["warning_count"]=> int(0) } object(mysqli)#1 (19) { ["affected_rows"]=> int(-1) ["client_info"]=> string(79) "mysqlnd 5.0.11-dev - 20120503 - $Id: bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $" ["client_version"]=> int(50011) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0) { } ["field_count"]=> int(0) ["host_info"]=> string(20) "localhost via TCP/IP" ["info"]=> NULL ["insert_id"]=> int(0) ["server_info"]=> string(6) "5.6.20" ["server_version"]=> int(50620) ["stat"]=> string(134) "Uptime: 22459 Threads: 1 Questions: 660 Slow queries: 0 Opens: 71 Flush tables: 1 Open tables: 64 Queries per second avg: 0.029" ["sqlstate"]=> string(5) "00000" ["protocol_version"]=> int(10) ["thread_id"]=> int(555) ["warning_count"]=> int(0) }

Eso es con el include($_SERVER['DOCUMENT_ROOT'] . '/includes/db_connect.php'); en login.php y en main.php junto con el require_once a functions.php

No hagas el include desde login.php... el propósito es encontrar porque no funciona al importar solamente functions.php...
En línea

gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: paginas incluidas no funcionan correctamente
« Respuesta #14 en: 1 Octubre 2014, 01:30 am »

solo con el include en main.php

Código
  1. object(mysqli)#1 (19) { ["affected_rows"]=> int(0) ["client_info"]=> string(79) "mysqlnd 5.0.11-dev - 20120503 - $Id: bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $" ["client_version"]=> int(50011) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0) { } ["field_count"]=> int(0) ["host_info"]=> string(20) "localhost via TCP/IP" ["info"]=> NULL ["insert_id"]=> int(0) ["server_info"]=> string(6) "5.6.20" ["server_version"]=> int(50620) ["stat"]=> string(135) "Uptime: 24111 Threads: 1 Questions: 1985 Slow queries: 0 Opens: 71 Flush tables: 1 Open tables: 64 Queries per second avg: 0.082" ["sqlstate"]=> string(5) "00000" ["protocol_version"]=> int(10) ["thread_id"]=> int(1057) ["warning_count"]=> int(0) } object(mysqli)#1 (19) { ["affected_rows"]=> int(-1) ["client_info"]=> string(79) "mysqlnd 5.0.11-dev - 20120503 - $Id: bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $" ["client_version"]=> int(50011) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0) { } ["field_count"]=> int(0) ["host_info"]=> string(20) "localhost via TCP/IP" ["info"]=> NULL ["insert_id"]=> int(0) ["server_info"]=> string(6) "5.6.20" ["server_version"]=> int(50620) ["stat"]=> string(135) "Uptime: 24111 Threads: 1 Questions: 1986 Slow queries: 0 Opens: 71 Flush tables: 1 Open tables: 64 Queries per second avg: 0.082" ["sqlstate"]=> string(5) "00000" ["protocol_version"]=> int(10) ["thread_id"]=> int(1057) ["warning_count"]=> int(0) } object(mysqli)#2 (19) { ["affected_rows"]=> int(0) ["client_info"]=> string(79) "mysqlnd 5.0.11-dev - 20120503 - $Id: bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $" ["client_version"]=> int(50011) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0) { } ["field_count"]=> int(0) ["host_info"]=> string(20) "localhost via TCP/IP" ["info"]=> NULL ["insert_id"]=> int(0) ["server_info"]=> string(6) "5.6.20" ["server_version"]=> int(50620) ["stat"]=> string(135) "Uptime: 24111 Threads: 2 Questions: 1988 Slow queries: 0 Opens: 71 Flush tables: 1 Open tables: 64 Queries per second avg: 0.082" ["sqlstate"]=> string(5) "00000" ["protocol_version"]=> int(10) ["thread_id"]=> int(1058) ["warning_count"]=> int(0) }

Código
  1. Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\themes\default\views\layouts\main.php:45) in C:\xampp\htdocs\includes\functions.php on line 28
  2.  
  3. Warning: session_regenerate_id(): Cannot regenerate session id - headers already sent in C:\xampp\htdocs\includes\functions.php on line 29
  4.  
  5. Notice: Undefined variable: mysqli in C:\xampp\htdocs\views\site\login.php on line 6
  6.  
  7. Fatal error: Call to a member function prepare() on a non-object in C:\xampp\htdocs\includes\functions.php on line 155

Sin el include en main.php solo aparecen los dos errores de siempre.
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: paginas incluidas no funcionan correctamente
« Respuesta #15 en: 1 Octubre 2014, 01:47 am »

Debe ser un problema de visibilidad por la función showContent()...

¿Porque no pones más código para ver todo? Siento que en un lugar estás encapsulando código y otras partes del script no ven las variables. Sobre todo por la manera tan extraña en la que estás llamando a una funcion que no ha sido declarada en ese archivo.
En línea

gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: paginas incluidas no funcionan correctamente
« Respuesta #16 en: 1 Octubre 2014, 02:02 am »

Claro, las funciones las declaro en functions.php para no tenerlas en los archivos de contenido visual.

La función showContent() de index.php ya sabes cual es, haciendo un include() normal al archivo y mostrandolo dentro de main.php que es incluido dentro de index.php, pero eso ya lo sabes.

main.php es un archivo de estructura html5 con etiquetas <?php ?> para llamar funciones o scripts para el menu de navegación, etc. Por ejemplo, el primer error de antes en main.php:45

Esto es lo que hay:
Código
  1. <?php if (isset($_SESSION['username'])) {
  2.    // muestra opciones del menu
  3. } else {
  4.       // muestra otras opciones del menu
  5. }
  6. ?>

Y esto es lo que hay de las lineas de error de functions.php:28 y 29
Código
  1. function sec_session_start() {
  2.    $session_name = 'sec_session_id';   // Set a custom session name
  3.    $secure = SECURE;
  4.    // This stops javascript being able to access the session id.
  5.    $httponly = true;
  6.    // Forces sessions to only use cookies.
  7.    if (ini_set('session.use_only_cookies', 1) === FALSE) {
  8.        header("Location: /error?err=Could not initiate a safe session (ini_set)");
  9.        exit();
  10.    }
  11.    // Gets current cookies params.
  12.    $cookieParams = session_get_cookie_params();
  13.    session_set_cookie_params($cookieParams["lifetime"],
  14.        $cookieParams["path"],
  15.        $cookieParams["domain"],
  16.        $secure,
  17.        $httponly);
  18.    // Sets the session name to the one set above.
  19.    session_name($session_name);
  20.    session_start();            // Start the PHP session  LINEA 28
  21.    session_regenerate_id();    // regenerated the session, delete the old one. 29
  22. }

Las dos ultimas lineas son las del error de antes.

Y la famosa función login_check del non-object error:
Código
  1. function login_check($mysqli) {
  2.    // Check if all session variables are set
  3.    if (isset($_SESSION['user_id'],
  4.                        $_SESSION['username'],
  5.                        $_SESSION['login_string'])) {
  6.  
  7.        $user_id = $_SESSION['user_id'];
  8.        $login_string = $_SESSION['login_string'];
  9.        $username = $_SESSION['username'];
  10.  
  11.        // Get the user-agent string of the user.
  12.        $user_browser = $_SERVER['HTTP_USER_AGENT'];
  13.  
  14.        if ($stmt = $mysqli->prepare("SELECT password  // ESTA ES LA LINEA 155
  15.                                      FROM members
  16.                                      WHERE id = ? LIMIT 1")) {
  17.            // Bind "$user_id" to parameter.
  18.            $stmt->bind_param('i', $user_id);
  19.            $stmt->execute();   // Execute the prepared query.
  20.            $stmt->store_result();
  21.  
  22.            if ($stmt->num_rows == 1) {
  23.                // If the user exists get variables from result.
  24.                $stmt->bind_result($password);
  25.                $stmt->fetch();
  26.                $login_check = hash('sha512', $password . $user_browser);
  27.  
  28.                if ($login_check == $login_string) {
  29.                    // Logged In!!!!
  30.                    return true;
  31.                } else {
  32.                    // Not logged in
  33.                    return false;
  34.                }
  35.            } else {
  36.                // Not logged in
  37.                return false;
  38.            }
  39.        } else {
  40.            // Not logged in
  41.            return false;
  42.        }
  43.    } else {
  44.        // Not logged in
  45.        return false;
  46.    }
  47. }

Aqui el prepare() es el que da ese error, que tambien lo uso en otras paginas y tambien da errores...

No sé donde puede estar el problema, conoces la estructura basica de como funciona todo y las funciones son de la web esa que puse antes.

Si necesitas ver algo en especifico dimelo.

Gracias!
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: paginas incluidas no funcionan correctamente
« Respuesta #17 en: 1 Octubre 2014, 02:08 am »

La función showContent() de index.php ya sabes cual es, haciendo un include() normal al archivo y mostrandolo dentro de main.php que es incluido dentro de index.php, pero eso ya lo sabes.

Aquí no veo nada de showContent(), solo se que la declaras en index.php

Código
  1. //include a main.php
  2. //Notese que showContent(); se ejecuta en main.php antes que llegue a la declaracion de abajo.
  3.  
  4. function showContent() {
  5.  
  6. }

Fuera que dices que showContent hace un include, no se que tenga....
En línea

gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: paginas incluidas no funcionan correctamente
« Respuesta #18 en: 1 Octubre 2014, 02:13 am »

Si, en main.php dentro de un div y article (que es el cuerpo del contenido de la pagina incluida):

Código
  1. <?php
  2. include_once($_SERVER['DOCUMENT_ROOT'] . '/index.php');
  3. showContent();
  4. ?>

No se, tantos includes y no puede haber algun error o problema que encapsule parte del codigo y no lo interprete bien?
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: paginas incluidas no funcionan correctamente
« Respuesta #19 en: 1 Octubre 2014, 02:17 am »

Aún no se que haga esa funcion de showContent()...

De hecho, toda tu lógica la tienes que revisar muy bien. Es horrible los laberintos inecesarios que estás haciendo. ¿Cual es el proposito de hacer un include al archivo que rutea?
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crear un Xls con macros incluidas
Programación Visual Basic
yalosabes 8 4,706 Último mensaje 18 Marzo 2011, 10:36 am
por raul338
[Guía oficial] Crear Servidor Privado Rakion [Herramientas Incluidas]
Desarrollo Web
Weeken 0 7,231 Último mensaje 30 Mayo 2012, 06:44 am
por Weeken
No me funcionan correctamente las cadenas de formato « 1 2 »
Programación C/C++
lucaslopez0000 10 4,380 Último mensaje 29 Mayo 2013, 15:10 pm
por lucaslopez0000
Generar Jar con librerias incluidas
Java
BigBear 0 1,360 Último mensaje 26 Febrero 2014, 21:57 pm
por BigBear
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines