PHP - Problemas al momento de subir sistema a hosting

 
Vista:
sin imagen de perfil

Problemas al momento de subir sistema a hosting

Publicado por MAFER (7 intervenciones) el 14/01/2014 08:10:33
Hola . Revise temas relacionados con unos problemas que tengo y no encontre algo parecido por eso abri este tema.

Les comento desarrolle un pequeño sistema en php. En el desarrollo del mismo utilice localhost, XAMPP. Ya lo tengo terminado y en local funciona bien (consultas a la BD, saneamiento de datos, validacion, etc.).

Mi problema surgio cuando decidi subirlo a un hosting que contrate para este fin.
Ya me comunique al respecto con soporte de la empresa del hosting, me dijeron que es un problema de programacion, que tengo que resolver yo mismo.

El problema es lo sig:

Tengo un archivo llamado curs.php en este archivo se enlistan los campos de una tabla. y por cada registro de esta lista se muestran las opciones Eliminar y Editar.

Ejemplo:

Asignatura / Duracion / Clave / EDITAR / ELIMINAR /
-------------------------------------------------------------------------
Matematicas / 8 hrs / Mat-024 / link / link /
Español / 12 hrs / Esp-050 / link / link/

El funcionamiento correcto en localhost es el siguiente:
Localhost yo lo programe para que al dar clic la opcion ELIMINAR, se desplegara una ventana de confirmacion, en la cual el usuario confirma la eliminacion dando clic en boton ACEPTAR. al hacer esto se borra el registro y al mismo tiempo se recarga la pagina automaticamente, mostrando los registros actualizados.

Ya al subirlo al hosting pasa lo siguiente:
Al dar clic en la opcion de ELIMINAR se despliega una venta emergente con javascript en la cual se pide la confirmacion para eliminar el registro. (Hasta aqui todo bien)
Pero al dar clic en ACEPTAR la pagina del listado desaparece y aparece una pagina en blanco sin ningun mensaje de error ni nada. Y no procede a eliminar el registro de la BD


El otro problema que tengo es que al querer editar un registro en la pagina de Edicion; ya que edito los campos y doy clic en boton GUARDAR CAMBIOS, no aparece el mensaje que dice: "Cambios Guardados" y tampoco regresa a la pagina del listado curs.php. Aunque aqui si se guardan los cambios pero tengo que salir hasta el menu principal del sistema y regresar a la pagina de curs.php para ver los cambios.

En cambio en el servidor local al dar clic en Gardar Cambios, se mostraba un mensaje que dice "Cambios Guardados" y automaticamente se cargaba la pagina curs.php mostrando los cambios ya realizados.


Codigo de CURS.PHP :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php echo $rsEmp['asignatura']; ?>
<?php echo $rsEmp['duracion']; ?>
<?php echo $rsEmp['clave']; ?>
<a href="#" onclick="delEmpresa(<?php echo $rsEmp['id']; ?>);"><img src="../../imagenes/icos/eliminar.png" width="20" height="20" alt="Eliminar Registro" title="Eliminar Registro"></a>
 
<a href="editar.php?id=<?php echo $rsEmp['id']; ?>"><img src="../../imagenes/icos/editar.png" width="20" height="20" alt="Editar Registro" title="Editar Registro">
 
 
 
//Este script es para que al dar clic en Eliminar se abra una ventana de confirmacion.
 
<script type="text/javascript">
function delEmpresa(id) {
if (window.confirm("¡ A T E N C I O N !\n¿Quiere eliminar el curso seleccionado?")) {
window.location = "delete.php?action=del&id="+id;
}
}
</script>

Codigo del archivo delete.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
require ("../../clases/conexion.php");
require("../../clases/funciones.php");
 
$idempresa = getParam($_GET["id"], "-1");
$action = getParam($_GET["action"], "");
 
if ($action == "del") {
$sql = "DELETE * FROM courses WHERE id = ".sqlValue($idempresa, "int");
mysql_query($sql, $conexion);
header("location: curs.php");
 
}
?>

Esto es raro para mi, ya que investigue sobre estos problemas y aun no encuentro una solucion , si me pudieran dar algun consejo o sugerencia sera bien recibida.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problemas al momento de subir sistema a hosting

Publicado por xve (6935 intervenciones) el 14/01/2014 09:14:33
Hola Mafer, la verdad es que sin poder probar el código es muy difícil de saber que puede estar pasando... entiendo que están los errores deshabilitados en el hosting y no ves que te esta pasando.

Yo te diría que habilitaras los errores del php...

mira este mensajes, aquí es para deshabiitar, pero te servirá para habilitar los errores
http://www.lawebdelprogramador.com/foros/PHP/1395996-[solucionado]_Como_desactivar_los_warning,_notice_y_error_de_PHP.html

Si nos puedes comentar...

Yo lo que veo estraño, son las funciones getParam(), que no se muy bien que hacen...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problemas al momento de subir sistema a hosting

Publicado por MAFER (7 intervenciones) el 15/01/2014 18:40:33
ya habilite los errores y envio el sig warning:

Warning: Cannot modify header information - headers already sent by (output started at /home2/csiyccom/public_html/sicobpc/clases/conexion.php:7) in /home2/csiyccom/public_html/sicobpc/modulos/courses/del.php on line 15

la linea 7 del archivo conexion.php no contiene ningun dato

la linea 15 del.php es la sig:

header("location: curs.php"); al parecer tiene conflictos con header

getParam(), filtra los datos enviados por el usuario y define un valor por defecto si e , usuario no envia ningun valor se asigna -1 ***** YA verifique getparam y no es el problema ... al parecer es header
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problemas al momento de subir sistema a hosting

Publicado por xve (6935 intervenciones) el 15/01/2014 20:12:39
Hola MAFER, has habilitado también los errores? o solamente los Warning?

El problema es que tu código, envía algún valor al navegador, por eso da el Warning al intentar saltar de página.
Esto puede ser por dos cosas... una porque haya algun echo o codigo html, o porque haya algún error en el código.

Podría ser que no se conectara con la base de datos? y mostrar algún error al ejecutar la query?
Nos puedes mostrar el contenido de los archivos conexion.php y funciones.php?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problemas al momento de subir sistema a hosting

Publicado por MAFER (7 intervenciones) el 16/01/2014 03:03:24
Gracias por tu atencion. Ya habilite todos los errores utilizo : error_reporting(E_ALL);

Te muestro el codigo de funciones.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

<?php

function getParam($param, $default) {
	$result = $default;
	if (isset($param)) {
  		$result = (get_magic_quotes_gpc()) ? $param : addslashes($param);
	}
	return $result;
}
function sqlValue($value, $type) {
  $value = get_magic_quotes_gpc() ? stripslashes($value) : $value;
  $value = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($value) : mysql_escape_string($value);
  switch ($type) {
    case "text":
      $value = ($value != "") ? "'" . $value . "'" : "NULL";
      break;
    case "int":
      $value = ($value != "") ? intval($value) : "NULL";
      break;
    case "double":
      $value = ($value != "") ? "'" . doubleval($value) . "'" : "NULL";
      break;
    case "date":
      $value = ($value != "") ? "'" . $value . "'" : "NULL";
      break;
  }
  return $value;
}
?>

Te comento en localhost no me da ningun problema ni detalle


codigo de conexion.php

1
2
3
4
5
<?php
$conexion = mysql_connect("localhost", "ciys-ady0k9", "Ed&p89TcC*E2s") or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db("ciys-consultory", $conexion);
 
?>

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problemas al momento de subir sistema a hosting

Publicado por MAFER (7 intervenciones) el 16/01/2014 08:12:43
S O L U C I O N A D O

Encontre el problema del header (Location .... );


Encontre que en PHP no se puede realizar una redirección de página cuando se ha mandado contenido al navegador web, pero si la redirección depende de algo que se controla posteriormente a la generación de contenido HTML, se puede utilizar buffer.

Como ocupaba variables que contenian la informaicon recogida , la redireccion no se ejecutaba porque esas variables se dirigian en el servidor web.

Para realizar eso agrege la sig linea de codigo a los archivos que no se redirigian correctamente:

1
2
3
4
<?php
ob_start();
 
?>

1
2
3
4
5
6
7
<?
 
ob_end_clean();   // esta linea de codigo termina el proceso d envio de buffer  y procede a redirigir correctamente
 
header ("Location: cours.php");
 
?>


Tarde varios dias con esto, ya que si me descontrolo el que funcionara en servidor local y en hosting no.
Ahi dejo la solucion por si alguien tiene un problema sobre esto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problemas al momento de subir sistema a hosting

Publicado por xve (6935 intervenciones) el 16/01/2014 08:57:30
Gracias por comentarlo MAFER!!! buena solución!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jordi
Val: 9
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problemas al momento de subir sistema a hosting

Publicado por Jordi (10 intervenciones) el 30/09/2015 23:14:38
Yo también llevaba ya un cruce de cables!!!

Me has ayudado un montón!! Muchas Gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar