Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rsddaros

to tomando um Cacete de $_SESSION[] e

Recommended Posts

E ae Galera do IMASTERS...

Bom eu fiz um script php que captura o email , login e senha e criptografa a senha com md5(); que compara com uma senha inserida no bd criptografada.../

Até aqui ta tudo OK..

O if que compara o login para que o usuario tenha acesso está assim

 

PHP

[*]if($senha == "$senha_bd" and $login == "$login_bd"){

[*]echo "logado com sucesso!!!";

[*]

[*]/* até aqui ta ok mas, Como faço para passar os dados do login e senha para

[*] outra pagina ??? Ja tentei usar o seguinte*/

[*]}

[*]

[*]//no inicio da pagina antes de tudo coloquei session_start();dentro do if coloque 

[*]

[*]$_SESSION['login'] = $login; 

[*]$_SESSION['senha'] = $senha;

[*]

[*]/*e tambem tentei fazer assim dentro do if colocar o session_start(); e os 

[*]$_SESSION[] e até agora não consegui usar esse SESSION_START();*/

[*]

[*]

os erros são:

 

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/hostspi/public_html/conectusers/action.php:1) in /home/hostspi/public_html/conectusers/action.php on line 25

 

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/hostspi/public_html/conectusers/action.php:1) in /home/hostspi/public_html/conectusers/action.php on line 25

 

e o codigo completo é:

PHP

[*] <?php

[*]

[*]  $email = $_POST["email"];

[*]  $login = $_POST["login"];

[*]  $senha = md5($_POST["senha"]);

[*]

[*]  require('conectusers.php');

[*]

[*] $sql = "SELECT * FROM login_senha WHERE email='$email'";

[*] $res = mysql_query($sql);

[*] if(mysql_num_rows($res)==0)

[*] {

[*] echo "Você esta tentando entrar em area restrita seu ip é $REMOTE_ADDR";

[*] }

[*] else

[*] {

[*] $registro = mysql_fetch_row($res);

[*]  $email = $registro[0];

[*] $conect_login = $registro[1];

[*] $conect_senha = md5($registro[2]);

[*]

[*] if($login =="$conect_login" and $senha =="$conect_senha"){

[*]  echo"Membro : $login ";

[*]

[*]  session_start();

[*]  $_SESSION['login'] = $login;

[*]  $_SESSION['senha'] = $senha;

[*]

[*]  }

[*]  elseif($login !="$conect_login"){

[*] echo"Erro no login";

[*]  }

[*]

[*]elseif($senha !="$conect_senha"){

[*] echo"Erro na senha";

[*]  }

[*]}

[*]  ?>

[*]

 

Alguem sabe oque posso fazer para conseguir usar SESSIONS???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque o session_start() na primeira linha do código. Essa função tem que ser a primeira coisa a ser feita em um script que utiliza sessões.

Compartilhar este post


Link para o post
Compartilhar em outros sites

PHP

[*]<?php 

[*]session_start()

[*]  $email = $_POST["email"]

[*]  $login = $_POST["login"]

[*]  $senha = md5($_POST["senha"])

[*]

[*]  require('conectusers.php')

[*]

[*] $sql = "SELECT * FROM login_senha WHERE email='$email'"

[*] $res = mysql_query($sql)

[*] if(mysql_num_rows($res)==0) 

[*] { 

[*] echo "Você esta tentando entrar em area restrita seu ip é $REMOTE_ADDR"

[*] } 

[*] else 

[*] { 

[*] $registro = mysql_fetch_row($res)

[*]  $email = $registro[0]

[*] $conect_login = $registro[1]

[*] $conect_senha = md5($registro[2])

[*]

[*] if($login =="$conect_login" and $senha =="$conect_senha")

[*]  echo"Membro : $login "

[*]  

[*]

[*]  $_SESSION['login'] = $login; 

[*]  $_SESSION['senha'] = $senha; 

[*]

[*]  } 

[*]  elseif($login !="$conect_login")

[*] echo"Erro no login"

[*]  } 

[*]

[*]elseif($senha !="$conect_senha")

[*] echo"Erro na senha"

[*]  } 

[*]} 

[*]  ?> 

[*]

 

 

tenta isso...

detalhe: a session_start() tem q estar SOZINHA! nao pode vir acompanhada de um espacinho em branco sequer... senao da errado.

 

se mesmo assim nao der, tenta isso:

PHP

[*]<?php 

[*]ob_start();

[*]session_start()

[*]  $email = $_POST["email"]

[*]  $login = $_POST["login"]

[*]  $senha = md5($_POST["senha"])

[*]

[*]  require('conectusers.php')

[*]

[*] $sql = "SELECT * FROM login_senha WHERE email='$email'"

[*] $res = mysql_query($sql)

[*] if(mysql_num_rows($res)==0) 

[*] { 

[*] echo "Você esta tentando entrar em area restrita seu ip é $REMOTE_ADDR"

[*] } 

[*] else 

[*] { 

[*] $registro = mysql_fetch_row($res)

[*]  $email = $registro[0]

[*] $conect_login = $registro[1]

[*] $conect_senha = md5($registro[2])

[*]

[*] if($login =="$conect_login" and $senha =="$conect_senha")

[*]  echo"Membro : $login "

[*]  

[*]

[*]  $_SESSION['login'] = $login; 

[*]  $_SESSION['senha'] = $senha; 

[*]

[*]  } 

[*]  elseif($login !="$conect_login")

[*] echo"Erro no login"

[*]  } 

[*]

[*]elseif($senha !="$conect_senha")

[*] echo"Erro na senha"

[*]  } 

[*]} 

[*]ob_end_clean();

[*]  ?> 

[*]

 

 

isso armazena qualquer saída ao html que seja dada antes do session_start() no buffer...isso quer dizer q o programa soh vai liberar coisas ao html dps q os cabeçalhos forem colocados.

 

pra mais informações, dá uma fuçada em www.php.net

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso serve para eu prestar mais atenção pois eu tava inserindo espaços em session_start();e vcs falaram que não tem espaços em branco dai eu coloquei sem espaços e sumiu os erros...Mas e para mim capturar as sessions na 2 pagina ou seja tranferir os dados para a segunda pagina??? como faço???

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.