Google Chrome - Foro de ayuda

No recibo datos enviados via form metodo post

sidebass1
30/06/11 11:25
NoteBook HP 610.
Windows 7
Xampp instalado.
Version Chrome 12.0.742.112

He hecho un abm en php y mysql, con algo de javascript. Funciona en IE 9 y FF pero no en Chrome. Se trata de la carga de shows o presentaciones, en las que se pide datos de la presentacion (cabecera) y canciones y/o videos de esa presentacion (items).

La pagina principal se divide en dos partes, una serie de botones para buscar, dar de alta, pasar a excel o PDF, y un detalle de las presentaciones cargadas hasta el momento. Cada renglon con una presentacion tiene 3 botones, modificar, ver o dar de baja el item. Estos botones son submit y pasan a 3 distintos programas de acuerdo al boton, los datos pasan via post del form. Bueno a Chrome llega en blanco. Quisiera saber si me pueden guiar en donde estoy fallando. Muchas gracias! Adjunto el programa.

<?php

session_start();

include_once ("../config.php");
include_once ("../clases.php") ;

$color = "#191C21;";
$bg = "#FEFE9A;";
        
if (!isset($_SESSION['usuario']))
{
        $_SESSION = array();
        session_destroy ();
        $url = "../../login.php" ;
           $titulo1 = "No puede entrar en esta pagina";
        salida_URL($url, $titulo1,$bg,$color);
        exit ;
}

$id_presentacion = $_POST["id_presentacion"];
$id_idioma = $_POST["id_idioma"];
$dia_presentacion = $_POST["dia_presentacion"];
$mes_presentacion = $_POST["mes_presentacion"];
$anio_presentacion = $_POST["anio_presentacion"];
        
$cadena_busqueda=$_POST["cadena_busqueda"];
        
$_SESSION['cad_busqueda'] = $cadena_busqueda;
        
$presentacion = new Presentacion();
        
$where="1=1";
if ($id_presentacion   <> "")
{
        $where.=" AND id_presentacion   = '$id_presentacion'";
        if ($id_idioma   <> "") { $where.=" AND id_idioma   = '$id_idioma'"; }
        if ($dia_presentacion  <> "") { $where.=" AND dia_presentacion  = '$dia_presentacion'"; }
        if ($mes_presentacion  <> "") { $where.=" AND mes_presentacion  = '$mes_presentacion'"; }
        if ($anio_presentacion <> "") { $where.=" AND anio_presentacion = '$anio_presentacion'"; }
}

$where.=" ORDER BY anio_presentacion DESC, mes_presentacion DESC, dia_presentacion DESC, id_idioma ASC, id_presentacion ASC";
$query_busqueda="SELECT count(*) as filas FROM presentaciones WHERE ".$where;
$obj_presentacion = new sQuery();
$rs_busqueda = $obj_presentacion->executeQuery($query_busqueda);
$rs_busqueda=mysql_query($query_busqueda);
$filas=mysql_result($rs_busqueda,0,"filas");

?>

<html>
<head>
<title>Presentaciones</title>
<link href="../../estilos/estilo_abm.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <script type="text/javascript">
var cursor;
if (document.all) {
// Está utilizando EXPLORER
cursor='hand';
} else {
// Está utilizando MOZILLA/NETSCAPE
cursor='pointer';
}
                
function aceptar() {
location.href="abm_presentacion.php";
}
                
</script>
<script type="text/javascript">
        
function ver_presentacion() {
document.getElementById("frejilla").action = "ver_presentacion.php";
document.forms["frejilla"].submit();
}
                        
function modificar_presentacion() {
document.getElementById("frejilla").action = "modificar_presentacion.php";
document.forms["frejilla"].submit();
}
                                                        
function eliminar_presentacion() {
document.getElementById("frejilla").action = "eliminar_presentacion.php";
document.forms["frejilla"].submit();
}

function inicio() {
var numfilas=document.getElementById("numfilas").value;
var indi=parent.document.getElementById("iniciopagina").value;
var contador=1;
var indice=0;
if (indi>numfilas) {
indi=1;
}
parent.document.form_busqueda.filas.value=numfilas;
parent.document.form_busqueda.paginas.innerHTML="";                
while (contador<=numfilas) {
texto=contador + "-" + parseInt(contador+9);
if (indi==contador) {
parent.document.form_busqueda.paginas.options[indice]=new Option (texto,contador);
parent.document.form_busqueda.paginas.options[indice].selected=true;
} else {
parent.document.form_busqueda.paginas.options[indice]=new Option (texto,contador);
}
indice++;
contador=contador+10;
}
}
                        
