Foros del Web » Programando para Internet » PHP »

Creacion de sesiones con php

Estas en el tema de Creacion de sesiones con php en el foro de PHP en Foros del Web. Hola, estoy intentando iniciar una sesion de usuario a partir de su registro en un formulario. El codio funciona correctamente hasta el ultimo if donde ...
  #1 (permalink)  
Antiguo 23/09/2014, 14:52
 
Fecha de Ingreso: febrero-2014
Mensajes: 13
Antigüedad: 10 años, 2 meses
Puntos: 0
Creacion de sesiones con php

Hola, estoy intentando iniciar una sesion de usuario a partir de su registro en un formulario. El codio funciona correctamente hasta el ultimo if donde me parece que no hace ninguna operacion y no encuentro el fallo.¿Me pueden ayudar? gracias

<?php

session_start();
include('config.inc'); // incluimos el archivo de conexión a la Base de Datos

if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos desde el formulario

$nombre=($_POST['nombre']);
$apellido = ($_POST['apellido']);
$usuario=($_POST['usuario']);
$clave=($_POST['clave']);
$clave1=($_POST['clave1']);

// Procedemos a comprobar que los campos del formulario no estén vacíos
$sin_espacios = count_chars($nombre, 1);
if(!empty($sin_espacios[32])) { // comprobamos que el campo usuario_nombre no tenga espacios en blanco


echo"<script type=\"text/javascript\">
alert('El campo nombre no debe contener espacios en blanco'); history.back();
</script>";

}elseif(empty($usuario)) { // comprobamos que el campo usuario_nombre no esté vacío

echo"<script type=\"text/javascript\">
alert('No ha introducido un usuario'); history.back();
</script>";

}elseif(empty($clave)) { // comprobamos que el campo usuario_clave no esté vacío

echo"<script type=\"text/javascript\">
alert('No ha introducido una clave'); history.back();
</script>";


}elseif($clave != $clave1) { // comprobamos que las contraseñas ingresadas coincidan

echo"<script type=\"text/javascript\">
alert('Las contraseñas no coinciden'); history.back();
</script>";
}else {

// "limpiamos" los campos del formulario de posibles códigos maliciosos
$usuario_nombre = mysql_real_escape_string($nombre);
$usuario_nombre = mysql_real_escape_string($apellido);
$usuario_nombre = mysql_real_escape_string($usuario);
$usuario_clave = mysql_real_escape_string($clave);

// comprobamos que el usuario ingresado no haya sido registrado antes
$sql = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$usuario'");

if(mysql_num_rows($sql) > 0) {
echo"<script type=\"text/javascript\">
alert('Este usuario ya estaba registrado'); history.back();
</script>";
}else {

$clave = md5($clave); // encriptamos la contraseña ingresada con md5

// ingresamos los datos a la BD
$reg = mysql_query("INSERT INTO usuarios (nombre, apellido, usuario, clave) VALUES ('$nombre','$apellido','$usuario','$clave')");
if($reg) {

echo"<script type=\"text/javascript\">
alert('Se ha realizado el registro con exito'); </script>";


}else {
echo"<script type=\"text/javascript\">
alert('Se ha producido un error. Vuelve a intentarlo');
history.back();
</script>";
}


$sql = mysql_query("SELECT idusuario, nombre, apellido, usuario, clave FROM usuarios WHERE usuario='". $usuario."' AND clave='". $clave."'");


if ($row = mysql_fetch_array($sql)) {


$_SESSION['idusuario'] = $row['idusuario ']; // creamos la sesion "usuario_id" y le asignamos como valor el campo usuario_id


$_SESSION['usuario'] = $row['usuario']; // creamos la sesion "usuario_nombre" y le asignamos como valor el campo usuario_nombre


$_SESSION['tipo'] = $row["tipo"];

echo"<script type=\"text/javascript\"> window.location='index.php';
</script>";


}
}
}
}

?>

<html>

<head>

<title>Registro de Usuarios</title>



</head>

<body bgcolor= "#999999">
<?include("cabeza.htm");?>
<font color="#000000" face="Courier New, Courier, mono"><h2 align="center"><strong>Agregar Nuevo Tema</strong></h2></font>

<div id="div" align="right">
<p>Hola <strong><?php echo '<b>'.$_SESSION['usuario'].'</b>.'?></strong> |
<a href="logout.php">Salir</a></p>
</div>

<form action="registro2.php" method="post">
<table width="100%" border="0">
<tr>
<td width="40%"align= "right"><em>Nombre :</em></td>
<td ><input name="nombre" type="text" size="30" maxlength="30"></td>
</tr>

<tr>
<td align="right"><em>Apellido :</em></td>
<td><input name="apellido" type="text" size="30" maxlength="30"></td>
</tr>
<tr>
<td align="right"><em>Usuario :</em></td>
<td><input name="usuario" cols="40" rows="10" maxlength="30"></td>
</tr>
<tr>
<td align="right"><em>Clave :</em></td>
<td><input name="clave" cols="40" rows="10" maxlength="30"></td>
</tr>
<tr>
<td align="right"><em>Repite la lave :</em></td>
<td><input name="clave1" cols="40" rows="10" maxlength="30"></td>
</tr>
<tr>
<td >&nbsp;</td>
</tr>
</table>
<hr>
<table align='center' border='0' bordercolor="#FFffff" >
<tr bgcolor='#666666'><td>
<input type="submit" name="enviar" value="Registrar" class="boton" />
</td></tr>

</form>
</div>


</body>

</html>
  #2 (permalink)  
Antiguo 23/09/2014, 17:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Creacion de sesiones con php

¿Podrías ser tan amable de dar formato a tu código?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/09/2014, 17:42
 
Fecha de Ingreso: septiembre-2012
Mensajes: 53
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Creacion de sesiones con php

pon tu codigo mas limpio para poder ayudarte, sinceramente da terror tratar de entenderlo haci u.u
  #4 (permalink)  
Antiguo 24/09/2014, 08:32
 
Fecha de Ingreso: febrero-2014
Mensajes: 13
Antigüedad: 10 años, 2 meses
Puntos: 0
Pregunta Respuesta: Creacion de sesiones con php

Si claro, perdon.

codigo de registro2.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. include('config.inc'); // incluimos el archivo de conexión a la Base de Datos
  4.  
  5. if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos desde el formulario
  6.  
  7. $nombre=($_POST['nombre']);
  8. $apellido = ($_POST['apellido']);
  9. $usuario=($_POST['usuario']);
  10. $clave=($_POST['clave']);
  11. $clave1=($_POST['clave1']);
  12.  
  13. // Procedemos a comprobar que los campos del formulario no estén vacíos
  14. $sin_espacios = count_chars($nombre, 1);
  15. if(!empty($sin_espacios[32])) { // comprobamos que el campo usuario_nombre no tenga espacios en blanco
  16.  
  17.  
  18. echo"<script type=\"text/javascript\">
  19. alert('El campo nombre no debe contener espacios en blanco'); history.back();
  20. </script>";
  21.  
  22. }elseif(empty($usuario)) { // comprobamos que el campo usuario_nombre no esté vacío
  23.  
  24. echo"<script type=\"text/javascript\">
  25. alert('No ha introducido un usuario'); history.back();
  26. </script>";
  27.  
  28. }elseif(empty($clave)) { // comprobamos que el campo usuario_clave no esté vacío
  29.  
  30. echo"<script type=\"text/javascript\">
  31. alert('No ha introducido una clave'); history.back();
  32. </script>";
  33.  
  34.  
  35. }elseif($clave != $clave1) { // comprobamos que las contraseñas ingresadas coincidan
  36.  
  37. echo"<script type=\"text/javascript\">
  38. alert('Las contraseñas no coinciden'); history.back();
  39. </script>";
  40. }else {
  41.  
  42. // "limpiamos" los campos del formulario de posibles códigos maliciosos
  43. $usuario_nombre = mysql_real_escape_string($nombre);
  44. $usuario_nombre = mysql_real_escape_string($apellido);
  45. $usuario_nombre = mysql_real_escape_string($usuario);
  46. $usuario_clave = mysql_real_escape_string($clave);
  47.  
  48. // comprobamos que el usuario ingresado no haya sido registrado antes
  49. $sql = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$usuario'");
  50.  
  51. if(mysql_num_rows($sql) > 0) {
  52. echo"<script type=\"text/javascript\">
  53. alert('Este usuario ya estaba registrado'); history.back();
  54. </script>";
  55. }else {
  56.  
  57. $clave = md5($clave); // encriptamos la contraseña ingresada con md5
  58.  
  59. // ingresamos los datos a la BD
  60. $reg = mysql_query("INSERT INTO usuarios (nombre, apellido, usuario, clave) VALUES ('$nombre','$apellido','$usuario','$clave')");
  61. if($reg) {
  62.  
  63. echo"<script type=\"text/javascript\">
  64. alert('Se ha realizado el registro con exito'); </script>";
  65.  
  66.  
  67. }else {
  68. echo"<script type=\"text/javascript\">
  69. alert('Se ha producido un error. Vuelve a intentarlo');
  70. history.back();
  71. </script>";
  72. }
  73.  
  74.  
  75. $sql = mysql_query("SELECT idusuario, nombre, apellido, usuario, clave FROM usuarios WHERE usuario='". $usuario."' AND clave='". $clave."'");
  76.  
  77.  
  78. if ($row = mysql_fetch_array($sql)) {
  79.  
  80.  
  81. $_SESSION['idusuario'] = $row['idusuario ']; // creamos la sesion "usuario_id" y le asignamos como valor el campo usuario_id
  82.  
  83.  
  84. $_SESSION['usuario'] = $row['usuario']; // creamos la sesion "usuario_nombre" y le asignamos como valor el campo usuario_nombre
  85.  
  86.  
  87. $_SESSION['tipo'] = $row["tipo"];
  88.  
  89. echo"<script type=\"text/javascript\">
  90. window.location='index.php';
  91. </script>";
  92.  
  93.  
  94. }
  95. }
  96. }
  97. }
  98.  
  99. ?>

