hola muy buenas a tod@s
estoy intentando hacer un logueo para que solamente las personas que estàn registradas(logueadas) pueden entrar en la página,y una vez que estàn logueadas pues asignarle un identificador para efectuar una serie de operaciones(compra,etc...) es lo que se llama la propagación de sessiones.
lo que ocurre me sale el siguiente error y no sé cómo resolverlo.
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\apache\htdocs\pruebas\index.php:8)
(sabiendo que no dejo ningun espacio en blanco ni nada)
pagina que efectua el logueo es la siguiente :si observais algo que se puede
quitar o mejorar estaré agradecido.yaque estoy una persona novate en el mundo de php.
Código PHP:
session_name();
session_start();
mysql_connect("localhost","","host") or die ("<h2>Problemas al establecer la conexión</h2>");
mysql_select_db("prueba") or die ("<h2> Problemas al seleccionar la base de datos</h2>");
if($_POST['username'])
{
$usernarme=$_POST['username'];
$password=$_POST['password'];
if(empty($password) || empty($username)){
echo "<h2> el campo del nombre o la contraseña no fueron enviados</h2>";}
else
{
$query="select usuario,clave from usuarios where usuario='".$username."'";
$result=mysql_query($query);
$data=mysql_fetch_array($result);
if($data['clave']!=$password){
echo "<h2> Usted no tienes el permiso para entrar aqui </h2>";
}
else
{
$q=mysql_query("select usuario,clave from usuarios where usuario='$username' and clave='$password'") or die (mysql_error());
$row=mysql_fetch_array($q);
$_SESSION["s_username"]=$row['usuario'];
$valid_user=$s_username;
session_register("valid_user"); //1
echo " <a href=\"index.php ?PHPSESSID=".$PHPSESSID."\"><h2>Pulse aqui para acceder la página principal</h2></a>";//2
}
}
}
¿?se puede omitir ¿?//1
¿?en vez de propagar la session mediante PHPSESSID existe otra alternativa ¿?//2
página del index
Código PHP:
<html>
<head>
<title></title>
</head>
<body text="#000000">
<p><img src="bibliotecas.jpg" width="190" height="100" </p>
<p> </p>
<?php
session_start(); //me da el fallo que comenté
echo "<h2> por favor elija una categoria: </h2>";
en las otras páginas relacionadas con el index.php siempre empiezo con session_start() con la intención de que si ya se inicializo una session pues que termine con ella y si no que crea una nueva.
espero que me explicado + o - bien.
gracias por vuestra ayuda.
en la espera de vuestras respuestas les saludo atentamente.
muchas gracias