Boa tarde, eu criei um sistema de login por sessões e um livro de visitas em php.
Na página do livro de visitas tem um link para inserir mensagens que vai para a pagina inserir_msg.php e o que eu queria é que os utilizadores só acedessem a essa página depois de fazer o login.
Para isso no sistema de login criei uma página de nome restrito.php
E na página inserir_msg.php pos este código para restringuir o acesso a mesma
Ou seja pos um require
require("restrito.php"), só que dá-me um erro:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\site_login\inserir_msg.php:7) in C:\xampp\htdocs\site_login\restrito.php on line 7.
O que se passará ajudem-me.....
Abraços.
Na página do livro de visitas tem um link para inserir mensagens que vai para a pagina inserir_msg.php e o que eu queria é que os utilizadores só acedessem a essa página depois de fazer o login.
Para isso no sistema de login criei uma página de nome restrito.php
Código:
<?php
session_start();
if (isset($_SESSION['login']) && isset($_SESSION['password'])){
$login_utilizador = $_SESSION['login'];
}
else {
header("Location:index.php");
exit();
}
?>
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="fich_menus/cbcscbmenus.css" type="text/css" />
<title>Bombeiros Voluntários da Lixa </title>
<link href="estilo.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="imagens/favicon.ico">
<!-- Início da função de contagem de caracteres -->
<script language="javascript">
function ContaCaracteres(){
intCaracteres = 400 - document.formulario.mensagem.value.length;
if (intCaracteres > 0) {
document.formulario.caracteres.value = intCaracteres;
return true;
}
else {
document.formulario.caracteres.value = 0;
document.formulario.mensagem.value = document.formulario.mensagem.value.substr(0,400)
return false;
}
}
</script>
<!-- Fim da função de contagem de caracteres -->
</head>
<body>
<div id="global">
<div id="topo"> <? include ("include/topo/topo.php")?> </div>
<div id="imagem_principal"></div>
<div id="menus_horizontais">
<?php include("menus.php") ?>
</div>
<div id="conteudo"> <?
include("config.php");
require("restrito.php");
if (isset($_POST['utilizador'])){
$utilizador =utf8_decode($_POST['utilizador']);
$destinatario =utf8_decode($_POST['destinatario']);
$mensagem =utf8_decode($_POST['mensagem']);
if ($_POST['utilizador'] == "" || $_POST['destinatario'] == "")
{
echo "Por favor preencha todos os campos corretamente.";
echo "<br>";
}
elseif ($_POST['mensagem'] == ""){
echo "Por favor introduza a mensagem.";
echo "<br>";
}
else
{
$sql_inclu = "INSERT INTO livro(utilizador ,destinatario ,mensagem,data,hora) VALUES
('$utilizador', '$destinatario', '$mensagem', NOW(), NOW())";
$exe_inclu = mysql_query($sql_inclu) or die (mysql_error());
echo "Mensagem Inserida com sucesso";
}
}
?>
<form action="inserir_msg.php" method="post" name="formulario" id="formulario">
<table width="52%" border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<td colspan="2"> <div align="center"> <a href="mensagens.php"> Ver Mensagens </a> </div> </td>
</tr>
<tr>
<td width="14%"> <br><br>Utilizador</td>
<td width="85%"><p>
</p>
<p>
<input name="utilizador" id="utilizador" style="border: 1px solid rgb(153, 153, 153); background-color: #eeeeee; color: black;" type="text">
<td width="1%"> </td>
</tr>
<tr>
<td>Para:</td>
<td><select name="destinatario" id="destinatario">
<option value="Presidente"> Presidente </option>
<option value="Comandante"> Comandante</option>
<option value="Bombeiros"> Bombeiros </option>
<option value="Associação">Associação </option>
<option value="Todos"> Todos </option>
</select></td>
</tr>
<tr>
<td valign="top"><p></p>
<p>Mensagem:</p></td>
<td height="201"><p>
<textarea name="mensagem" cols="47" rows="10" style="border: 1px solid rgb(153, 153, 153); background-color: #eeeeee; color: black;" id="mensagem" onKeyUp='ContaCaracteres();'></textarea>
</p>
<p>Ainda restam
<input name="caracteres" type="text" value="400" size="3" maxlength="3" readonly="readonly">
caracteres. </p></td>
</tr>
<tr>
<td colspan="2">Adiccionar Smiles <br>
<?
include ("include/smileys/smileys.php");
?></td>
</tr>
<tr>
<td colspan="2">
<div align="center">
<input type="reset" name="reset" value="Limpar">
<input type="submit" value="Enviar" name="enviar" id="enviar"> </div>
</td>
</tr>
</table>
</form>
</div>
<div id="lateral">
<?php include("include/relogio/relogio.php") ?>
<?php include("include/temperatura/temperatura.php") ?>
<?php include("include/votacao/votos.php") ?>
</div>
</div>
<div id="fundo"> <?php include("include/fundo/fundo.php") ?> </div>
<br> <br>
</body>
</html>
require("restrito.php"), só que dá-me um erro:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\site_login\inserir_msg.php:7) in C:\xampp\htdocs\site_login\restrito.php on line 7.
O que se passará ajudem-me.....
Abraços.
Última edição pelo moderador: