He puesto el session_start(); en la primera página que se abre al iniciar la sesión. Ya no me da el error, pero cuando me logeo, me actúa como si no me hubiera logeado, es decir, me dice "USTED NO ESTÁ EN EL SISTEMA". Voy a poner los códigos otra vez:
Código:
<html>
<?php
session_start ();
?>
<form action="opciones.php" method="post">
Usuario: <input type ="text" name ="usuario"><br>
Contraseña: <input type= "text" name="contrasena"><br>
<input type ="submit" value ="LOG IN">
</form>
<a href= "formregistro.html">REGÍSTRATE</a>
</html>
Código:
<html>
<?php
$lognick=$_POST['usuario'];
$logpass=$_POST['contrasena'];
$link=mysql_connect("localhost","root","");
mysql_select_db(dbimagenes,$link);
$result = mysql_query ("select count(*) FROM autores WHERE nick='".$lognick."' AND contraseña='".$logpass."'");
$login=mysql_result($result,0);
if (!$login){
die ("login incorrecto");
}
else{
echo "login correcto<br>";
$_SESSION["login"]=1;
}
?>
<li> <a href = "forminsertimage.php"> Añadir imagen </a></li>
<li> <a href = "buscatipo.php"> Buscar imagen por tipos </a></li>
<li><a href = "buscaclave.php"> Bucar imagen por palabra clave </a></li>
<li><a href = "buscaautor.php"> Bucar imagen por autor</a></li>
<li><a href = "buscafecha.php"> Bucar imagen por fecha </a></li>
<li><a href = "buscaavanzada.php"> Búsqueda avanzada </a></li>
</html>
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
<title>Añadir imagen</title>
</head>
<body>
<?php
$login=$_SESSION["login"];
echo "$_login";
if (!$login){
die("USTED NO ESTÁ EN EL SISTEMA");
}
?>
<form action="insertimage.php" method="post">
Introduce palabras clave: <input type = "text" name="claves"><br>
Introduce la ruta del fichero: <input type ="file" name="fichero"><br>
Introduce el código de clasificación:<input type = "text" name="codigo">
</body>
</html>
twonex, dices que ponga el session_start() antes del html, pero¿No es una sentencia php y debe ir dentro del script? Por otro lado ¿La sesión se inicia sólo en una página, en la primera, no? Y bueno, el erroro no me aparece ya, no sé si el problema es cuestión del sesion start.