Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
opaaa
sera que alguem pode me da uma ajuda aki ..... é o seguinte sempre usei um script aqui pra logar e entrar em paginas restritas, esse script eu criei basiado em um que peguei na internet.
Em outros sistemas ele pega normal mas nesse nao ta querendo pega, tipo ele pega mas da erro, é assim
ele cria a session mas acusa um erro , eu sei q cria pq tento acesa uma pagina "restrita" ele acessa mas na pagina q faiz o login c o login e a senha estaum corretos ele continua acusando erro.
em outros sistemas sempre usei 3 paginas login.php(onde tem dois campos login e senha) ai manda pra logar.php(que verifica e cria a session) e validar_session(que é incluida nas paginas restritas) desse modo sempre pego.
mas nesse otro to tentando faze o login.php e o logar.php na mesma com o $_SERVER['PHP_SELF'];
ja tentei muda bastante coisa mas n sei o pq do erro ...
ta ai o script
<?
require_once ("incs/conf.php");
?>
<form name="logar" method="post" action="<? echo $_SERVER['PHP_SELF'];?>?page=login/login&logar">
Login<br />
<input type="text" name="login" /><br /><input type="password" name="senha" />
<br>
<br>
<input type="submit" name="button" id="button" value="Submit">
</form>
<?
if(isset($_GET['logar'])){
if(empty($_POST['login']) || empty($_POST['senha'])){
echo '<font color=red>campos em branco.</font>';
}
else{
$login = htmlspecialchars($_POST['login']);
$senha = $_POST['senha'];
$login_scape = (addslashes($login));
$senha_scape = (addslashes($senha));
//verifica c o usuario existe
$consulta = mysql_query("SELECT * FROM usuarios WHERE login='{$login_scape}'");
$consulta1 = mysql_fetch_assoc($consulta);
$consulta2 = mysql_num_rows($consulta);
if($consulta2 !=0){
//se o usuario existe verifica a senha
if($senha_scape != mysql_result($consulta,0,"senha")){
echo '<font color=red>Senha Incorreta.</font>';
}
else{
if($login){
session_start();
$_SESSION["login"] = $login;
$_SESSION["senha"] = $senha;
header("Location:adm/index-adm.php");
}
}
}
else{
echo '<font color=red>O usuario nao existe.</font>';
}
}
}
?>
desculpas se escrevi d+ ... vlw
opsssss
perdaummmm esqueci disso
ta ai
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\arquivos de programas\easyphp1-8\www\3\index.php:17) in c:\arquivos de programas\easyphp1-8\www\3\login\login.php on line 36
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\arquivos de programas\easyphp1-8\www\3\index.php:17) in c:\arquivos de programas\easyphp1-8\www\3\login\login.php on line 36
obs: a linha 36 e essa:
session_start();
vlw...
Se você está usando sessões baseadas em cookie, você deve chamar session_start() antes de qualquer coisa ser exibida para o navegador.
intaummm tipo , so to trabalhando com sessao mesmo , e essa pagina é a pagina q faiz o login n tem como eu por session_start(); no inicio pq essa pagina primero pega os dados do form e depois loga .....
n sei oque aconteceu sempre usei esse script e nunk deu erro... tem otra soluçao ???
de qualquer forma vlw pela ajuda =D
aguardo resposta
testa ai
<?php
session_start();
require_once ("incs/conf.php");
if(isset($_POST["Submit"])) {
if(empty($_POST['login']) || empty($_POST['senha'])){
echo '<font color=red>campos em branco.</font>';
}
else{
$login = htmlspecialchars($_POST['login']);
$senha = $_POST['senha'];
$login_scape = (addslashes($login));
$senha_scape = (addslashes($senha));
//verifica c o usuario existe
$consulta = mysql_query("SELECT * FROM usuarios WHERE login='{$login_scape}'");
$consulta1 = mysql_fetch_assoc($consulta);
$consulta2 = mysql_num_rows($consulta);
if($consulta2 !=0){
//se o usuario existe verifica a senha
if($senha_scape != mysql_result($consulta,0,"senha")){
echo '<font color=red>Senha Incorreta.</font>';
}
else{
if($login){
$_SESSION["login"] = $login;
$_SESSION["senha"] = $senha;
header("Location:adm/index-adm.php");
}
}
}
else{
echo '<font color=red>O usuario nao existe.</font>';
}
}
}
}
?>
<form name="logar" method="post" action="<? echo $_SERVER['PHP_SELF'];?>?page=login/login&logar">
Login<br />
<input type="text" name="login" /><br />
Senha<br/>
<input type="password" name="senha" />
<br>
<br>
<input type="submit" name="button" id="button" value="Submit">
</form>
Lembrando que não alterei a action veja o caminho voce mesmotestei aqui , ai ele deu um erro na linha 2 com a linha que ta a "session_start();"
olha so
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\arquivos de programas\easyphp1-8\www\3\index.php:17) in c:\arquivos de programas\easyphp1-8\www\3\login\login.php on line 2
Brow da dando que
Não pode enviar sessão, cabeçalhos já foi enviado
então o seu código não tem erro!
Aguarde um outro membro pra te dar uma posição sobre isso, ja tive um problema parecido com este mas era com subdominio e foi resolvido com modificações no php.ini
Aguarde alguém para te dar uma posição exata
Abraços e boa noite
fuiiiiiiiiiiii
ok , vlw pela ajuda , vo aguarda =D
Eaee blza cara eu tive esse eroo ai uma vez seguinte se for o mesmo que aconteceu comigo 2 explicaçoes esse erro vem do easy php certo entao tu vai ter q ir la no teu php.ini e abilitar o session_start valor (1) deve estar com valor (0)
outra explicação se for um problema parecido ocorrendo na hospedagem tem que abilitar com .htaccess
ve se ajudou essa dica ai valew
opaaa
intuam studdiox......
a unica linha q encontrei foi essa session.auto_start = 0 (axei q era essa tentei muda o valor pra 1 tambem n pego )
acho q o problema nao ta ai , pe é o seguinte tenhu um otro sistema aqui q roda o mesmo script com uma unica diferença o formulario de login e a verificaçao sao em paginas separadas
esse e o unic q fiz em uma pagina junta , acho q n seja issu , mas mesmo assim vlw
Se houver um espaço entre o início do código, e o a tag do php, vai dar erro porque o espaço é enviado ao browser.
Posta o erro amigo :rolleyes: