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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


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


Desconectado Desconectado

Mensajes: 2.194

Argentina


Ver Perfil
Error ante un submit
« en: 24 Octubre 2012, 05:35 am »

Hola, buenos días para todos.
Estoy haciendo un deploy de un servidor de desarrollo a uno de producción de una app que estoy haciendo pero resulta que ya en producción hay cosas que no me funcionan y no sé porqué.
A continuación les dejo una parte pequeña del código que no funciona correctamente:

Código
  1. <?php
  2. include("clases/Empresa.php");
  3. include("script_validaciones.php");
  4. $Empresa = new Empresa;
  5.  
  6. if ($Empresa->conexion){
  7. if(isset($_POST['submit'])){
  8. $campos[0] =  $_POST["direccion"];
  9. $campos[1] = $_POST["telefono"];
  10. $campos[2] = $_POST["persona"];
  11. $campos[3] = $_POST["id"];
  12. $campos[4] = $_SESSION['UsuarioActual'];
  13. $campos[5] = $_POST['nombre'];
  14. if(validarFormulario($campos)){
  15.  
  16. if ($Empresa->ActualizarEmpresa($campos) or die(mysql_error())) {
  17. header("location: http://www.google.com.ar");
  18. };
  19. };
--Comentarios de código: Por favor, abstraerse de problemas de sintaxis, falta de llaves de bloques,etc.

Suponiendo que "ActualizarEmpresa" dió TRUE, PHP debería redirigir hacia Google a modo de prueba, el problema está en que cuando se realiza el posteo(sí, el posteo es efectivo, los datos se guardan perfectamente) queda ahí en actualizar.php y no redirige.
¿Podrían decirme que puede estar pasando?.

Desde ya, gracias.

Saludos!


En línea

RevangelyonX

Desconectado Desconectado

Mensajes: 245


Ver Perfil WWW
Re: Error ante un submit
« Respuesta #1 en: 24 Octubre 2012, 13:57 pm »

Hola,

Posiblemente no hayas acabado de ponernos todo el código porque te falta cerrar:
Código:
if ($Empresa->conexion){

De todos modos, verifica en php.ini que el error_report no esté ocultandote mensajes de error ni warnings.

Sería interesante que nos mostraras el código de la función:

validarFormulario()

Salu2




En línea

Just Linux
OSCP certified
Zinc


Desconectado Desconectado

Mensajes: 2.194

Argentina


Ver Perfil
Re: Error ante un submit
« Respuesta #2 en: 24 Octubre 2012, 14:27 pm »

Hola, gracias por contestar.
El problema no es a nivel de sintaxis ya que sino me lo estaría mostrando el editor, voy a verificar lo que me dijiste del php.ini.

Por otro lado esa función validarFormulario, lo unico que hace es controlar que los campos recibidos no estén vaciós.

Comentario al pasar:
En el mismo código probé poniendo el header después del isset y tampoco redirige, la verdad no sé que pasa.

Saludos y gracias.
En línea

apuromafo CLS


Desconectado Desconectado

Mensajes: 1.441



Ver Perfil WWW
Re: Error ante un submit
« Respuesta #3 en: 24 Octubre 2012, 16:22 pm »

no tengo tanta experiencia en php, pero si  creo que debe ser por tener que usar cosas como session_write_close() antes de terminar o bien tu ejemplo de usar
Código:
<?php
session_start();
$_SESSION[0] = 'this is a test';
$_SESSION[1] = 'this is also a test';
$_SESSION['test0'] = 'this is a test';
$_SESSION['test1'] = 'this is also a test';
session_write_close();

session_start();
echo "Session var 0 = ".$_SESSION[0]."<br />";
echo "Session var 1 = ".$_SESSION[1]."<br />";
echo "Session var 'test0' = ".$_SESSION['test0']."<br />";
echo "Session var 'test1' = ".$_SESSION['test1'];

?>
muestra esto (idea http://www.apuro.net23.net/red.php)
Session var 0 =
Session var 1 =
Session var 'test0' = this is a test
Session var 'test1' = this is also a test



 por otro lado

has intentado otra forma de redireccionar como
<?php
  header( "refresh:5;url=wherever.php" );
  echo 'You\'ll be redirected in about 5 secs. If not, click <a href="wherever.php">here</a>.';
?>

o bien como google.com.ar
Código:
<?php
  header( "refresh:5;url=http://www.google.com.ar" );
  echo 'You\'ll be redirected in about 5 secs. If not, click <a href="http://www.google.com.ar">here</a>.';
?>
ambas redirecciones funcionan bien en mi servidor de hosting gratuito

supongo debe ser algo relacionado a la sesion o como se manejan las variables(dandole parametros))
saludos Apuromafo
« Última modificación: 24 Octubre 2012, 16:31 pm por apuromafo » En línea

Apuromafo
Zinc


Desconectado Desconectado

Mensajes: 2.194

Argentina


Ver Perfil
Re: Error ante un submit
« Respuesta #4 en: 24 Octubre 2012, 16:32 pm »

No sé si el problema lo tiene el header, ya que ejecuté un script de prueba que redirige en el mismo servidor y lo ejecuto sin problemas, la verdad no sé.

Probé esto:

Código
  1. if ($Empresa->conexion){
  2. if(isset($_POST['submit'])){
  3. header("location: http://www.google.com.ar");
  4. $campos[0] =  $_POST["direccion"];
  5. $campos[1] = $_POST["telefono"];
  6. $campos[2] = $_POST["persona"];
  7. $campos[3] = $_POST["id"];
  8. $campos[4] = $_SESSION['UsuarioActual'];
  9. $campos[5] = $_POST['nombre'];
  10. if(validarFormulario($campos)){
  11.  
  12. if ($Empresa->ActualizarEmpresa($campos) or die(mysql_error())) {
  13. header("location: http://www.google.com.ar");
  14. };
  15. };
  16. }
  17.  
  18. }

Y...nada.
« Última modificación: 24 Octubre 2012, 16:36 pm por Zinc » En línea

apuromafo CLS


Desconectado Desconectado

Mensajes: 1.441



Ver Perfil WWW
Re: Error ante un submit
« Respuesta #5 en: 24 Octubre 2012, 18:27 pm »

insisto yo creo que hay algo mas en la sintaxis abrir una sesion
session_start();
sin cerrarla ...es dejar al header que no te permita hacerlo

es mas si aun asi no lo hiciera, deberias crear los parametros de redireccion temporal o definitiva si el header ya fue dado...

vuelve a leer el ejemplo
if ($Empresa->conexion){
si no se cumple el empresa conexión fin!! por ende lo siguiente no se ejecuta

if(isset($_POST['submit'])){
En línea

Apuromafo
Zinc


Desconectado Desconectado

Mensajes: 2.194

Argentina


Ver Perfil
Re: Error ante un submit
« Respuesta #6 en: 24 Octubre 2012, 19:34 pm »

Pero como puede ser que un servidor funcione y en otro no?
Es que este caso la conexión es exitosa y el submit también, porque en la base de datos los registros se guardan perfectamente, por eso lo tengo descartado, el tema es que no redirige.
Tendrá algo que ver la versión de PHP?

Saludos!
En línea

RevangelyonX

Desconectado Desconectado

Mensajes: 245


Ver Perfil WWW
Re: Error ante un submit
« Respuesta #7 en: 25 Octubre 2012, 09:44 am »

Hola

Prueba lo siguiente:
Cambia session_start() por

If (!isset($_SESSION)){
 session_start();
}

Y otra cosa que puedes hacer es agregar
die("aqui");

En cada linia desde arriba y vas alternando para ver en que momento deja de funcionar el script y nos dices.

Salu2
En línea

Just Linux
OSCP certified
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Source] Reniciar la aplicacion ante un Error
Programación Visual Basic
LeandroA 2 2,118 Último mensaje 28 Diciembre 2009, 16:05 pm
por ssccaann43 ©
webbrowser y submit php
Programación Visual Basic
alex06 3 5,133 Último mensaje 3 Abril 2010, 00:20 am
por BadWinsock
Submit desde URL
Desarrollo Web
xustyx 1 3,056 Último mensaje 4 Junio 2011, 07:38 am
por xustyx
error en submit
PHP
geshiro 4 1,983 Último mensaje 17 Julio 2015, 19:00 pm
por Ethgar
Error en document.forms['1'].submit();
Desarrollo Web
SrTrp 6 3,939 Último mensaje 24 Septiembre 2017, 17:14 pm
por #!drvy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines