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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  fallo require en PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: fallo require en PHP  (Leído 2,121 veces)
santi810

Desconectado Desconectado

Mensajes: 21


Ver Perfil
fallo require en PHP
« en: 20 Agosto 2014, 16:15 pm »

En primer lugar pido disculpas si me equivoco de carpeta, no estoy seguro de que esta se la de PHP.

Estoy intentando montar una aplicacion  en php para interactuar con una base de datos MySQL para apuntar varias cosas, como los dias que trabajo.

Al basar en debuger se para aqui:
Código:
require('./extra_funciones.php');
como si no fuera capaz de acceder al archivo, cuando hasta ahora me accedia sin problemas.

He comprobado los nombres y creo que esta todo bien por lo que no entiendo lo que esta fallando, a ver si alguien puede ayudarme y encuentra lo que yo no estoy viendo.

Adjunto los 2 archivos:


index.php:
Código:
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<?php
/* index.php (controlador) */
require('./vista/menu.php');
require('./conexion.php');
require('./extra_funciones.php');
$conexion = abrir_conexion();
if (!$conexion) {
    require('.\vista\error.php');
    exit;
}

if (isset($_POST["engadir"])) {
    $accion = "engadir";
}
switch ($accion) {
    case "engadir":
        $fecha = $_POST["fecha1"];
        $usuario = $_POST["usuario"];
        $sitio = $_POST["sitio"];
        $cobro = $_POST["cobro"];
        $notas = $_POST["notas"];
        $propina = $_POST["propina"];
        $tempo = $_POST["tempo"];
        $pago_asoc = $_POST["pago_asoc"];
        $engadir = engadir_extra($fecha, $usuario, $sitio, $propina, $cobro,
                $notas, $tempo, $pago_asoc);       
break;
}

//require('./vista/pie.php');



extra_funciones.php
Código:
<?php
/* Abre la conexion con la base de datos */ 
function abrir_conexion(){ 
    define("SERVIDOR", "localhost");
    define("USUARIO", "raspberry");
    define("PASS", "cFcE7jSSXsAY6AuY");
    define("BD", "ServidorWeb");
    $conexion = mysqli_connect(SERVIDOR, USUARIO, PASS, BD);
    if ($conexion){
        @mysqli_set_charset($conexion, "UTF8");
    }
    //mysqli_free_result($conexion);
    //mysqli_close($conexion);
    return $conexion;
}
/* Mete en $sitios os nombres dos locales
 * para mostralos no formulario de ingreso*/
function buscar_sitios(){
    $conexion = abrir_conexion();
    $sentencia = "SELECT Nomlocal FROM local";
    $resultado = mysqli_query($conexion, $sentencia);
    if (!$resultado) {
        return FALSE;
    } else {
        while ($fila = mysqli_fetch_assoc($resultado)) {
            $sitios[] = $fila;
        }
        return $sitios;
    }
}
/* Funcion igual a anterior pero saca 2 resultados, ID de usuario e nombre */
function buscar_usuarios(){
    $conexion = abrir_conexion();
    $sentencia = "SELECT Nombre, usuID FROM usuarios";
    $resultado = mysqli_query($conexion, $sentencia);
    if (!$resultado) {
        return FALSE;
    } else {
        while ($fila = mysqli_fetch_assoc($resultado)) {
            $usuarios[] = $fila;
        }
        return $usuarios;
    }
}
// añade os datos de 1 extra, devolve true si se añadiron correctamente
function engadir_extra($fecha, $usuario, $sitio, $propina, $cobro, $notas, $tempo, $pago_asoc){
    $conexion = mysqli_connect(SERVIDOR, USUARIO, PASS, BD);
        $sql = "INSERT INTO `ServidorWeb`.`extras` (`Usuario`, `extraID`, `fecha`,"
                . " `Local`, `tempo`, `precio`, `notas`, `pago_asoc`, `Propina`)"
                . " VALUES (\'$usuario\', NULL, \'$fecha\', \'$sitio\', \'$tempo\', \'$cobro\', \'$notas\', \'$pago_asoc\', \'$propina\');";
        $resultado = mysqli_query($conexion, $sql);
if ($resultado){
            return TRUE;
        }
}
?>


En línea

::: Devil :::


Desconectado Desconectado

Mensajes: 449


¡Lucha por lo que quieres y lo Obtendras!


Ver Perfil
Re: fallo require en PHP
« Respuesta #1 en: 20 Agosto 2014, 21:25 pm »

examples

comillas  ;D  ;D  ;D  ;D  ;D  :-X

require("noexiste.php");


En línea

NI TU NI NADIEN PORDRAN CONMIGO SOY MAS FUERTE QUE LA ENVIDIA.

ESTO ESTA DEDICADO A LOS QUE ME JODEN LA VIDA
#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: fallo require en PHP
« Respuesta #2 en: 20 Agosto 2014, 21:40 pm »

Asegurante de que conexion.php no tiene errores y que el script que tienes permiso de lectura para leer el extra_funciones.php

PD: Los require/include van sin parantesis. No son funciones.
http://php.net/manual/es/function.include.php

Saludos
En línea

santi810

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: fallo require en PHP
« Respuesta #3 en: 20 Agosto 2014, 22:30 pm »

Cambie los parentesis, gracias por el apunte!!


El error persiste y los permisos son 777

Código:
root@raspberrypi:/var/www/beta# ls -l
total 40
drwxrwxrwx 2 nobody users 4096 ago 10 17:57 calendario
-rwxrwxrwx 1 nobody users  398 ago 20 22:24 conexion.php
-rwxrwxrwx 1 nobody users  202 jul 25 23:28 extra_consultar.php
-rwxrwxrwx 1 nobody users 3712 ago 20 15:17 extra_engadir.php
-rwxrwxrwx 1 nobody users 2036 ago 20 15:58 extra_funciones.php
drwxrwxrwx 2 nobody users 4096 jul 31 14:13 images
-rwxrwxrwx 1 nobody users 2299 ago 11 16:23 index.css
-rwxrwxrwx 1 nobody users  970 ago 20 22:24 index.php
drwxrwxrwx 3 nobody users 4096 jul 31 00:37 nbproject
drwxrwxrwx 2 nobody users 4096 jul 31 23:30 vista
root@raspberrypi:/var/www/beta#



En conexion.php no hay ningun error, el debuger lo lee correctamente, adjunto el archivo tambien por si es de utilidad:
Código:
<?php
/* Abre la conexion con la base de datos */
function abrir_conexion(){  
    define("SERVIDOR", "localhost");
    define("USUARIO", "raspberry");
    define("PASS", "++++++");
    define("BD", "ServidorWeb");
    $conexion = mysqli_connect(SERVIDOR, USUARIO, PASS, BD);
    if ($conexion){
        mysqli_set_charset($conexion, "UTF8");
    }
    return $conexion;
}
?>



Las comillas tambien prove a cambiarlas pero no es eso, ademas en el manual de php tambien estan como comillas simples ('').
En línea

crksergio

Desconectado Desconectado

Mensajes: 42


Ðevastador


Ver Perfil WWW
Re: fallo require en PHP
« Respuesta #4 en: 20 Agosto 2014, 23:54 pm »

Fíjate que no estés haciendo un doble require. Es decir, si estás en la página 1, en la cuál haces require de la página 2 y 3, pero en la 2 ya estás haciendo un require de la 3, te va a dar error. Es algo bastante típico.
En línea

santi810

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: fallo require en PHP
« Respuesta #5 en: 21 Agosto 2014, 00:46 am »

No, falla ya en la primera ejecucion
En línea

santi810

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: fallo require en PHP
« Respuesta #6 en: 21 Agosto 2014, 00:57 am »

Vale, la funcion abrir_conexion esta en los dos archivos, por eso me da error!

gracias de todos modos!

Por mi podeis cerrar el hilo, que no se si puedo hacerlo yo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
SQL fallo
PHP
dimitrix 4 2,222 Último mensaje 6 Septiembre 2008, 23:34 pm
por cassiani
Rewrite de .htaccess genera problemas con include() y require()
Desarrollo Web
ZharkD 5 4,034 Último mensaje 12 Julio 2010, 18:01 pm
por ZharkD
[Resuelto] Ayuda con función require()
PHP
Funebrer0 5 2,056 Último mensaje 12 Septiembre 2015, 01:34 am
por Funebrer0
archivo con include y require
PHP
yina07 2 1,854 Último mensaje 31 Enero 2019, 16:13 pm
por #!drvy
[Pregunta]: Rutas absolutas en require, include, etcétera
Desarrollo Web
Leguim 5 2,379 Último mensaje 8 Enero 2020, 01:05 am
por MinusFour
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines