Autor Tema: [Help] Error en la Session_start y login  (Leído 1102 veces)

Desconectado Saphari

  • PHPer@
  • **
  • Mensajes: 98
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
[Help] Error en la Session_start y login
« en: 20 de Abril de 2010, 07:29:10 am »
holas amigos este es el codigo que estoy usando para loguearme en mi pagina  web..

Código: [Seleccionar]
<form method="post" name="form2">
<table width="95%" border="0" cellspacing="0" cellpadding="1" align="center" class="poll">
<thead>
</thead>
<tr>
<td align="center"><div align="center"><span class="Estilo1">Usuario</span></div>
  <label>
  <div align="center">
    <input name="username" type="text" id="username" value="<?php $_POST[&#39;username&#39;]!=&#39;&#39; ? print($_POST[&#39;username&#39;]) : print(&#39;&#39;); ?>">
    <br><br>
      <span class="Estilo1">Password</span><br><br>
      <input name="password" type="password" id="password" value="<?php $_POST[&#39;password&#39;]!=&#39;&#39; ? print($_POST[&#39;password&#39;]) : print(&#39;&#39;); ?>"><br>
      <label><br>
      <input name="Login" type="submit" id="Login" value="Login">
      </label>
  </div>
  </label></td>
</tr>
</table>

