Comunidad de diseño web y desarrollo en internet online

Conectar usuario "$url"

Citar            
MensajeEscrito el 01 Nov 2010 08:46 am
He creado una zona de registro utilizando los archivos
function.php
main.php
login.php
index.php

al incresar a index.php:

Código PHP :

<?php session_start();?>
<?php require("include/functions.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>
<?php
   echo "<i>".session_msg()."</i>";
?>
<form action="login.php" method="post">
<table>
<tr><td>Usuario:</td><td><input type="text" name="username"></td></tr>
<tr><td>Contraseña:</td><td><input type="password" name="password"></td></tr>
<tr><td></td><td><input type="submit" value="Ingresar"></td></tr>
</table>
</form>
</body>
</html>


me lleva a login.php:

Código PHP :

<?php session_start();?>
<?php require("include/functions.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>
<?php
$username = isset($_POST["username"])?$_POST["username"]:"";
$password = isset($_POST["password"])?$_POST["password"]:"";

if(empty($username) || empty($password))
{
   redirect_to("index.php");
}
mysql_connect("localhost","XXXXXX","XXXXXX") or
die("No se ha podido conectar a la base de datos");
mysql_select_db("radiopix_user") or
die("No se ha podido seleccionar la base de datos");
$query = "SELECT * FROM users WHERE username='".$username."' LIMIT 1";
$result = mysql_query($query);
if(mysql_num_rows($result) == 1)
{
   $user = mysql_fetch_assoc($result);
   if($user["password"] == $password)
      {
         $_SESSION["username"] = $username;
         session_msg("Ha iniciado sesión.");
         redirect_to("main.php");
      }
      else
      {
         session_msg("Password Incorrecto.");
         redirect_to("index.php");
      }
   }
   else
   {
   session_msg("Nombre de usuario inexistente.");
   redirect_to("index.php");
   }
?>
</body>
</html>

esta me indica el siguiente error:

Warning: Cannot modify header information - headers already sent by (output started at /home/radiopix/public_html/login/include/functions.php:8) in /home/radiopix/public_html/login/include/functions.php on line 22 escribió:



que algo anda mal en function.php el codigo de function.php es:

Código 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>
<?php
   function session_msg($msg="")
   {
      if(empty ($msg))
      {
      return isset($_SESSION["message"])?$_SESSION["message"]:"";
      }
      else
      {
         $_SESSION["message"] = $msg;
      }
   }
   function redirect_to($url)
   {
      header("Location:".$url);
      exit();
   }
?>
</body>
</html>


El error me indica que esta mal la linea 22 la cual se encuentra:

Código PHP :

header("Location:".$url);

Por miguelsirna

315 de clabLevel



Genero:Masculino  

Hacker & Programmer

firefox
Citar            
MensajeEscrito el 01 Nov 2010 02:43 pm
Antes de lanzar el header no debe exisitir ninguna salida de bufer, esto quiere decir, ningún carácter incluyendo espacio o salto de linea, osea:

esto esto esta mal:

Código PHP :

<?php session_start();?>
<?php require("include/functions.php");?>

Podrías cambiarlo por esto:

Código PHP :

<?php session_start();
 require("include/functions.php");?>

pero esto también estaría mal:

Código PHP :

 <?php session_start();
 require("include/functions.php");
// nota que antes de <?php existe un salto de linea
?>

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 01 Nov 2010 08:41 pm
Al parecer el codigo que aparece aca no es como lo veo en mi dreamweaver, enrealidad no le veo ningun espacio:



tambien ya probe juntar los dos codigos tal como me dices antes, pero me sale lo mismo

Por miguelsirna

315 de clabLevel



Genero:Masculino  

Hacker & Programmer

firefox
Citar            
MensajeEscrito el 01 Nov 2010 10:11 pm
1 ten cuidado con usar DW es malo que te acostumbres a usar generadores de código
2 fíjate en lo que te respondí, efectivamente hay un salto de linea

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 01 Nov 2010 10:57 pm
ya lo abri en bloc de notas pero no sale igual:

Código PHP :

<?php session_start();?><?php require("include/functions.php");?>


hasta ahora los que juntado ambos en una linea y nada, podria pasarte el archivo para que lo revisas?

Por miguelsirna

315 de clabLevel



Genero:Masculino  

Hacker & Programmer

firefox
Citar            
MensajeEscrito el 01 Nov 2010 11:01 pm
no se si el problema sera con mi hosting, pero en mi localhost de mi pc me funciona bien al 100%, pero cuando lo subo a mi hosting me sale ese error.

Por miguelsirna

315 de clabLevel



Genero:Masculino  

Hacker & Programmer

firefox
Citar            
MensajeEscrito el 01 Nov 2010 11:10 pm

Código PHP :

<?php session_start(); 
 require("include/functions.php");?>

eso es todo, las razones las doy arriba

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 01 Nov 2010 11:20 pm

chiguel escribió:

no se si el problema sera con mi hosting, pero en mi localhost de mi pc me funciona bien al 100%, pero cuando lo subo a mi hosting me sale ese error.



eso puede ser por que subes el documento con algún juego de caracteres distinto a ansi, lo mas comun es que lo subas por error en utf-8

el juego de caracteres es un caracter exadecimal al principio del documento, ANSI es cuando ese caracter no existe, por eso te arroja el error que hay una salida de bufer antes de header.


en propiedades del documento cambia la codificación de tu archivo y luego la subes

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 01 Nov 2010 11:25 pm
ya entiendo, pero hago lo mismo que me explicas coloco el codigo como me lo pones y nada me sigue saliendo

escribió:

"Warning: Cannot modify header information - headers already sent by (output started at /home/radiopix/public_html/login/include/functions.php:8) in /home/radiopix/public_html/login/include/functions.php on line 22"


o sino porfavor agregame y pasame tu codigo, ya que creo que aca le agregan espacios de mas [email protected]

Por miguelsirna

315 de clabLevel



Genero:Masculino  

Hacker & Programmer

firefox
Citar            
MensajeEscrito el 01 Nov 2010 11:27 pm
tienes razon en mis archivos sale en todos:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> escribió:



deseguro debe ser eso.

Por miguelsirna

315 de clabLevel



Genero:Masculino  

Hacker & Programmer

firefox
Citar            
MensajeEscrito el 01 Nov 2010 11:29 pm
tienes razon en mis archivos me sale esto:

escribió:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


cambio el charset=utf-8 por charset=ansi ?

Por miguelsirna

315 de clabLevel



Genero:Masculino  

Hacker & Programmer

firefox
Citar            
MensajeEscrito el 01 Nov 2010 11:37 pm
no, eso es html tu problema esta en php esa parte dejala tal como esta.

en tu editor de texto (DW) debe estar la opcion para cambiar la codificaciondel documento, o en "guardar como" cambias el charset

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 01 Nov 2010 11:50 pm
Busque en DW y me salen muchas, windows, osc, etc pero no encuentro "ansi", lo que hice fue ir a un bloc de notas guardar como y cambiarlo por "ansi" me resulto, salgo que las letras con tilde no se muestran, pero el problema aun persiste

Por miguelsirna

315 de clabLevel



Genero:Masculino  

Hacker & Programmer

firefox
Citar            
MensajeEscrito el 01 Nov 2010 11:56 pm
comenta todo el codigo excepto las primeras 2 lineas (hasta que llamas a functions)

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 02 Nov 2010 12:04 am
el codigo de

login.php:

escribió:

<?php session_start(); require("include/functions.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>
<?php
$username = isset($_POST["username"])?$_POST["username"]:"";
$password = isset($_POST["password"])?$_POST["password"]:"";

if(empty($username) || empty($password))
{
redirect_to("index.php");
}
mysql_connect("localhost","radiopix_rpbt","991237581") or
die("No se ha podido conectar a la base de datos");
mysql_select_db("radiopix_user") or
die("No se ha podido seleccionar la base de datos");
$query = "SELECT * FROM users WHERE username='".$username."' LIMIT 1";
$result = mysql_query($query);
if(mysql_num_rows($result) == 1)
{
$user = mysql_fetch_assoc($result);
if($user["password"] == $password)
{
$_SESSION["username"] = $username;
session_msg("Ha iniciado sesi�n.");
redirect_to("main.php");
}
else
{
session_msg("Password Incorrecto.");
redirect_to("index.php");
}
}
else
{
session_msg("Nombre de usuario inexistente.");
redirect_to("index.php");
}
?>
</body>
</html>


codigo de index.php:

escribió:

<?php session_start(); require("include/functions.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>
<?php
echo "<i>".session_msg()."</i>";
?>
<form action="login.php" method="post">
<table>
<tr><td>Usuario:</td><td><input type="text" name="username"></td></tr>
<tr><td>Contrase�a:</td><td><input type="password" name="password"></td></tr>
<tr><td></td><td><input type="submit" value="Ingresar"></td></tr>
</table>
</form>
</body>
</html>


codigo function.php:

escribió:

<?php session_start(); require("include/functions.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>
<strong>Bienvenido, <?php echo $_SESSION["username"];?></strong>
</body>
</html>

Por miguelsirna

315 de clabLevel



Genero:Masculino  

Hacker & Programmer

firefox
Citar            
MensajeEscrito el 02 Nov 2010 01:05 am
El primer archivo debe estar guardado en UTF-8 con BOM, el BOM es el que causa el problema. Abre los archivos en un editor de texto plano y guárdalos en formato ANSI o en UTF-8 sin BOM.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 02 Nov 2010 01:57 am
haber si entendi quiere que guarde el archivo con BOM, porque mis archivos estan sin BOM creo segun DW.

Por miguelsirna

315 de clabLevel



Genero:Masculino  

Hacker & Programmer

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.