Foros del Web » Programando para Internet » PHP »

sessiones

Estas en el tema de sessiones en el foro de PHP en Foros del Web. Hola, amigos tengo un problemilla y es que no se utilizar las sesiones en php, bueno lei algo y me dicen que es asi: para ...
  #1 (permalink)  
Antiguo 21/03/2005, 14:09
Avatar de Stickmaster2004  
Fecha de Ingreso: septiembre-2004
Ubicación: Barranquilla
Mensajes: 568
Antigüedad: 19 años, 7 meses
Puntos: 0
sessiones

Hola, amigos tengo un problemilla y es que no se utilizar las sesiones en php, bueno lei algo y me dicen que es asi:

para guardar la variable de session, mas o menos lo maejo asi:


<?
$pas=$_POST['pas'];
session_start(); // incio de uso de sesiones.
// Necesario cada vez que se lean
// o guarden variables de sesión.
$_SESSION['variable']=$pas;
?>

para leerlas:

<?
session_start(); // incio de uso de sesiones.
$variable=$_SESSION['variable']; // asignamos a $variable la
// variable de la session áctiva.
?>


pero la verdad no me sale.

el problema radica en que parece que no aceptara esta funcion: session_start();
no se si tenga que ver con la configuracion en php.ini o algo asi.

lo que yo quiero hacer es lo siguiente:

valido en una pagina que el nombre de usuario y contraseña sean los correctos y guardo en una variable de session la contraseña, para cuando valla a otras paginas la guarde y cuando se quiera regresar a la principal no halla problemas, les pongo el codigo:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>

<body bgcolor="#FFFFFF" leftmargin="5" topmargin="5">
<div id="Layer1" style="position:absolute; width:591px; height:804px; z-index:1; left: 0px; top: -4px;"><img src="barra.gif" width="623" height="800">
<div id="Layer2" style="position:absolute; width:620px; height:84px; z-index:1; left: 1px; top: -2px;">
<div id="Layer3" style="position:absolute; width:613px; height:44px; z-index:1; left: 4px; top: 104px;"><strong>

<?php
$usu=$_POST['usu'];
$pas=$_POST['pas'];

// aqui es donde trato de colocar la session

session_start(); // incio de uso de sesiones.
// Necesario cada vez que se lean
// o guarden variables de sesión.
$_SESSION['variable']=$pas;
//pero no me sale!!!!!!!!
//si mando a escribir echo $_SESSION['variable']; si me sale y me la copia.
//no me ejecuta esta consulta: $resultado=mysql_query("select * from //claves where usu='$usu' and //pas='$pas'" or $_SESSION['variable']='$pas',$link);

$link = mysql_connect("localhost", "root");
mysql_select_db("portafolio",$link);

$resultado=mysql_query("select * from claves where usu='$usu' and pas='$pas'",$link);

$items=mysql_affected_rows($link);


if($items>="1")
{
?>
<center>
<div id="Layer4" style="position:absolute; width:90px; height:54px; z-index:1; left: 2px; top: 55px;">

<script type="text/javascript" language="JavaScript1.2" src="stm31.js"></script>
<script type="text/javascript" language="JavaScript1.2">
<!--
stm_bm(["menu67db",430,"","blank.gif",0,"","",0,0,250,0,10 00,1,0,0,"","",0],this);
stm_bp("p0",[1,4,0,0,0,3,0,7,100,"",-2,"",-2,90,0,0,"#7f7f7f","#ffffff","",3,1,3,"#cccccc #666666 #666666 #cccccc"]);
stm_ai("p0i0",[0,"Ver Detalles de Productos","","",-1,-1,0,"","_self","","","","",0,0,0,"file:///C|/ARCHIVOS%20DE%20PROGRAMA/SOURCETEC/SOTHINK%20DHTMLMENU/arrow_b.gif","file:///C|/ARCHIVOS%20DE%20PROGRAMA/SOURCETEC/SOTHINK%20DHTMLMENU/arrow_w.gif",7,7,0,0,1,"#0066cc",0,"#333399",0,"", "",3,3,1,4,"#007fff #004082 #004082 #007fff","#0066cc #8fceff #8fceff #0066cc","#ffffff","#0099ff","bold 9pt Arial","bold 9pt Arial",0,0]);
stm_bpx("p1","p0",[1,2,4,0,0,4,0,0,100,"progid:DXImageTransform.Micro soft.Barn(orientation=horizontal,motion=out,enable d=0,Duration=0.20)",16,"progid:DXImageTransform.Mi crosoft.Barn(orientation=horizontal,motion=in,enab led=0,Duration=0.20)",15]);
stm_aix("p1i0","p0i0",[0,"Listar Detalles de Productos","","",-1,-1,0,"lispro.php","_self","","","","",0,0,0,"","",0 ,0]);
stm_aix("p1i1","p1i0",[0,"Insertar Nuevo Producto","","",-1,-1,0,"insertarpro.html"]);
stm_aix("p1i2","p1i0",[0,"Actualizar Producto","","",-1,-1,0,"actu.php"]);
stm_aix("p1i3","p1i0",[0,"Borrar Producto","","",-1,-1,0,"borra.php"]);
stm_ep();
stm_aix("p0i1","p0i0",[0,"Ver Detalle de Clientes"]);
stm_bpx("p2","p1",[]);
stm_aix("p2i0","p1i0",[0,"Detalles de Usuarios por Fecha","","",-1,-1,0,"usufecha.php"]);
stm_aix("p2i1","p1i0",[0,"Detalles de Usuarios por Orden Alfabetico","","",-1,-1,0,"todosusu.php"]);
stm_ep();
stm_aix("p0i2","p0i0",[0,"Ver Detalle de Pedidos"]);
stm_bpx("p3","p1",[]);
stm_aix("p3i0","p1i0",[0,"Listar Detalles de Pedidos","","",-1,-1,0,"lispedido.php"]);
stm_ep();
stm_ep();
stm_em();
//-->
</script>
</div>
<div id="Layer5" style="position:absolute; width:476px; height:37px; z-index:2; top: -11px; font-size: large; color: #0099FF; left: 56px;">
<div align="center"><strong>Panel Administrativo de CelularMovil S.A, <em>Un Mundo que Habla!!!!!!!!!!!!!!!</em> </strong></div>
</div>
<center>
<p>&nbsp;</p>
<p>
<?php
}
else
{
echo "El Nombre de Usuario o Contraseña son incorrectos\n";

?>
<br>
<br>
<center>
<a href="javascript:history.back();"><font color="blue">Volver</font></a>
<?php
}