</script>
</head>
<body onload=inicio()>        
<div id="pagina">
<div id="zonaContenido">
<div align="center">
<form id="frejilla" name="frejilla" method="post" target="_parent" >
 <table class="fuente8" width="100%" cellspacing=0 cellpadding=3 border=0 ID="Table1">
<input type="hidden" name="numfilas" id="numfilas" value="<?php echo $filas?>">
<?php
$iniciopagina=$_POST["iniciopagina"];
if (empty($iniciopagina))
{
$iniciopagina=$_GET["iniciopagina"];
}
else
{
$iniciopagina=$iniciopagina-1;
}
if (empty($iniciopagina))
{
$iniciopagina=0;
}
if ($iniciopagina>$filas)
{         
$iniciopagina=0;
}
if ($filas > 0)
{
$sel_resultado="SELECT * FROM presentaciones WHERE ".$where;
$sel_resultado=$sel_resultado."  limit ".$iniciopagina.",10";
$obj_presentacion = new sQuery();
$row = $obj_presentacion->executeQuery($sel_resultado);
$contador=0;
while ($contador < mysql_num_rows($row))
{
if ($contador % 2)
{
$fondolinea="itemParTabla";
}
else
{
$fondolinea="itemImparTabla";
}
$id  = mysql_result($row,$contador,"id_presentacion");
$idioma = mysql_result($row,$contador,"id_idioma");
$dia = mysql_result($row,$contador,"dia_presentacion");
$mes = mysql_result($row,$contador,"mes_presentacion");
$anio = mysql_result($row,$contador,"anio_presentacion");
$titular = leo_texto(mysql_result($row,$contador,"titular_presentacion"));
$imagen = leo_texto(mysql_result($row,$contador,"imagen_presentacion"));
$detalle = leo_texto(mysql_result($row,$contador,"detalle_presentacion"),1);
                                                                                                                
$leng = new Lenguaje($idioma);
$desc_idioma = $leng->getDescLenguaje();
?>
<tr class="<?php echo $fondolinea?>">
<td width="4%">
<div align="center"><?php echo $id ?></div>
</td>
<td width="9%">
<div align="center"><?php echo $desc_idioma ?></div>
</td>                                                        
<td width="4%">
<div align="center"><?php echo $dia ?></div>
</td>
<td width="4%">
<div align="center"><?php echo $mes ?></div>
</td>
<td width="4%">
<div align="center"><?php echo $anio ?></div>
</td>
<td width="14%">
<div align="center"><?php echo $titular ?></div>
</td>
<td width="10%">
<div align="center"><?php echo $imagen ?></div>
</td>
<td width="15%">
<div align="center"><?php echo $detalle ?></div>
</td>
<td width="3%">
<div align="center">
<input type='submit' name='llamar_mod' value="<?php echo $id; ?>" style='border: 0px solid #FFFFFF; background-color:transparent; background-image: url(../../imagenes/modificar.png); color:#A5D2DC; height: 16px; width: 16px;' alt='Modificar' onClick="modificar_presentacion()" onMouseOver="style.cursor=cursor">    
</div>
</td>
<td width="3%">
<div align="center">
<input type='submit' name='llamar_ver' value="<?php echo $id; ?>" style='border: 0px solid #FFFFFF; background-color:transparent; background-image: url(../../imagenes/ver.png); color:#A5D2DC; height: 16px; width: 16px;' alt='Visualizar' onClick="ver_presentacion()" onMouseOver="style.cursor=cursor">                                            
</div>
</td>
<td width="3%">
<div align="center">
<input type='submit' name='llamar_eli' value="<?php echo $id; ?>" style='border: 0px solid #FFFFFF; background-color:transparent; background-image: url(../../imagenes/eliminar.png); color:#A5D2DC; height: 16px; width: 16px;' alt='Eliminar' onClick="eliminar_presentacion()" onMouseOver="style.cursor=cursor">  
</div>
</td>
</tr>
<?php
$contador++;
}
?>                        
</table>
</form>
<?php } else { ?>
<table class="fuente8" width="95%" cellspacing=0 cellpadding=3 border=0>
<tr>
<td width="100%" class="mensaje"><?php echo "No hay ninguna presentacion que cumpla con los criterios de b&uacute;squeda";?></td>
</tr>
</table>                                        
<?php } ?>
</div>
</div>                        
</div>
</body>
</html>

Respuestas (5)

Dennis Tobar
1/07/11 6:53
Hola:

