Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Feedeex

#171
PHP / Error con sesion y headers
4 Diciembre 2010, 21:20 PM
Hola, en index.php tengo el código así al principio:

<?php
session_start
();
include(
"config.php");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<script type="text/javascript" src="../livevalidation.js"></script>
<head>


y me da:

CitarWarning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\index.php:1) in C:\xampp\htdocs\index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\index.php:1) in C:\xampp\htdocs\index.php on line 2

No comprendo por qué, si no hay ningún caracter raro, espacio, o algo que pueda llegar a afectar.
#172
PHP / Re: Problema con PHP
4 Diciembre 2010, 19:51 PM
Gracias por las ayudas. Borré todo y lo volví a programar de 0 y ya funciona :xD
#173
PHP / Re: Problema con PHP
4 Diciembre 2010, 18:46 PM
Uhmm, es muy raro esto. Debuggue así:

<?php
include ("conexion.php");
include (
"pvpgn_hash.php");
$usuario strtolower(trim($_POST['usuario']));
$password strtolower(pvpgn_hash(trim($_POST['password'])));
  
$consulta mysql_query("SELECT * FROM bnet where acct_username='$usuario'");
  if (
mysql_num_rows($consulta) > 0) {
    while (
$row mysql_fetch_array($consulta)) {
 $acct_username $row['acct_username'];
 if ($acct_username == $usuario) {
 die("Usuario incorrecto");
  $acct_password $row['acct_passhash1'];
  if ($acct_password == $password) {
   die("Contraseña correcta");
   session_start();
   $_SESSION['usuario'] = $usuario;
   $email $row['acct_email'];
   $_SESSION['email'] = $email;
   } else{
   die("Contraseña incorrecta");
   }
} else {
die("Usuario incorrecto");
   }
  }
 }


Y nada sigue finalizando en blanco :rolleyes:
#174
PHP / Re: Problema con PHP
4 Diciembre 2010, 18:27 PM
Cita de: pablomi en  4 Diciembre 2010, 18:23 PM
Podías ir haciendo caso a lo que te dijo seele, debuggea:
Código (php) [Seleccionar]
<?php
include ("conexion.php");
include (
"pvpgn_hash.php");
$usuario strtolower(trim($_POST['usuario']));
$password strtolower(pvpgn_hash(trim($_POST['password'])));
$consulta mysql_query("SELECT * FROM bnet where acct_username='$usuario'");
if (
mysql_num_rows($consulta) > 0) {
    while (
$row mysql_fetch_array($consulta)) {
$acct_username $row['acct_username'];
if ($acct_username == $usuario) {
echo "Usuario correcto.";
$acct_password $row['acct_passhash1'];
if ($acct_password == $password) {
echo "Contraseña correcta.";
session_start();
$_SESSION['usuario'] = $usuario;
$email $row['acct_email'];
$_SESSION['email'] = $email;
header("Location: index.php");
} else{
echo "Contraseña incorrecta.";
header("Location: index.php?error=1");
}
} else {
echo "Usuario incorrecto.";
header("Location: index.php?error=0");
}
}
 } else die(
"No paso el mysql_num_rows");
 
?>


Pero el caso, es que si has puesto algo en el HTML ya no podrás utilizar header().

Tienes que redireccionar de otra forma, por ejemplo, javascript.

Comprendo, pero saldría un error de PHP haciendo referencia al header. Y no es lo que sucede, porque ni siquiera llega a los headers :-\
#175
PHP / Re: Problema con PHP
4 Diciembre 2010, 18:01 PM
Hola, gracias por responder. Probé así:

<?php
include ("conexion.php");
include (
"pvpgn_hash.php");
$usuario strtolower(trim($_POST['usuario']));
$password strtolower(pvpgn_hash(trim($_POST['password'])));
  
$consulta mysql_query("SELECT * FROM bnet where acct_username='$usuario'");
  if (
mysql_num_rows($consulta) > 0) {
    while (
$row mysql_fetch_array($consulta)) {
 $acct_username $row['acct_username'];
 if ($acct_username == $usuario) {
 echo "Usuario correcto.";
  $acct_password $row['acct_passhash1'];
  if ($acct_password == $password) {
   echo "Contraseña correcta.";
   session_start();
   $_SESSION['usuario'] = $usuario;
   $email $row['acct_email'];
   $_SESSION['email'] = $email;
    header("Location: index.php");
   } else{
   echo "Contraseña incorrecta.";
   header("Location: index.php?error=1");
   }
} else {
echo "Usuario incorrecto.";
header("Location: index.php?error=0");
   }
  }
 }


Pero sigue finalizando en blanco, sin mostrar absolutamente ningún echo  :huh:
#176
PHP / Re: Problema con PHP
4 Diciembre 2010, 14:09 PM
Hola pablomi, ya había pensado en esa parte pero no es el problema. Sino solo haría un die(); cuando no se pone ni user ni password, y poniendo ambos igual finaliza con un die  :-(
#177
PHP / Problema con PHP
4 Diciembre 2010, 03:19 AM
<?php
include ("conexion.php");
include (
"pvpgn_hash.php");
$usuario strtolower(trim($_POST['usuario']));
$password strtolower(pvpgn_hash(trim($_POST['password'])));
if (
$usuario == "" $password == "") {
 die();
 } else {
  
$consulta mysql_query("SELECT * FROM bnet where acct_username='$usuario'");
  if (
mysql_num_rows($consulta) > 0) {
    while (
$row mysql_fetch_array($consulta)) {
 $acct_username $row['acct_username'];
 if ($acct_username == $usuario) {
  $acct_password $row['acct_passhash1'];
  if ($acct_password == $password) {
   session_start();
   $_SESSION['usuario'] = $usuario;
   $email $row['acct_email'];
   $_SESSION['email'] = $email;
    header("Location: index.php");
   } else{
   header("Location: index.php?error=1");
   }
} else {
header("Location: index.php?error=0");
   }
  }
 }
}


Funcionar funciona bien, el problema está en que debería redireccionar:

• Si el usuario no existe.
• Si el pass no es correcto.
• Si se produjo el login satisfactoriamente creando una sesión.

Bueno, no me funciona ninguno de los 3 headers, simplemente se queda en la página en blanco.