| 
	
		|  Autor | Tema: fallo require en PHP  (Leído 2,652 veces) |  
	| 
			| 
					
						| santi810 
								
								 Desconectado 
								Mensajes: 21
								
								
								
								
								
								   | 
 
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: 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: <!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 <?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 
								Mensajes: 449
								
								 
								¡Lucha por lo que quieres y lo Obtendras!
								
								
								
								
								
								   | 
 
 
 |  
						| 
								|  |  
								|  |  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 | 
 
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 
								Mensajes: 21
								
								
								
								
								
								   | 
 
Cambie los parentesis, gracias por el apunte!! El error persiste y los permisos son 777 root@raspberrypi:/var/www/beta# ls -ltotal 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: <?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 
								Mensajes: 42
								
								 
								Ðevastador
								
								
								
								
								
								     | 
 
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 
								Mensajes: 21
								
								
								
								
								
								   | 
 
No, falla ya en la primera ejecucion |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| santi810 
								
								 Desconectado 
								Mensajes: 21
								
								
								
								
								
								   | 
 
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 | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | SQL fallo PHP
 | dimitrix | 4 | 2,640 |  6 Septiembre 2008, 23:34 pm por cassiani
 |  
						|   |   | Rewrite de .htaccess genera problemas con include() y require() Desarrollo Web
 | ZharkD | 5 | 4,725 |  12 Julio 2010, 18:01 pm por ZharkD
 |  
						|   |   | [Resuelto] Ayuda con función require() PHP
 | Funebrer0 | 5 | 2,719 |  12 Septiembre 2015, 01:34 am por Funebrer0
 |  
						|   |   | archivo con include y require PHP
 | yina07 | 2 | 2,370 |  31 Enero 2019, 16:13 pm por #!drvy
 |  
						|   |   | [Pregunta]: Rutas absolutas en require, include, etcétera Desarrollo Web
 | Leguim | 5 | 3,348 |  8 Enero 2020, 01:05 am por MinusFour
 |    |