¿Y qué te indica la traza de código en el inspector de elementos?. Me parece que es "muy confuso" el código de javascript, ya que usas cambio de URL para determinadas acciones y otras cosas que no son recomendables. Yo creo que por ahí podría ir la respuesta al problema.

Saludos
sidebass1
1/07/11 7:40
Te agradezco tu pronta contestacion.
Modifico el llamado a distintos programas de acuerdo a la opcion que digite el usuario, (modificar, ver o eliminar un item).Lo que quiero lograr es pasar una serie de datos via metodo post, de acuerdo a la linea que se elija. lo probe en IE 9, FF y baje ahora el Opera y funciona en todos. A lo mejor haya una forma mejor de pasar los parametros via post que acepte el Chrome.
El pedido de estas opciones estan dentro de un while que es donde muestro los items.
Gracias de nuevo, ojala me puedas ayudar!
Dennis Tobar
1/07/11 11:52
Mmmmm....

Creo que no te podré ayudar, ya que no puedo replicar el problema, pero creo (nuevamente) que podría ser javascript que no es considerado por los eventos... eso te puedo aportar :(

Saludos
sidebass1
1/07/11 14:31
Muchas gracias!
sidebass1
1/07/11 15:45
Ya lo arregle, creo un form temporal y llamo a los programas y anda!!!
<script type="text/javascript">
                        
                        function mandar_post(URL, PARAMS) {
                                var temp=document.createElement("form");
                                temp.action=URL;
                                temp.method="POST";
                                temp.target="_parent";
                                temp.style.display="none";
                        
                                for(var x in PARAMS) {
                                        var opt=document.createElement("textarea");
                                        opt.name=x;
                                        opt.value=PARAMS[x];
                                        temp.appendChild(opt);
                                }
                                document.body.appendChild(temp);
                                temp.submit();
                                return temp;
                        }
                        
                        function ver_presentacion(id_agen,cadena) {
                                mandar_post("ver_presentacion.php", {
                                        id_presentacion:id_agen,
                                        cadena_busqueda:"cadena"
                                })
                        }
                        
                        function modificar_presentacion(id_agen,cadena) {
                                mandar_post("modificar_presentacion.php", {
                                        id_presentacion:id_agen,
                                        cadena_busqueda:"cadena"
                                })
                        }
                        
                        function eliminar_presentacion(id_agen,cadena) {
                                mandar_post("eliminar_presentacion.php", {
                                        id_presentacion:id_agen,
                                        cadena_busqueda:"cadena"
                                })
                        }

                        function inicio() {
                                var numfilas=document.getElementById("numfilas").value;
                                var indi=parent.document.getElementById("iniciopagina").value;
                                var contador=1;
                                var indice=0;
                                if (indi>numfilas) {
                                        indi=1;
                                }
                                parent.document.form_busqueda.filas.value=numfilas;
                                parent.document.form_busqueda.paginas.innerHTML="";                
                                while (contador<=numfilas) {
                                        texto=contador + "-" + parseInt(contador+9);
                                        if (indi==contador) {
                                                parent.document.form_busqueda.paginas.options[indice]=new Option (texto,contador);
                                                parent.document.form_busqueda.paginas.options[indice].selected=true;
                                        } else {
                                                parent.document.form_busqueda.paginas.options[indice]=new Option (texto,contador);
                                        }
                                        indice++;
                                        contador=contador+10;
                                }
                        }
                        
                </script>

Y en el programa:

<td width="3%">
                                        <div align="center">
                                                        <img src="../../imagenes/modificar.png" width="16" height="16" border="0" onClick="modificar_presentacion(<?php echo $id_presentacion ?>,'<?php echo $cadena_busqueda; ?>')" title="Modificar" onMouseOver="style.cursor=cursor">
                                    </div>
                                </td>
                                                                <td width="3%">
                                        <div align="center">
                                        <img src="../../imagenes/ver.png" width="16" height="16" border="0" onClick="ver_presentacion(<?php echo $id_presentacion ?>,'<?php echo $cadena_busqueda; ?>')" title="Visualizar" onMouseOver="style.cursor=cursor">
                                                </div>
                                </td>
                                                                <td width="3%">
                                        <div align="center">
                                                <img src="../../imagenes/eliminar.png" width="16" height="16" border="0" onClick="eliminar_presentacion(<?php echo $id_presentacion ?>,'<?php echo $cadena_busqueda; ?>')" title="Eliminar" onMouseOver="style.cursor=cursor">
                                                </div>
                                </td>
De nuevo gracias