Foros del Web » Programando para Internet » PHP »

Error al Registrar una sesion (ayuda)

Estas en el tema de Error al Registrar una sesion (ayuda) en el foro de PHP en Foros del Web. Hola a todos necesito una ayudita soy nuevo programando en php, y estoy realizando a un website un registro de usuarios y tengo el siguiente ...
  #1 (permalink)  
Antiguo 22/11/2008, 21:26
 
Fecha de Ingreso: noviembre-2008
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Error al Registrar una sesion (ayuda)

Hola a todos necesito una ayudita soy nuevo programando en php, y estoy realizando a un website un registro de usuarios y tengo el siguiente error cuando cargo la pagina de regisro me sales las tablas con los campos pero al principio dice esto:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\Hosting\3139372\html\registrar.php:110) in D:\Hosting\3139372\html\registrar.php on line 123

Aqui esta el codigo del programa:
<?php

session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect(loborreporseguridad,'jayopa','xxx')o r die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('jayopa')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function formRegistro(){
?>
<div align="center">Registro de Usuarios </div>
<form action="registrar.php" method="post">
<blockquote>
<blockquote>
<blockquote>
<blockquote>
<p>Usuario (max 20):<span class="Estilo11">.........</span>
<input type="text" name="username" size="20" maxlength="20" />
<br />
<br />
Matricula (max 20):<span class="Estilo11">...... </span>
<input type="text" name="matricula" size="20" maxlength="20" />
<br />
<br />
Password (max 10):<span class="Estilo11">......</span>
<input type="password" name="password" size="20" maxlength="20" />
<br />
<br />
Confirma (max 10):<span class="Estilo12">......</span>
<input type="password" name="password2" size="20" maxlength="20" />
<br />
<br />
Email (max 40):<span class="Estilo11"> <br />
</span>
<input type="text" name="email" size="20" maxlength="40" />
<br />
<br />
<input type="submit" value="Registrar" />
</p>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</form>
<?php
}
// verificamos si se han enviado ya las variables necesarias.
if (isset($_POST["username"])) {
$username = $_POST["username"];
$matricula = $_POST["matricula"];
$password = $_POST["password"];
$password2 = $_POST["password2"];
$email = $_POST["email"];
// Hay campos en blanco
if($username==NULL|$matricula==NULL|$password==NUL L|$password2==NULL|$email==NULL) {
echo "un campo está vacio.";
formRegistro();
}else{
// ¿Coinciden las contraseñas?
if($password!=$password2) {
echo "Las contraseñas no coinciden";
formRegistro();
}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya existían
$checkuser = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$username'");
$username_exist = mysql_num_rows($checkuser);
$checkemail = mysql_query("SELECT email FROM usuarios WHERE email='$email'");
$email_exist = mysql_num_rows($checkemail);
if ($email_exist>0|$username_exist>0) {
echo "El nombre de usuario o la cuenta de correo estan ya en uso";
formRegistro();
}else{
$query = 'INSERT INTO usuarios (usuario, matricula, password, email, fecha)
VALUES (\''.$username.'\',\''.$matricula.'\',\''.$passwor d.'\',\''.$email.'\',\''.date("Y-m-d").'\')';
mysql_query($query) or die(mysql_error());
echo 'El usuario '.$username.' ha sido registrado de manera satisfactoria.<br />';
echo 'Ahora puede entrar ingresando su usuario y su password <br />';
?>
<FORM ACTION="validar_usuario.php" METHOD="post">
Usuario :<span class="Estilo11">.......</span>
<INPUT TYPE="text" NAME="usuario" SIZE=20 MAXLENGTH=20>
<br />
<br />
Password:<span class="Estilo11">......</span>
<INPUT TYPE="password" NAME="password" SIZE=20 MAXLENGTH=20>
<br />
<br />
<INPUT TYPE="submit" VALUE="Ingresar">
</FORM>

<?php
}
}
}
}else{
formRegistro();
}
?>&nbsp;



de ante mano muchas gracias.

JS.
  #2 (permalink)  
Antiguo 22/11/2008, 21:31
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Error al Registrar una sesion (ayuda)

Cuando todo falla, no olvides consultar el manual . (http://www.php.net/manual/es/function.session-start.php). Citando al manual:
Cita:
Iniciado por Manual de PHP
Note: Si está usando sesiones basadas en las cookies, debe llamar a session_start() antes de que haya ninguna salida al navegador.
O sea, estás enviando una salida HTML antes de llamar a session_start().
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 22/11/2008, 21:53
 
Fecha de Ingreso: noviembre-2008
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Error al Registrar una sesion (ayuda)

David gracias ok entiendo pero donde la coloco en el codigo php o al principio de la pagina.

saludos.
  #4 (permalink)  
Antiguo 22/11/2008, 21:56
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Error al Registrar una sesion (ayuda)

Coloca el session_start() al principio del código, al principio, antes que se produzca cualquier tipo de salida al navegador.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 22/11/2008, 22:07
 
Fecha de Ingreso: noviembre-2008
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Error al Registrar una sesion (ayuda)

jajaja hay David muchas gracias hermano no sabes cuanto te lo agradezco.

mira el sitio haber que opina no esta listo pero ahi voy somo aficionados en la simulacion aerea.

www.globalsourcellc.net este link es temporal ahi estoy subiendolo mientras lo termino. puedes chequearlo.

otra pregunta David ??

Como puedo restringir las paginas para tengan que estar logueados (registrados) ??

que debo añadirle a las paginas ??

gracias
  #6 (permalink)  
Antiguo 22/11/2008, 22:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Error al Registrar una sesion (ayuda)

Solo tienes que verificar la sesión en cada página y de acuerdo a eso mostrar o no el contenido. Revisa este aporte, puede darte una idea de cómo puedes hacer: http://www.forosdelweb.com/f18/aport...aporte-561417/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 22/11/2008, 22:39
 
Fecha de Ingreso: noviembre-2008
Mensajes: 17
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Error al Registrar una sesion (ayuda)

ok David lo voy a chequear haber que pasa cualquier cosa te estare preguntado.

gracias
atte: JS.
  #8 (permalink)  
Antiguo 23/11/2008, 10:41
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 5 meses
Puntos: 25
Respuesta: Error al Registrar una sesion (ayuda)

Modo Correcto
Código PHP:
 <?php 

 session_start
();

 
$_SESSION['id_usuario'] = '3';

echo 
$_SESSION['id_usuario'];

?>
\

Modo incorrecto

<html><title>mi pagina web</title>
<head></head>
<body>
Código PHP:
 <?php 

 session_start
();

 
$_SESSION['id_usuario'] = '3';

echo 
$_SESSION['id_usuario'];

?>
</body>
</html>
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
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 11:46.