Foros del Web » Programando para Internet » PHP »

Ayuda con las variables

Estas en el tema de Ayuda con las variables en el foro de PHP en Foros del Web. Que tal amigos, el problema es el siguiente:. Desde una página llamada origen.php que contiene un formulario donde escojo dos fechas (inicial y final) envío ...
  #1 (permalink)  
Antiguo 23/03/2007, 09:30
 
Fecha de Ingreso: mayo-2004
Mensajes: 130
Antigüedad: 20 años
Puntos: 0
Ayuda con las variables

Que tal amigos, el problema es el siguiente:.

Desde una página llamada origen.php que contiene un formulario donde escojo dos fechas (inicial y final) envío estos dos datos a una segunda página llamada destino.php en la cual se ejecuta una consulta con estos parámetros. Hasta allí todo bien, el inconvenientes es que esta página(destino.php) realiza a la vez una paginación con los registros que encontró a través de la consulta que ejecutó. En la página 1 de la paginación todo funciona bien pero cuando voy a la segunda página no me muestra nada es decir los valores de las variables que le pasé de la página de origen es decir las fechas al parecer se pierden y la consulta no muestra nada
Por favor necesito su ayuda con suma urgencia para solucionar este problema, como puedo hacer para que estas variables no se pierdan, necesito un ejemplo o alguna referencia al respecto.
Se los voy a agradecer mucho.
  #2 (permalink)  
Antiguo 23/03/2007, 10:30
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: Urgente ayuda con las variables

Hola LIVERPOOL, podria ser usando sessiones.

destino.php
Código PHP:
session_start();
if((isset(
$_POST['f_ini'])) && (isset($_POST['f_fin']))){
    
$f_ini $_POST['f_ini'];
    
$f_fin $_POST['f_fin'];
    
$_SESSION['f_ini'] = $f_ini;
    
$_SESSION['f_fin'] = $f_fin;
}else{
    
$f_ini $_SESSION['f_ini'];
    
$f_fin $_SESSION['f_fin'];
}

$sql "SELECT * FROM nom_tabla WHERE f_ini >= $f_ini AND f_fin <= $f_fin LIMIT $var1, $var2";
//.... 
Tambien podrias pasar los valores por GET, claro ubicandolos en cada llink de cada pagina.

Saludos
__________________

  #3 (permalink)  
Antiguo 23/03/2007, 11:23
 
Fecha de Ingreso: mayo-2004
Mensajes: 130
Antigüedad: 20 años
Puntos: 0
Re: Urgente ayuda con las variables

Gerson:
Intenté hacerlo con sesiones pero no funcionó.
Mira este el código de mi página destino.php

<html>
<head>
<title>CONSTRUCTIVO.COM---El Portal de los profesionales de la construcci&oacute;n...</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<META NAME="Title" CONTENT="CONSTRUCTIVO.COM - El Portal de los profesionales de la construcción">
<META NAME="Author" CONTENT="Fabricio Navarrete Ponce - Web Master [email protected]">
<META NAME="Subject" CONTENT="construccion">
<META NAME="Description" CONTENT="construccion">
<META NAME="Keywords" CONTENT="construccion">
<META NAME="Language" CONTENT="Spanish">
<META NAME="Revisit" CONTENT="1 day">
<META NAME="Distribution" CONTENT="Global">
<META NAME="Robots" CONTENT="All">
<?PHP include("paginaciones.php"); ?>
<script>
<!--




function mOvr(src,clrOver) {
if (!src.contains(event.fromElement)) {
src.style.cursor = 'hand';
src.bgColor = clrOver;
}
}
function mOut(src,clrIn) {
if (!src.contains(event.toElement)) {
src.style.cursor = 'default';
src.bgColor = clrIn;
}
}
function mClk(src) {
if(event.srcElement.tagName=='Td'){
src.children.tags('A')[0].click();
}
}

//-->


function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
//-->
</script>
<link href="CSS/HOJAESTILO.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="center"></div>
<div align="center">
<table width="780" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="105"><div align="center">
<? include("index_cabecera.php");?> </div></td>
</tr>
</table>
</div>
<div align="center" class="TituloActualidad">
</div>
<table width="780" border="0" align="center" cellpadding="0" cellspacing="0" class="principal">
<tr>
<td width="150" rowspan="2" valign="top" background="imgs/izquierda.jpg"> <div align="center">
<p></p>
<? include("index_izquierda.php");?><br>
</div></td>
<td width="503" valign="top"><div align="center" >
<br>
<table width="96%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="center"><img src="imgs/cuerpo/cuerpo_r1_c1.gif" width="485" height="8"></div></td>
</tr>
<tr>
<td background="imgs/cuerpo/cuerpo_r2_c1.gif"><div align="center">
<table width="98%" border="0" cellspacing="2" cellpadding="0">
<tr>
<td><div align="center"></div>
<div align="center">
<table width="100" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr>
<td><div align="center">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="468" height="60">
<param name="movie" value="flash/bannertotal.swf">
<param name="quality" value="high">
<embed src="flash/bannertotal.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="468" height="60"></embed>
</object>
</div></td>
</tr>
</table>
<br>
</div></td>
</tr>
<tr valign="top">
<td><div align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="center"><img src="imgs/noticias_totales/noticias_totales_r1_c1.gif" width="475" height="27"></div></td>
</tr>
<tr>
<td background="imgs/noticias_totales/noticias_totales_r2_c1.gif"><div align="center">
<?php

$fecini = $_POST["fecini"];
$fecfin = $_POST["fecfin"];

$depurar = explode("-",$fecini);
$dia = $depurar[0];
$mes = $depurar[1];
$ano = $depurar[2];
$fecinifinal = $ano."-".$mes."-".$dia;

$depurar1 = explode("-",$fecfin);
$dia1 = $depurar1[0];
$mes1 = $depurar1[1];
$ano1 = $depurar1[2];
$fecfinfinal = $ano1."-".$mes1."-".$dia1;

echo $fecinifinal;
echo $fecfinfinal;

$paging =& new Paging("SELECT * FROM noticias where (fecha BETWEEN '$fecinifinal' AND '$fecfinfinal') AND tiponoticia='general' ORDER BY idnoticias DESC");
//$paging =& new Paging("SELECT * FROM noticias where tiponoticia='general' ORDER BY idnoticias DESC");
//$sqlnot = "select * from noticias where (fecha BETWEEN '$fecinifinal' AND '$fecfinfinal') AND tiponoticia='general' order by idnoticias desc";
//$consultanot = mysql_query($sqlnot) or die("No se puede ejecutar la consulta");
$paging->set_perPage(10);

$paging->set_strNext('>>');
$paging->set_strPrev('<<');

$paging->set_varName('page');

$res = $paging->getResult();
$nav = $paging->getMenu();
?>
<?
while ($rsnot = mysql_fetch_assoc($res)){
?><br>
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="25%" valign="middle"><div align="center"><?php echo "<img src=".$rsnot['dirmagen']." width='75' border='1'>";?></div></td>
<td width="75%" valign="middle"><div align="left"><span class="noticiaslinea">
<?php
setlocale(LC_CTYPE, 'es');
setlocale (LC_TIME,"spanish");
$fecha=$rsnot['fecha'];
echo str_replace ("De","de",ucwords(strftime("%A, %d de %B de %Y", mktime(substr($fecha,11,2),substr($fecha,14,2),sub str($fecha,17,2),substr($fecha,5,2),substr($fecha, 8,2),substr($fecha,0,4)))));
?>
<br>
<span class="tituloPrincipalNoticia"><?php echo $rsnot['titulo'];?><br>
<span class="textoNoticias"><?php echo '<a class="textoNoticias" href="noticia.php?id='.$rsnot['idnoticias'].'">'.substr($rsnot['copete'],0,100)."...";?></span> </span></span></div>
<span class="noticiaslinea"> <span class="textoNoticias">
<div align="left"></div>
<div align="left"></div>
</span></span></td>
</tr>
</table>
<?
}
?><? echo $nav; ?><br>
</div></td>
</tr>
<tr>
<td><div align="center"><img src="imgs/noticias_totales/noticias_totales_r3_c1.gif" width="475" height="23"></div></td>
</tr>
</table>
<br><? include("index_volver.php");?>
<br>
</div></td>
</tr>
</table>
</div></td>
</tr>
<tr>
<td><div align="center"><img src="imgs/cuerpo/cuerpo_r3_c1.gif" width="485" height="10"></div></td>
</tr>
</table>
<br>
</div></td>
<td width="130" valign="top" background="links_r13_c1.gif" bgcolor="#FFFFFF"><div align="center"><? include("index_derecha.php");?><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</div>
<div align="center" class="noticiasline"><br>
<br>
<br>
</div></td>
</tr>
<tr>
<td height="50" colspan="2" valign="top"> <div align="right" class="credito">
<div align="center"> <? include("index_pie.php");?></div>
</div></td>
</tr>
</table>
</body>
</html>