?>



</strong>
</p>
<div align="justify"></div>
</div>
<img src="slice_05.jpg" width="619" height="79"></div>
</div>
</body>
</html>


en la otra pagina hago esto:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<style type="text/css">
<!--
.Estilo1 {
color: #00CCFF;
font-weight: bold;
font-size: large;
}
-->
</style>
</head>

<body>
<div id="Layer1" style="position:absolute; width:591px; height:804px; z-index:1; left: 0px; top: -4px;"><img src="barra.gif" width="623" height="1500">
<div id="Layer2" style="position:absolute; width:620px; height:84px; z-index:1; left: 1px; top: -2px;">
<div id="Layer3" style="position:absolute; width:613px; height:115px; z-index:1; left: 4px; top: 104px;">
<div align="center" class="Estilo1">
<p>Listado General de Productos</p>
<p>&nbsp;</p>
<div id="Layer4" style="position:absolute; width:255px; height:16px; z-index:2; left: -14px; top: -18px; font-size: small;"><a href="mantenimiento.php"><font color="#0000CC">Volver al Menu Principal de Administrador</font></a></div>
</div>






<?php

session_start(); // incio de uso de sesiones.
$pas=$_SESSION['variable']; // asignamos a $variable la
// variable de la session áctiva.

mysql_connect("localhost","","") or die ("no se ha podido conectar a la BD");

mysql_select_db("portafolio") or die ("no se ha podido seleccionar la BD");

$_pagi_sql = "SELECT codigo,nom_prod,precio,fotografia,descripcion FROM productos";



//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos = 5;

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");

echo "<center>";
echo "<table border = '1'> \n";
echo "<tr> \n";
echo "<td><b>Fotografia</b></td> \n";
echo "<td><b>Nombre del Producto</b></td> \n";
echo "<td><b>Precio</b></td> \n";
echo "<td><b>Descripcion</b></td> \n";
echo "</tr> \n";

While ($registro=mysql_fetch_assoc($_pagi_result)){

echo "<tr> \n";
echo "<td><img src=\"ver.php?codigo=".$registro['codigo']."\"></td>";
echo "<td>".$registro["nom_prod"];
echo "<td>".$registro["precio"];
echo "<td>".$registro["descripcion"];


}

?>
</table>

<?php
//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p>";
?>

</div>
<img src="slice_05.jpg" width="619" height="79"></div>
</div>
</body>
</html>

anoto el error que sale:


Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\servidor\web\ruecas\mantenimiento.php:7) in c:\servidor\web\ruecas\mantenimiento.php on line 28

y mas abajito me sale esto:

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\servidor\web\ruecas\mantenimiento.php:7) in c:\servidor\web\ruecas\mantenimiento.php on line 28

eso en la primera pagina, bye espero que me ayuden a solucionar este pequeño problemilla.
__________________
Solo el que se basa en conocimiento basico y cultiva el aprendizaje obtendra sabiduria

Última edición por Stickmaster2004; 21/03/2005 a las 14:53 Razón: algo extra que salio
  #2 (permalink)  
Antiguo 21/03/2005, 14:28
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 20 años, 3 meses
Puntos: 2
Lo siento, no he podido leer el código porq no tengo tiempo, pero si piensas q el problema puede estar en el php.ini
session.auto_start = 1
Si se encuentra así en el php.ini no necesitas usar session_start()
__________________
Dios dira que esto no es justo, pero lo sera...
  #3 (permalink)  
Antiguo 21/03/2005, 15:24
Avatar de hunab  
Fecha de Ingreso: febrero-2005
Ubicación: Barcelona
Mensajes: 133
Antigüedad: 19 años, 2 meses
Puntos: 1
El problema es que debes colocar session_start() antes de cualquier salida hacia el navegador, eso evidentemente tambien incluye el html, asi que debes colocar esa sentencia al principio de todo tu documento.
Un saludo!
__________________
Marcio Barrios
marciobarrios.com // artículos sobre estándares y desarrollo web
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 22:50.