codigo del formulario:

Código HTML:
Ver original
  1.  
  2.  
  3. <title>Registro de Usuarios</title>
  4.  
  5.  
  6.  
  7. </head>
  8.  
  9. <body bgcolor= "#999999">
  10. <?include("cabeza.htm");?>
  11. <font color="#000000" face="Courier New, Courier, mono"><h2 align="center"><strong>Agregar Nuevo Tema</strong></h2></font>
  12.  
  13. <div id="div" align="right">
  14. <p>Hola <strong><?php echo '<b>'.$_SESSION['usuario'].'</b>.'?></strong> |
  15. <a href="logout.php">Salir</a></p>
  16. </div>
  17.  
  18. <form action="registro2.php" method="post">
  19. <table width="100%" border="0">
  20. <tr>
  21. <td width="40%"align= "right"><em>Nombre :</em></td>
  22. <td ><input name="nombre" type="text" size="30" maxlength="30"></td>
  23. </tr>
  24.  
  25. <tr>
  26. <td align="right"><em>Apellido :</em></td>
  27. <td><input name="apellido" type="text" size="30" maxlength="30"></td>
  28. </tr>
  29. <tr>
  30. <td align="right"><em>Usuario :</em></td>
  31. <td><input name="usuario" cols="40" rows="10" maxlength="30"></td>
  32. </tr>
  33. <tr>
  34. <td align="right"><em>Clave :</em></td>
  35. <td><input name="clave" cols="40" rows="10" maxlength="30"></td>
  36. </tr>
  37. <tr>
  38. <td align="right"><em>Repite la lave :</em></td>
  39. <td><input name="clave1" cols="40" rows="10" maxlength="30"></td>
  40. </tr>
  41. <tr>
  42. <td >&nbsp;</td>
  43. </tr>
  44. <hr>
  45. <table align='center' border='0' bordercolor="#FFffff" >
  46. <tr bgcolor='#666666'><td>
  47. <input type="submit" name="enviar" value="Registrar" class="boton" />
  48. </td></tr>
  49.  
  50. </form>
  51. </div>
  52.  
  53.  
  54. </body>
  55.  
  56. </html>

Etiquetas: formulario, html, mysql, registro, select, sesiones, sql, usuarios
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 05:24.