Agradeceré mucho tu ayuda.
  #4 (permalink)  
Antiguo 23/03/2007, 11:40
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: Ayuda con las variables

Cita:
$fecini = $_POST["fecini"];
$fecfin = $_POST["fecfin"];

$depurar = explode("-",$fecini);
$dia = $depurar[0];
$mes = $depurar[1];
$ano = $depurar[2];
$fecinifinal = $ano."-".$mes."-".$dia;

$depurar1 = explode("-",$fecfin);
$dia1 = $depurar1[0];
$mes1 = $depurar1[1];
$ano1 = $depurar1[2];
$fecfinfinal = $ano1."-".$mes1."-".$dia1;
Esta parte del codigo es donde hay que hacer siertas modificaciones:
Código PHP:
session_start();
if((isset(
$_POST['fecini'])) && (isset($_POST['fecfin']))){
    
$fecini $_POST["fecini"];
    
$fecfin $_POST["fecfin"];
    
$depurar explode("-",$fecini);
    
$dia $depurar[0];
    
$mes $depurar[1];
    
$ano $depurar[2];
    
$fecinifinal $ano."-".$mes."-".$dia;

    
$depurar1 explode("-",$fecfin);
    
$dia1 $depurar1[0];
    
$mes1 $depurar1[1];
    
$ano1 $depurar1[2];
    
$fecfinfinal $ano1."-".$mes1."-".$dia1;
    
$_SESSION['fecinifinal'] = $fecinifinal;
    
$_SESSION['fecfinfinal'] = $fecfinfinal;
}else{
    
$fecinifinal $_SESSION['fecinifinal'];
    
$fecfinfinal $_SESSION['fecfinfinal'];

Obiamente tienes q poner esto la principio de todo.

Saludos
__________________

  #5 (permalink)  
Antiguo 23/03/2007, 13:06
 
Fecha de Ingreso: mayo-2004
Mensajes: 130
Antigüedad: 20 años
Puntos: 0
Re: Ayuda con las variables

gerson: hize tal y como me dijiste, el código de mi págino destino.php quedó así:

<?PHP include("paginaciones.php"); ?>
<script>
<!--
function mOvr(src,clrOver) {
if (!src.contains(event.fromElement)) {
src.style.cursor = 'hand';
src.bgColor = clrOver;
}
}
function mOut(src,clrIn) {
if (!src.contains(event.toElement)) {
src.style.cursor = 'default';
src.bgColor = clrIn;
}
}
function mClk(src) {
if(event.srcElement.tagName=='Td'){
src.children.tags('A')[0].click();
}
}

//-->


function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
//-->
</script>
<link href="CSS/HOJAESTILO.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="center"></div>
<div align="center">
<table width="780" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="105"><div align="center">
<? include("index_cabecera.php");?> </div></td>
</tr>
</table>
</div>
<div align="center" class="TituloActualidad">
</div>
<table width="780" border="0" align="center" cellpadding="0" cellspacing="0" class="principal">
<tr>
<td width="150" rowspan="2" valign="top" background="imgs/izquierda.jpg"> <div align="center">
<p></p>
<? include("index_izquierda.php");?><br>
</div></td>
<td width="503" valign="top"><div align="center" >
<br>
<table width="96%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="center"><img src="imgs/cuerpo/cuerpo_r1_c1.gif" width="485" height="8"></div></td>
</tr>
<tr>
<td background="imgs/cuerpo/cuerpo_r2_c1.gif"><div align="center">
<table width="98%" border="0" cellspacing="2" cellpadding="0">
<tr>
<td><div align="center"></div>
<div align="center">
<table width="100" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr>
<td><div align="center">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="468" height="60">
<param name="movie" value="flash/bannertotal.swf">
<param name="quality" value="high">
<embed src="flash/bannertotal.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="468" height="60"></embed>
</object>
</div></td>
</tr>
</table>
<br>
</div></td>
</tr>
<tr valign="top">
<td><div align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="center"><img src="imgs/noticias_totales/noticias_totales_r1_c1.gif" width="475" height="27"></div></td>
</tr>
<tr>
<td background="imgs/noticias_totales/noticias_totales_r2_c1.gif"><div align="center">
<?php
session_start();
if((isset($_POST['fecini'])) && (isset($_POST['fecfin']))){
$fecini = $_POST["fecini"];
$fecfin = $_POST["fecfin"];
$depurar = explode("-",$fecini);
$dia = $depurar[0];
$mes = $depurar[1];
$ano = $depurar[2];
$fecinifinal = $ano."-".$mes."-".$dia;

$depurar1 = explode("-",$fecfin);
$dia1 = $depurar1[0];
$mes1 = $depurar1[1];
$ano1 = $depurar1[2];
$fecfinfinal = $ano1."-".$mes1."-".$dia1;
$_SESSION['fecinifinal'] = $fecinifinal;
$_SESSION['fecfinfinal'] = $fecfinfinal;
}else{
$fecinifinal = $_SESSION['fecinifinal'];
$fecfinfinal = $_SESSION['fecfinfinal'];
}
//$fecini = $_POST["fecini"];
//$fecfin = $_POST["fecfin"];

//$depurar = explode("-",$fecini);
//$dia = $depurar[0];
//$mes = $depurar[1];
//$ano = $depurar[2];
//$fecinifinal = $ano."-".$mes."-".$dia;

//$depurar1 = explode("-",$fecfin);
//$dia1 = $depurar1[0];
//$mes1 = $depurar1[1];
//$ano1 = $depurar1[2];
//$fecfinfinal = $ano1."-".$mes1."-".$dia1;

//echo $fecinifinal;
//echo $fecfinfinal;

$paging =& new Paging("SELECT * FROM noticias where (fecha BETWEEN '$fecinifinal' AND '$fecfinfinal') AND tiponoticia='general' ORDER BY idnoticias DESC");
//$paging =& new Paging("SELECT * FROM noticias where tiponoticia='general' ORDER BY idnoticias DESC");
//$sqlnot = "select * from noticias where (fecha BETWEEN '$fecinifinal' AND '$fecfinfinal') AND tiponoticia='general' order by idnoticias desc";
//$consultanot = mysql_query($sqlnot) or die("No se puede ejecutar la consulta");
$paging->set_perPage(10);

$paging->set_strNext('>>');
$paging->set_strPrev('<<');

$paging->set_varName('page');

$res = $paging->getResult();
$nav = $paging->getMenu();
?>
<?
while ($rsnot = mysql_fetch_assoc($res)){
?><br>
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="25%" valign="middle"><div align="center"><?php echo "<img src=".$rsnot['dirmagen']." width='75' border='1'>";?></div></td>
<td width="75%" valign="middle"><div align="left"><span class="noticiaslinea">
<?php
setlocale(LC_CTYPE, 'es');
setlocale (LC_TIME,"spanish");
$fecha=$rsnot['fecha'];
echo str_replace ("De","de",ucwords(strftime("%A, %d de %B de %Y", mktime(substr($fecha,11,2),substr($fecha,14,2),sub str($fecha,17,2),substr($fecha,5,2),substr($fecha, 8,2),substr($fecha,0,4)))));
?>
<br>
<span class="tituloPrincipalNoticia"><?php echo $rsnot['titulo'];?><br>
<span class="textoNoticias"><?php echo '<a class="textoNoticias" href="noticia.php?id='.$rsnot['idnoticias'].'">'.substr($rsnot['copete'],0,100)."...";?></span> </span></span></div>
<span class="noticiaslinea"> <span class="textoNoticias">
<div align="left"></div>
<div align="left"></div>
</span></span></td>
</tr>
</table>
<?
}
?><? echo $nav; ?><br>
</div></td>
</tr>
<tr>
<td><div align="center"><img src="imgs/noticias_totales/noticias_totales_r3_c1.gif" width="475" height="23"></div></td>
</tr>
</table>
<br><? include("index_volver.php");?>
<br>
</div></td>
</tr>
</table>
</div></td>
</tr>
<tr>
<td><div align="center"><img src="imgs/cuerpo/cuerpo_r3_c1.gif" width="485" height="10"></div></td>
</tr>
</table>
<br>
</div></td>
<td width="130" valign="top" background="links_r13_c1.gif" bgcolor="#FFFFFF"><div align="center"><? include("index_derecha.php");?><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</div>
<div align="center" class="noticiasline"><br>
<br>
<br>
</div></td>
</tr>
<tr>
<td height="50" colspan="2" valign="top"> <div align="right" class="credito">
<div align="center"> <? include("index_pie.php");?></div>
</div></td>
</tr>
</table>
</body>
</html>

pero al ejecutarlo salieron estos errores:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at d:\pullcreativoweb\nuevaweb-constructivo\mostrar_noticias_ff.php:7) in d:\pullcreativoweb\nuevaweb-constructivo\mostrar_noticias_ff.php on line 104

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at d:\pullcreativoweb\nuevaweb-constructivo\mostrar_noticias_ff.php:7) in d:\pullcreativoweb\nuevaweb-constructivo\mostrar_noticias_ff.php on line 104

