VeneHosting.com :: Tu Hosting en Venezuela

Autor Tema: Validar Formulario de Inicio de Session :D (Solucionado)  (Leído 841 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado annadiaz

  • Usuario Dedicado
  • ***
  • Mensajes: 104
  • Puntuación: 0
  • Sexo: Femenino
    • Ver Perfil
Validar Formulario de Inicio de Session :D (Solucionado)
« : 25 de agosto de 2011, 09:54:36 am »
Buenas aqui les dejo lo de la validacion de Formualrio de Session,
Código: [Seleccionar]
<?php
session_start
();
if (isset (
$_POST[&#39;submit&#39;] )){
$data_root $_SERVER[DOCUMENT_ROOT];
include ($data_root "/site/sec/funciones.php");
$nick $_POST[&#39;nick&#39;];
$password $_POST[&#39;password&#39;];
//CREACION DE VARIABALES - INICIO DE SESION
$sql mysql_query("SELECT * FROM registro WHERE nick=&#39;$nick&#39; AND password=&#39;$password&#39;");
$login_check mysql_num_rows($sql);

//CREACION DE SESION
if($login_check 0){
if($row mysql_fetch_array($sql)){
$id $row["id"];
session_register(&#39;id&#39;);
$_SESSION[&#39;id&#39;] = $id;
$usuario $row["nick"];
session_register(&#39;usuario&#39;);
$_SESSION[&#39;usuario&#39;] = $usuario;
header("location: index.php");
exit();

} else {
  ?>

     <script language="javascript" type="text/javascript">
                 alert ("Usuario No Registrado");
     location.href='http://localhost/site/registro.php';
              </script>
            <?php  
}
}
// close if post

?>

<?php $fecha date("d-m-Y"); ?>
<!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>Inicio de Sesion</title>
</head>

<body>
<div>
<table align="center" cellpadding="5">
<form action="login.php" method="post" enctype="multipart/form-data" name="logform" id="logform">
<tr>
<td>Fecha: <input type="text" name="fecha" id="fecha" value="<?php echo $fecha;?>"/></td>
</tr>
<tr>
  <td>Nick
    <input name="nick" type="text" id="nick" size="15" maxlength="15"/></td>
</tr>
<tr>
<td>Contrase&ntilde;a
  <input name="password" type="password" id="password" size="15" maxlength="15" />
      </td>
</tr>
<tr>
<td align="center"><input name="submit" type="submit" value="Login" id="submit" />
    </td>
</tr>
</form>
</table>
</div>
</body>
</html>


 ;D
« Última Modificación: 25 de agosto de 2011, 11:29:15 am por annadiaz »

Desconectado el_santo

  • Usuario Dedicado
  • ***
  • Mensajes: 192
  • Puntuación: 7
  • Sexo: Masculino
    • Ver Perfil
Re:Validar Formulario de Inicio de Session :D (Solucionado)
« Respuesta #1 : 25 de agosto de 2011, 12:47:02 pm »
Buenas aqui les dejo lo de la validacion de Formualrio de Session,
Código: [Seleccionar]
<?php
session_start
();
if (isset (
$_POST[&#39;submit&#39;] )){
$data_root $_SERVER[DOCUMENT_ROOT];
include ($data_root "/site/sec/funciones.php");
$nick $_POST[&#39;nick&#39;];
$password $_POST[&#39;password&#39;];
//CREACION DE VARIABALES - INICIO DE SESION
$sql mysql_query("SELECT * FROM registro WHERE nick=&#39;$nick&#39; AND password=&#39;$password&#39;");
$login_check mysql_num_rows($sql);

//CREACION DE SESION
if($login_check 0){
if($row mysql_fetch_array($sql)){
$id $row["id"];
session_register(&#39;id&#39;);
$_SESSION[&#39;id&#39;] = $id;
$usuario $row["nick"];
session_register(&#39;usuario&#39;);
$_SESSION[&#39;usuario&#39;] = $usuario;
header("location: index.php");
exit();

} else {
  ?>

     <script language="javascript" type="text/javascript">
                 alert ("Usuario No Registrado");
     location.href='http://localhost/site/registro.php';
              </script>
            <?php  
}
}
// close if post

?>

<?php $fecha date("d-m-Y"); ?>
<!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>Inicio de Sesion</title>
</head>

<body>
<div>
<table align="center" cellpadding="5">
<form action="login.php" method="post" enctype="multipart/form-data" name="logform" id="logform">
<tr>
<td>Fecha: <input type="text" name="fecha" id="fecha" value="<?php echo $fecha;?>"/></td>
</tr>
<tr>
  <td>Nick
    <input name="nick" type="text" id="nick" size="15" maxlength="15"/></td>
</tr>
<tr>
<td>Contrase&ntilde;a
  <input name="password" type="password" id="password" size="15" maxlength="15" />
      </td>
</tr>
<tr>
<td align="center"><input name="submit" type="submit" value="Login" id="submit" />
    </td>
</tr>
</form>
</table>
</div>
</body>
</html>


 ;D


Estas siendo redundante al hacer

Código: [Seleccionar]
session_register('id');
$_SESSION['id'] = $id;

es suficiente con usar
Código: [Seleccionar]
session_start()
$_SESSION['id'] = $id;

y el correcto uso de session_register()
Código: [Seleccionar]
$id = "valor de la variable";
session_register('id');

La diferencia es ke con session_register() no es necesario llamar a session_start() para setear una variable, en tu script deberias borrar los session_register();

por ejemplo

Código: [Seleccionar]
$id = $row["id"];
session_register('id');
$_SESSION['id'] = $id;
te quedaria

Código: [Seleccionar]
$_SESSION['id'] = $row["id"];
Obteniendo el mismo resultado con menos codigo (Optimización)
Yo hablo php........!!!

Desconectado siryox

  • Novato
  • *
  • Mensajes: 31
  • Puntuación: 1
    • Ver Perfil
Re:Validar Formulario de Inicio de Session :D (Solucionado)
« Respuesta #2 : 09 de septiembre de 2011, 03:47:09 pm »
ok, aparte de lo antes mencionado por el otro usuario ten en cuenta, que si vas a redireccionar con  el href.locations debes enviar el id de la session por la url para evitar que pierdas la session o no se propage reviza el session.use_cookies en el php.ini, debe estar en 1 para que la session sea propagada a traves de cookie.

otro caso es que el navegador bloquee las cookies ??????  la session nunca se propagara y cada ves que llames la session se creara una nueva en el servidor si usas session_start()
pero como usas session_register tienes que pasar el SID para poder llamarla   

PHP de Venezuela

Re:Validar Formulario de Inicio de Session :D (Solucionado)
« Respuesta #2 : 09 de septiembre de 2011, 03:47:09 pm »

 

PHP de Venezuela on Facebook