</form>
<?php
include ("Config.php");
session_start();
if(
$_POST[&#39;Login&#39;]=="Login") {
$username htmlspecialchars($_POST[&#39;username&#39;]);
$password htmlspecialchars($_POST[&#39;password&#39;]);


if(empty($username) || empty($password)) {
echo 
"<center><p><br><p><font color=red>All fields are Mandatory / Todos Los  Campos Son  Obligatorios</font>";
} else {
//Encriptando Password
$passwordsha sha1($passwordtrue);
$passwordcript base64_encode($passwordsha);
//Consultando el Usuario
  
$qry "SELECT username, password FROM user_game WHERE username=&#39;$username&#39;" or die("Error in $qry");
  
$exe mysql_query($qry$connect) or print(mysql_error());
  
//Comparando la Password
  
if($exe[&#39;password&#39;] == $passwordcript) {
echo "Login Incorrecto";
} else {
$_SESSION["username"] = $exe[&#39;username&#39;];
echo "Bienvenid@".$_SESSION[&#39;username&#39;].".";
}
}
}
?>

El Error  es el siguiente

Código: [Seleccionar]
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at \www\index.php:129) in C:\AppServ\www\index.php on line 143

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at \www\index.php:129) in C:\AppServ\www\index.php on line 143

Otra cosas  cuando loguea no me elimina  el formulario y  abajo dice  bienvenido
<?Php
 $Dev = "  Developer  The  ";
 $game = "  Aion and World Of Warcraft  ";
 $name = "  Saphari and Firewall";
echo "Yo Soy", $Dev, $game, $name;
?>

Comunidad PHPeros

[Help] Error en la Session_start y login
« en: 20 de Abril de 2010, 07:29:10 am »

Desconectado javipilo

  • PHPero Experto
  • *****
  • Mensajes: 975
  • Karma: 31
  • Sexo: Masculino
    • Ver Perfil
Re:[Help] Error en la Session_start y login
« Respuesta #1 en: 20 de Abril de 2010, 10:00:31 am »
Tu problema es que el session_start(); no puede ir despues del config, lo que debes hacer es meterlo en el config al principio del todo, te recomiendo una modulación así solo tienes que cargar el config una vez.

Saludos, espero haberte ayudado  ;)

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[Help] Error en la Session_start y login
« Respuesta #2 en: 20 de Abril de 2010, 13:41:06 pm »

La función session_start(); debe siempre estar en el principio del código.

#Fdo. Physlet

Desconectado Saphari

  • PHPer@
  • **
  • Mensajes: 98
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:[Help] Error en la Session_start y login
« Respuesta #3 en: 20 de Abril de 2010, 16:34:43 pm »
ya solucione el problema de la  sesion_start(); pero me logeo  bien pero no  me  formulario  una ves logeado :s
<?Php
 $Dev = "  Developer  The  ";
 $game = "  Aion and World Of Warcraft  ";
 $name = "  Saphari and Firewall";
echo "Yo Soy", $Dev, $game, $name;
?>

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[Help] Error en la Session_start y login
« Respuesta #4 en: 20 de Abril de 2010, 16:55:57 pm »
ya solucione el problema de la  sesion_start(); pero me logeo  bien pero no  me  formulario  una ves logeado :s

¿Eing?

#Fdo. Physlet

Desconectado Saphari

  • PHPer@
  • **
  • Mensajes: 98
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:[Help] Error en la Session_start y login
« Respuesta #5 en: 20 de Abril de 2010, 17:52:51 pm »
discula  es que no me  quita  el formulario una ves logeado en lapagina  da la bienvenida
<?Php
 $Dev = "  Developer  The  ";
 $game = "  Aion and World Of Warcraft  ";
 $name = "  Saphari and Firewall";
echo "Yo Soy", $Dev, $game, $name;
?>

Desconectado Jumarras

  • PHPer@
  • **
  • Mensajes: 73
  • Karma: 3
  • Sexo: Masculino
  • Ten cerca a tus amigos, pero mas a tus enemigos
    • Ver Perfil
Re:[Help] Error en la Session_start y login
« Respuesta #6 en: 20 de Abril de 2010, 18:37:38 pm »
hola shapari, creo que poniendo de esta forma el archivo funcionaria:

Código: [Seleccionar]
<?php
session_start
();
if (
$_session[&#39;username&#39;] = $exe[&#39;username&#39;] && $exe[&#39;password&#39;] == $passwordcript])
{
 echo 
"
 <form method=&#39;post&#39; name=&#39;form2&#39;>
<table width=&#39;95%&#39; border=&#39;0&#39; cellspacing=&#39;0&#39; cellpadding=&#39;1&#39; align=&#39;center&#39; class=&#39;poll&#39;>
<thead>
</thead>
   <tr>
      <td align=&#39;center&#39;><div align=&#39;center&#39;><span class=&#39;Estilo1&#39;>Usuario</span></div>
        <label>
        <div align=&#39;center&#39;>
          <input name=&#39;username&#39; type=&#39;text&#39; id=&#39;username&#39; value="
.$_POST[&#39;username&#39;]!=&#39;&#39; ? print($_POST[&#39;username&#39;]) : print(&#39;&#39;); .">
          
<br><br>
            <
span class=&#39;Estilo1&#39;>Password</span><br><br>
            
<input name=&#39;password&#39; type=&#39;password&#39; id=&#39;password&#39; value=".$_POST[&#39;password&#39;]!=&#39;&#39; ? print($_POST[&#39;password&#39;]) : print(&#39;&#39;); ."><br>
            
<label><br>
            <
input name=&#39;Login&#39; type=&#39;submit&#39; id=&#39;Login&#39; value=&#39;Login&#39;>
            
</label>
        </
div>
        </
label></td>
   </
tr>
</
table>

</
form>";
}
else
{
include ("
Config.php");

if(
$_POST[&#39;Login&#39;]=="Login") 
{
$username = htmlspecialchars($_POST[&#39;username&#39;]);
$password = htmlspecialchars($_POST[&#39;password&#39;]);

if(empty(
$username) || empty($password)) 
{
echo "
<center><p><br><p><font color=red>All fields are Mandatory Todos Los  Campos Son  Obligatorios</font>";

else 
{
//Encriptando Password
$passwordsha = sha1($password, true);
$passwordcript = base64_encode($passwordsha);
//Consultando el Usuario
$qry = "SELECT usernamepassword FROM user_game WHERE username=&#39;$username&#39;" or die("Error in $qry");
$exe mysql_query($qry$connect) or print(mysql_error());
//Comparando la Password
if($exe[&#39;password&#39;] == $passwordcript && $exe[&#39;username&#39;] == $username) 
{
echo "Login Incorrecto";
}
else
{
echo"Te has logueado";
}
}
}
}
?>

Desconectado Saphari

  • PHPer@
  • **
  • Mensajes: 98
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:[Help] Error en la Session_start y login
« Respuesta #7 en: 21 de Abril de 2010, 03:37:39 am »
asi como lo colocaste no me muestra el formulario para logearme man
<?Php
 $Dev = "  Developer  The  ";
 $game = "  Aion and World Of Warcraft  ";
 $name = "  Saphari and Firewall";
echo "Yo Soy", $Dev, $game, $name;
?>

Desconectado javipilo

  • PHPero Experto
  • *****
  • Mensajes: 975
  • Karma: 31
  • Sexo: Masculino
    • Ver Perfil
Re:[Help] Error en la Session_start y login
« Respuesta #8 en: 21 de Abril de 2010, 09:23:55 am »
Código: [Seleccionar]
session_start();
if ($_SESSION['username'])
{
echo"Contenido de logueado";
} else {
<form method="post" name="form2">
<table width="95%" border="0" cellspacing="0" cellpadding="1" align="center" class="poll">
<thead>
</thead>
   <tr>
      <td align="center"><div align="center"><span class="Estilo1">Usuario</span></div>
        <label>
        <div align="center">
          <input name="username" type="text" id="username" value="<?php $_POST[&#39;username&#39;]!=&#39;&#39; ? print($_POST[&#39;username&#39;]) : print(&#39;&#39;); ?>">
          <br><br>
            <span class="Estilo1">Password</span><br><br>
            <input name="password" type="password" id="password" value="<?php $_POST[&#39;password&#39;]!=&#39;&#39; ? print($_POST[&#39;password&#39;]) : print(&#39;&#39;); ?>"><br>
            <label><br>
            <input name="Login" type="submit" id="Login" value="Login">
            </label>
        </div>
        </label></td>
   </tr>
</table>

</form>
<?php
include ("Config.php");
if(
$_POST[&#39;Login&#39;]=="Login") {
$username htmlspecialchars($_POST[&#39;username&#39;]);
$password htmlspecialchars($_POST[&#39;password&#39;]);


if(empty($username) || empty($password)) {
echo 
"<center><p><br><p><font color=red>All fields are Mandatory / Todos Los  Campos Son  Obligatorios</font>";
} else {
//Encriptando Password
$passwordsha sha1($passwordtrue);
$passwordcript base64_encode($passwordsha);
//Consultando el Usuario
  
$qry "SELECT username, password FROM user_game WHERE username=&#39;$username&#39;" or die("Error in $qry");
  
$exe mysql_query($qry$connect) or print(mysql_error());
  
//Comparando la Password
  
if($exe[&#39;password&#39;] == $passwordcript) {
   
echo "Login Incorrecto";
   } else {
   
$_SESSION["username"] = $exe[&#39;username&#39;];
   
echo "Bienvenid@".$_SESSION[&#39;username&#39;].".";
      
}
}
}
}
?>


Solo debes hace run if con la session $_SESSION['username'], ;)

Saludos

Desconectado Saphari

  • PHPer@
  • **
  • Mensajes: 98
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:[Help] Error en la Session_start y login
« Respuesta #9 en: 21 de Abril de 2010, 14:38:09 pm »
aqui te dejo una imagen para que veas  que tengo el usuario y la password bien y abajo  dice  bienvenido

<?Php
 $Dev = "  Developer  The  ";
 $game = "  Aion and World Of Warcraft  ";
 $name = "  Saphari and Firewall";
echo "Yo Soy", $Dev, $game, $name;
?>

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[Help] Error en la Session_start y login
« Respuesta #10 en: 21 de Abril de 2010, 14:50:07 pm »

Vale creo que ya he dado con la solución. Si te fijas, en tu codigo pone unas variables que tienen
un fallo un poco pero grande tonto :

Citar
$qry = "SELECT username, password FROM user_game WHERE username='$username'" or die("Error in $qry");
$exe = mysql_query($qry, $connect) or print(mysql_error());

Lo que yo haría sería lo siguiente :

Citar
$qry = "SELECT username, password FROM user_game WHERE username='$username'";
$exe = mysql_fetch_array($qry, $connect) or print(mysql_error());

Si te fijas, tu pusiste mysql_query() creyendo que este devolvería una cadena de texto, pero
te equivocas, mysql_query solo hace instrucciones a la base de datos, solo ejecuta.

Para sacar una cadena de texto, debes usar : mysql_fetch_array();

#Fdo. Physlet

Desconectado Saphari

  • PHPer@
  • **
  • Mensajes: 98
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:[Help] Error en la Session_start y login
« Respuesta #11 en: 21 de Abril de 2010, 15:10:25 pm »
ok el code no tiene problema, el logea   bien el usuario pero  si  nos  damos  cuentas el me da le bienvenida abajo significa que  esta bien el usuario y la clave pero  sin embargo da la bienvenida pero no  quita el  formulario de login me entiendes ?
<?Php
 $Dev = "  Developer  The  ";
 $game = "  Aion and World Of Warcraft  ";
 $name = "  Saphari and Firewall";
echo "Yo Soy", $Dev, $game, $name;
?>

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[Help] Error en la Session_start y login
« Respuesta #12 en: 21 de Abril de 2010, 15:25:18 pm »

Resulta que cuando se pulsa el botón Login, se hace la comprobación en la base de datos y si
todo "encaja", se crea una session. Como se ha creado, podremos trabajar con ella.


<?php session_start(); include"Config.php"; if($_SESSION[&#39;username&#39;] == ""){ ?>
contenido del formulario
?> <? } else {
$username htmlspecialchars($_POST[&#39;username&#39;]);
$password htmlspecialchars($_POST[&#39;password&#39;]);
if($username == "" or $passwordempty == "") {
echo 
"<center><p><br><p><font color=red>All fields are Mandatory / Todos Los  Campos Son  Obligatorios</font>";
} else {
//Encriptando Password
$passwordsha sha1($passwordtrue);
$passwordcript base64_encode($passwordsha);
//Consultando el Usuario
  
$qry "SELECT username, password FROM user_game WHERE username=&#39;$username&#39;";
  
$exe mysql_fetch_array($qry$connect) or print(mysql_error());
  
//Comparando la Password
  
if($exe[&#39;password&#39;] == $passwordcript) {
   
echo "Login Incorrecto";
   } else {
   
$_SESSION["username"] = $exe[&#39;username&#39;];
   
echo "Bienvenid@".$_SESSION[&#39;username&#39;].".";
      
}
}
?>

#Fdo. Physlet

Desconectado Saphari

  • PHPer@
  • **
  • Mensajes: 98
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:[Help] Error en la Session_start y login
« Respuesta #13 en: 22 de Abril de 2010, 04:16:51 am »
Tengo error  estube  revisando el codigo pero nada   que soluciono  ayudenme por favor

error
Código: [Seleccionar]
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\index.php:123) in C:\AppServ\www\index.php on line 172

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\index.php:123) in C:\AppServ\www\index.php on line 173
Bienvenid@
- Editar Perfil
- Lista de Miembros
- Cerrar Sesi�n

Si se  dan cuenta  logeo en mi pagina pero mi formularo de  login esta  todabia  hay  y tengo  un error  en el code de paso



aqui les dejo mi code nuevo

Código: [Seleccionar]
<?php
session_start
();
if (
$_SESSION[&#39;username&#39;])
{
echo
"Contenido de logueado";
} else {
?>

<form method="post" name="form2">
<table width="95%" border="0" cellspacing="0" cellpadding="1" align="center" class="poll">
<thead>
</thead>
   <tr>
      <td align="center"><div align="center"><span class="Estilo1">Usuario</span></div>
        <label>
        <div align="center">
          <input name="username" type="text" id="username" value="<?php $_POST[&#39;username&#39;]!=&#39;&#39; ? print($_POST[&#39;username&#39;]) : print(&#39;&#39;); ?>">
          <br><br>
            <span class="Estilo1">Password</span><br><br>
            <input name="password" type="password" id="password" value="<?php $_POST[&#39;password&#39;]!=&#39;&#39; ? print($_POST[&#39;password&#39;]) : print(&#39;&#39;); ?>"><br>
            <label><br>
            <input name="Login" type="submit" id="Login" value="Login">
            </label>
        </div>
        </label></td>
   </tr>
</table>

</form>
<?php
include ("Config.php");
if(
$_POST[&#39;Login&#39;]=="Login") {
$username htmlspecialchars($_POST[&#39;username&#39;]);
$password htmlspecialchars($_POST[&#39;password&#39;]);


if(empty($username) || empty($password)) {
echo 
"<center><p><br><p><font color=red>All fields are Mandatory / Todos Los  Campos Son  Obligatorios</font>";
} else {
//Encriptando Password
$passwordsha sha1($passwordtrue);
$passwordcript base64_encode($passwordsha);
//Consultando el Usuario
  
$qry "SELECT username, password FROM user_game WHERE username=&#39;$username&#39;" or die("Error in $qry");
  
$exe mysql_query($qry$connect) or print(mysql_error());
  
//Comparando la Password
  
if($exe[&#39;password&#39;] == $passwordcript) {
   
echo "Login Incorrecto";
   } else {
   
$_SESSION["username"] = $exe[&#39;username&#39;];
   
setcookie("id"$user[id],time()+(60*60*24*5), "/""");  //linea  de error
   
setcookie("pass"$user[password],time()+(60*60*24*5), "/"""); //linea  de error
   
echo "Bienvenid@ $_SESSION[username]<br>
    - <a href=\"editprofile.php\">Editar Perfil</a><br />
- <a href=\"members.php\">Lista de Miembros</a><br />
- <a href=\"logout.php\">Cerrar Sesión</a>"
;
      }
}
}
}
?>
<?Php
 $Dev = "  Developer  The  ";
 $game = "  Aion and World Of Warcraft  ";
 $name = "  Saphari and Firewall";
echo "Yo Soy", $Dev, $game, $name;
?>

Desconectado javipilo

  • PHPero Experto
  • *****
  • Mensajes: 975
  • Karma: 31
  • Sexo: Masculino
    • Ver Perfil
Re:[Help] Error en la Session_start y login
« Respuesta #14 en: 22 de Abril de 2010, 10:18:18 am »
Haber si este:

Recomendación: Yo que lo haría con session en vez de con cookies ya que las cookies son menos seguras.

Código: [Seleccionar]
<?php
session_start
();
include (
"Config.php");
if (
$_SESSION[&#39;username&#39;])
{
echo "Bienvenid@ $_SESSION[&#39;username&#39;];
- <a href=\"editprofile.php\">Editar Perfil</a><br />
- <a href=\"members.php\">Lista de Miembros</a><br />
- <a href=\"logout.php\">Cerrar Sesión</a>"
;
} else {
if(
$_POST)
{
$username mysql_real_scape_string(htmlspecialchars($_POST[&#39;username&#39;]));
$password mysql_real_scape_string(htmlspecialchars($_POST[&#39;password&#39;]));

if($username and $password)
{
$passwordsha sha1($passwordtrue);
$passwordcript base64_encode($passwordsha);
$QryUsuarios mysql_fetch_assoc(mysql_query("SELECT * FROM user_game WHERE username = &#39;".$username."&#39; and password = &#39;".$passwordcript."&#39;"));
if ($QryUsuarios[&#39;username&#39;] and $QryUsuarios[&#39;password&#39;])
{
$_SESSION[&#39;username&#39;] = $QryUsuarios[&#39;username&#39;];
echo "<script>location.href=&#39;index.php&#39;</script>"
} else {
echo "Contraseña o Usuario incorrectos";
}

} else {
echo "<center><p><br><p><font color=red>All fields are Mandatory / Todos Los  Campos Son  Obligatorios</font>";
}
} else
?>

<form method="POST">
<table width="95%" border="0" cellspacing="0" cellpadding="1" align="center" class="poll">
<thead>
</thead>
   <tr>
      <td align="center"><div align="center"><span class="Estilo1">Usuario</span></div>
        <label>
        <div align="center">
          <input name="username" type="text" id="username" value="<?php $_POST[&#39;username&#39;]!=&#39;&#39; ? print($_POST[&#39;username&#39;]) : print(&#39;&#39;); ?>">
          <br><br>
            <span class="Estilo1">Password</span><br><br>
            <input name="password" type="password" id="password" value="<?php $_POST[&#39;password&#39;]!=&#39;&#39; ? print($_POST[&#39;password&#39;]) : print(&#39;&#39;); ?>"><br>
            <label><br>
            <input type="submit" id="Login" value="Login">
            </label>
        </div>
        </label></td>
   </tr>
</table>
</form>