Te agradezco mucho por tu ayuda, espero que este problema se pueda solucionar.
  #6 (permalink)  
Antiguo 23/03/2007, 13:14
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: Ayuda con las variables

Cita:
Iniciado por gerson Ver Mensaje
Esta parte del codigo es donde hay que hacer siertas modificaciones:
Código PHP:
session_start();
if((isset(
$_POST['fecini'])) && (isset($_POST['fecfin']))){
    
$fecini $_POST["fecini"];
    
$fecfin $_POST["fecfin"];
    
$depurar explode("-",$fecini);
    
$dia $depurar[0];
    
$mes $depurar[1];
    
$ano $depurar[2];
    
$fecinifinal $ano."-".$mes."-".$dia;

    
$depurar1 explode("-",$fecfin);
    
$dia1 $depurar1[0];
    
$mes1 $depurar1[1];
    
$ano1 $depurar1[2];
    
$fecfinfinal $ano1."-".$mes1."-".$dia1;
    
$_SESSION['fecinifinal'] = $fecinifinal;
    
$_SESSION['fecfinfinal'] = $fecfinfinal;
}else{
    
$fecinifinal $_SESSION['fecinifinal'];
    
$fecfinfinal $_SESSION['fecfinfinal'];

Obiamente tienes q poner esto la principio de todo.

Saludos
Toma encuenta lo ultimo q puse en este mensaje:

Tienes q colorar al principio:

osea:
Código PHP:
//aqui coloca la modificacion q puse
<?PHP include("paginaciones.php"); ?>
el error q te sale es por q llamas a session_start() despues de q ya has impreso codigo html, vale decir q todo lo referente a session, header...
tiene q estar al principio o antes de q se produsca un salida html, ya sea por echo, print...

Saludos
__________________

  #7 (permalink)  
Antiguo 23/03/2007, 16:48
 
Fecha de Ingreso: mayo-2004
Mensajes: 130
Antigüedad: 20 años
Puntos: 0
Re: Ayuda con las variables

gerson muchas gracias por tu ayuda, todo salió OK.
  #8 (permalink)  
Antiguo 23/03/2007, 17:01
 
Fecha de Ingreso: febrero-2007
Mensajes: 8
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Ayuda con las variables

Puedes pasarlos tambien con POST ocultos

saludos.

Gamuhz
PHP es un juego de cadenas
  #9 (permalink)  
Antiguo 23/03/2007, 17:09
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: Ayuda con las variables

LIVERPOOL Que bueno q te resulto..

Hola gmuhz es interesante la solucion que planteas, la verdad no me imagino como seria mediante POST, pero te agredeceria que pusieras un ejemplo de ello

Saludos
__________________

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:03.