Foros del Web » Programando para Internet » PHP »

Ayuda con login

Estas en el tema de Ayuda con login en el foro de PHP en Foros del Web. Hola, tengo el archivo admin.php con el siguiente codigo: <!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" /> ...
  #1 (permalink)  
Antiguo 26/08/2010, 17:12
 
Fecha de Ingreso: agosto-2010
Mensajes: 7
Antigüedad: 13 años, 8 meses
Puntos: 0
Ayuda con login

Hola, tengo el archivo admin.php con el siguiente codigo:

<!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" />
<title>Documento sin título</title>
</head>
<body>
<?php
if (isset($_POST['nom_usuario']) && isset($_POST['pwd_usuario']))
{
//conectamos con la base de datos
try
{
$conexion = mysql_connect('host', 'bd', 'pass');
}
catch (Exception $ex)
{
die('Error de Conexi�n: ' . mysql_error());
echo "Error conexion : ".$ex->getMessage();
}
$nomUsuario = $_POST['nom_usuario'];
$pwdUsuario = $_POST['pwd_usuario'];
$select = "SELECT * FROM db339039477 . admin WHERE usuario='$nomUsuario' AND pass='$pwdUsuario'";
$resultado = mysql_query ($select);
if(mysql_fetch_assoc($resultado) == true)
{
header ("Location: panel.php");
}
else
{
?>
<script language="javascript">
alert("Usuario o Pass incorrectos");
</script>
<?php
}}
?>
<form id="form1" name="form1" method="post" action="admin.php">
<p>Usuario:
<label for="textfield"></label>
<input type="text" name="nom_usuario" id="textfield" />
</p>
<p>Pass:
<label for="textfield2"></label>
<input type="password" name="pwd_usuario" id="textfield2" />
</p>
<p>
<input type="submit" name="button" id="button" value="Entrar" />
</p>
</form>
</body>
</html>

Y al poner el usuario y password me da el siguiente error:

Warning: Cannot modify header information - headers already sent by (output started at /homepages/36/d339035288/htdocs/admin.php:8) in /homepages/36/d339035288/htdocs/admin.php on line 27

La web la tengo alojada en 1and1.
A ver si alguien me puede echar una mano.

Muchas gracias!!!
  #2 (permalink)  
Antiguo 26/08/2010, 17:47
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Ayuda con login

no puedes volcar ningún contenido antes de llamar a header
  #3 (permalink)  
Antiguo 26/08/2010, 17:49
 
Fecha de Ingreso: agosto-2010
Mensajes: 7
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Ayuda con login

Como lo tendria que hacer?

Esque en localhost, me funcionaba perfecto :(

Como tendria que modificar el codigo?

Un saludo y mil gracias!!
  #4 (permalink)  
Antiguo 26/08/2010, 18:39
 
Fecha de Ingreso: marzo-2008
Mensajes: 21
Antigüedad: 16 años
Puntos: 1
Respuesta: Ayuda con login

Intenta haciendolo así:




<?php
if (isset($_POST['nom_usuario']) && isset($_POST['pwd_usuario']))
{
//conectamos con la base de datos
try
{
$conexion = mysql_connect('host', 'bd', 'pass');
}
catch (Exception $ex)
{
die('Error de Conexi�n: ' . mysql_error());
echo "Error conexion : ".$ex->getMessage();
}
$nomUsuario = $_POST['nom_usuario'];
$pwdUsuario = $_POST['pwd_usuario'];
$select = "SELECT * FROM db339039477 . admin WHERE usuario='$nomUsuario' AND pass='$pwdUsuario'";
$resultado = mysql_query ($select);
if(mysql_fetch_assoc($resultado) == true)
{
header ("Location: panel.php");
}
else
{
?>
<script language="javascript">
alert("Usuario o Pass incorrectos");
</script>
<?php
}}
?>

<!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" />
<title>Documento sin título</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="admin.php">
<p>Usuario:
<label for="textfield"></label>
<input type="text" name="nom_usuario" id="textfield" />
</p>
<p>Pass:
<label for="textfield2"></label>
<input type="password" name="pwd_usuario" id="textfield2" />
</p>
<p>
<input type="submit" name="button" id="button" value="Entrar" />
</p>
</form>
</body>
</html>




Es solo cambiar el orden de las cosas....simple!
  #5 (permalink)  
Antiguo 26/08/2010, 19:28
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Ayuda con login

en localhost puede que te resulte porque debes de tener los mensajes de warning inabilitados, pero en el hosting no, prueba error_reporting(E_ALL) y verás.

para solucionarlo debes de colocar el bloque php al principio, tal como la solución de @Marietica, si necesitas volcar algo en el html, almacénalo en una variable y vuelca la misma en el lugar correspondiente (<?php echo $variable; ?>)
  #6 (permalink)  
Antiguo 26/08/2010, 20:00
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: Ayuda con login

tambien podrias en lugar de poner el header poner:

echo "<meta http-equiv='refresh' content='2;URL=panel.php'>";

Etiquetas: login
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:09.