Foros del Web » Programando para Internet » PHP »

Registro de usuario

Estas en el tema de Registro de usuario en el foro de PHP en Foros del Web. Buenas. Tengo un registro de usuario ya hecho. Pero quiero cuando el usuario coloque su nick en el campo de texto. Le aparezca un número ...
  #1 (permalink)  
Antiguo 28/05/2013, 11:19
 
Fecha de Ingreso: mayo-2013
Mensajes: 24
Antigüedad: 11 años, 5 meses
Puntos: 0
Registro de usuario

Buenas. Tengo un registro de usuario ya hecho. Pero quiero cuando el usuario coloque su nick en el campo de texto. Le aparezca un número auto incrementado. Que se vea más no que se pueda editar. Como por ejemplo
Ingresa nick
Minick + número

Este nick+número servirá para cuando otro usuario quiera buscar a este. Lo consiga mediante su nick y su número.

Acepto sugerencias u otros metodos
  #2 (permalink)  
Antiguo 28/05/2013, 11:43
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Registro de usuario

El número sería algún campo que ya tienes implementado en tu tabla de usuarios? por ejemplo si tuvieras un ID en tu tabla usuarios entonces podrías tomar el último ingresado y luego al momento del registro sumarle 1 y mostrarselo al nuevo usuario que se está registrando.
  #3 (permalink)  
Antiguo 28/05/2013, 16:41
 
Fecha de Ingreso: mayo-2013
Mensajes: 24
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Registro de usuario

Cita:
Iniciado por rodrigo791 Ver Mensaje
El número sería algún campo que ya tienes implementado en tu tabla de usuarios? por ejemplo si tuvieras un ID en tu tabla usuarios entonces podrías tomar el último ingresado y luego al momento del registro sumarle 1 y mostrarselo al nuevo usuario que se está registrando.
Es una opción. Pero como haría luego un usuario que quiera conseguir x usuario?. Mi idea es hacer un tipo de carnet. Si me entiendes ?
  #4 (permalink)  
Antiguo 28/05/2013, 17:05
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Registro de usuario

Y bueno, buscas por ese ID, el ID del usuario lo podes mostrar en pantalla para filtrar, no tiene porque ser algo ultrasecreto.
  #5 (permalink)  
Antiguo 28/05/2013, 18:57
 
Fecha de Ingreso: mayo-2013
Mensajes: 24
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Registro de usuario

Cita:
Iniciado por rodrigo791 Ver Mensaje
Y bueno, buscas por ese ID, el ID del usuario lo podes mostrar en pantalla para filtrar, no tiene porque ser algo ultrasecreto.
La verdad no lo veo. Explícalo paso a paso por favor
  #6 (permalink)  
Antiguo 29/05/2013, 06:20
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Registro de usuario

Lo que queres es asignar un id a los nuevos usuarios cuando se registren para así otros pueden buscarlo luego, y no solo asignarlo sino también al momento del registro como decis también MOSTRARLO, a eso me refiero, toma el ultimo ID de la persona registrada, y le sumas 1, ese será siempre el nuevo ID para el nuevo usuario a registrarse.
Lo de mostrar el ID te recomiendo que lo hagas una vez finalizado el registro, 2 personas pueden estar queriendo registrarse al mismo tiempo y si el ultimo id fue 9, a los 2 no se les puede ingresar 10, por lo tanto el id se tiene que mostrar luego de que se capture el ultimo ID y se le sume 1 para luego si recién mostrarlo. A lo que voy, es que si tu tienes un link que te lleva hacia el registro, sin haber rellenado los campos todavía no puedes estar mostrando ya el id que va a tener, porque si otra persona se registra antes, ese id ya no estará disponible, o puede pasarte que muestres un id y al final le quede otro.
  #7 (permalink)  
Antiguo 29/05/2013, 07:06
 
Fecha de Ingreso: mayo-2013
Mensajes: 23
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Registro de usuario

No se si entiendo bien pero a ver.

Cuando el usuario se registra queda en una base de datos, le puedes colocar un ID que sea un campo autoincrementable con eso evitas conflictos. Cuando el usuario de Login puedes traer el dato de su ID de la base de datos y mostrarlo en pantalla y listo.

No se si es eso o haces referencia es a que se genere un nuevo ID en cada ingreso que tenga el usuario, no entenderia para que pero en este caso tendrias que tener una tabla adicional donde se genere esa informacion, mas como una informacion de los ingresos que hacen a tu web.
  #8 (permalink)  
Antiguo 29/05/2013, 07:46
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Registro de usuario

a ver la explicación esta mas que clara:

cuando esta el usuario registrandoce... y vas a insertar la información en tu base de datos la misma estructura de tu base de datos debe crear el ID del usuario y asignársela:

te dejo un ejemplo pero esto es MySQL

Estructura:

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `user` (
  2.   `username` varchar(50) NOT NULL,
  3.   `password` varchar(100) NOT NULL,
  4.   `nombre` text NOT NULL,
  5.   `email` varchar(150) NOT NULL,
  6.   `telefono1` int(25) NOT NULL,
  7.   `direccion` varchar(400) NOT NULL,
  8.   PRIMARY KEY (`id`),
  9.   UNIQUE KEY `id` (`id`),
  10.   UNIQUE KEY `username` (`username`),
  11.   UNIQUE KEY `email` (`email`)
  12. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

con esto el ID es auto incrementable... si no deseas este sistema puede dejar el ID como primary key de la tabla y hacer una funcion PHP que genere un numero random de 6 digitos y guardarlo en el campo de la ID dentro de tu base de datos comprobar que no este duplicada antes de guardarla...
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #9 (permalink)  
Antiguo 29/05/2013, 09:50
 
Fecha de Ingreso: mayo-2013
Mensajes: 24
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Registro de usuario

Excelentes respuestas muchachos.
Ahora tengo una duda. Que sale mejor?
Que al momento de la persona estar llenando los datos de registro le muestre su número único. O que luego que le de al botón registro le muestre un mensaje con su número ???

Si entiendo toda la teoría perfectamente. Pero la práctica a medias. Si tienen algún tutorial de como hacerlo. Sería bueno. Y si me pueden ayudar mucho mejor.
Pero quiero aprender a hacerlo. Si pueden explicar fino
  #10 (permalink)  
Antiguo 29/05/2013, 10:38
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Registro de usuario

Lo "mejor" depende de como lo quieras vos, si queres que muestre el ID sin recargar la página entera entonces tenes que usar AJAX, podes usar jquery si no queres complicarte la cabeza, pero javasript vas a tener que usar si o si independientemente de si usas jquery o no.

Si queres que el id se muestre luego de haber registrado el usuario con php bastaría.
  #11 (permalink)  
Antiguo 29/05/2013, 11:02
 
Fecha de Ingreso: mayo-2013
Mensajes: 24
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Registro de usuario

Cita:
Iniciado por rodrigo791 Ver Mensaje
Lo "mejor" depende de como lo quieras vos, si queres que muestre el ID sin recargar la página entera entonces tenes que usar AJAX, podes usar jquery si no queres complicarte la cabeza, pero javasript vas a tener que usar si o si independientemente de si usas jquery o no.

Si queres que el id se muestre luego de haber registrado el usuario con php bastaría.
Se me ocurre algo que supongo que en código debe ser más fácil.
El usuario se registra normal.
Luego en el perfil del usuario al lado de su nick le aparece el número. Es decir se usa un get (creo) para extraer la información de la bdd. Suena mejor no?
Vuelvo a lo mismo. Tutorial que tengan bienvenido

Sino es mucha molestia Rodrigo me puedes dar tu Twitter o alguna app para poder comunicarnos mejor.

De todas maneras muchas gracias por tu ayuda
  #12 (permalink)  
Antiguo 29/05/2013, 11:11
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Registro de usuario

La biblia de PHP es ésta http://php.net/manual/es/

solo tenes que entender como funciona PHP y lo que tenes que hacer tu dependiendo de lo que quieras, básicamente sería hacer una consulta a la base de datos para que te devuelva el ID, y luego lo mostras donde quieras.
  #13 (permalink)  
Antiguo 29/05/2013, 12:32
 
Fecha de Ingreso: mayo-2013
Mensajes: 24
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Registro de usuario

Cita:
Iniciado por rodrigo791 Ver Mensaje
La biblia de PHP es ésta [url]http://php.net/manual/es/[/url]

solo tenes que entender como funciona PHP y lo que tenes que hacer tu dependiendo de lo que quieras, básicamente sería hacer una consulta a la base de datos para que te devuelva el ID, y luego lo mostras donde quieras.
Perfecto ya comienzo a leer. Igualmente me puedes decir por donde nos podemos comunicar más fácilmente
  #14 (permalink)  
Antiguo 29/05/2013, 12:52
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Registro de usuario

Por el foro :) las dudas que tengas publicalas en el tema que creaste y todos te ayudaremos.
  #15 (permalink)  
Antiguo 29/05/2013, 13:21
 
Fecha de Ingreso: mayo-2013
Mensajes: 24
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Registro de usuario

Cita:
Iniciado por rodrigo791 Ver Mensaje
Por el foro :) las dudas que tengas publicalas en el tema que creaste y todos te ayudaremos.
Ok fino.
Me puse a leer la web que me diste. Me dijiste que allí podía encontrar sobre esto. La verdad es que solo veo conceptos más no relacionados exactamente con esto.

Estoy buscando mal supongo. Más o menos como busco sobre esto allí?
  #16 (permalink)  
Antiguo 30/05/2013, 00:04
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Registro de usuario

los conceptos siempre serán individuales mas bien tus ideas y tu forma de programación debe relacionarlos e intentar programarlos sin morir en el intento cuando tengas parte del código y lo presentes recibirás mas ayuda...
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #17 (permalink)  
Antiguo 30/05/2013, 04:28
 
Fecha de Ingreso: mayo-2013
Mensajes: 24
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Registro de usuario

Cita:
Iniciado por arcanisgk122 Ver Mensaje
los conceptos siempre serán individuales mas bien tus ideas y tu forma de programación debe relacionarlos e intentar programarlos sin morir en el intento cuando tengas parte del código y lo presentes recibirás mas ayuda...
Más tarde subo lo que tengo hecho
  #18 (permalink)  
Antiguo 30/05/2013, 12:26
 
Fecha de Ingreso: mayo-2013
Mensajes: 24
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Registro de usuario

Buenas, aqui tengo el codigo que llevo hecho de la pagina principal (bienvenida.php)
Pues me puse a modificar el codigo y al momento de hacer el registro AHORA me da error en:
1)el combo continente me dice (Column 'continente' cannot be null) (agregue manualmente los datos)
me gustaria que los tuviera en una bdd pero no se como hacerlo
2)el combo club me dice lo mismo que 1
Dentro de los cosas que me faltan por hacer son:
1)el captcha
2)hacer 2 combos dependientes (no se como hacerlo)
3)hacer la confirmacion de las contraseñas y correo (no se como hacerlo)

Como veran no tengo ninguna seguridad en el registro. solo le he colocado md5, si existe un mejor metodo, sera bien recibido

Espero sus comentarios, gracias !

Código PHP:
<?php require_once('Connections/conexiontp.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  
$insertSQL sprintf("INSERT INTO registrousuario (correo, confirmarcorreo, contrasena, confirmarcontrasena, nick, continente, club) VALUES (%s, %s, %s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['correo'], "text"),
                       
GetSQLValueString($_POST['confirmarcorreo'], "text"),
                       
GetSQLValueString($_POST['contrasena'], "text"),
                       
GetSQLValueString($_POST['confirmarcontrasena'], "text"),
                       
GetSQLValueString($_POST['nick'], "text"),
                       
GetSQLValueString($_POST['continente'], "text"),
                       
GetSQLValueString($_POST['club'], "text"));

  
mysql_select_db($database_conexiontp$conexiontp);
  
$Result1 mysql_query($insertSQL$conexiontp) or die(mysql_error());

  
$insertGoTo "registrosatisfactorio.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
    
$insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$insertGoTo));
}
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  
session_start();
}

$loginFormAction $_SERVER['PHP_SELF'];
if (isset(
$_GET['accesscheck'])) {
  
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset(
$_POST['nick'])) {
  
$loginUsername=$_POST['nick'];
  
$password=$_POST['contrasena'];
  
$MM_fldUserAuthorization "";
  
$MM_redirectLoginSuccess "tuvoz.php";
  
$MM_redirectLoginFailed "loginerror.php";
  
$MM_redirecttoReferrer false;
  
mysql_select_db($database_conexiontp$conexiontp);
  
  
$LoginRS__query=sprintf("SELECT nick, contrasena FROM registrousuario WHERE nick=%s AND contrasena=%s",
    
GetSQLValueString($loginUsername"text"), GetSQLValueString($password"text")); 
   
  
$LoginRS mysql_query($LoginRS__query$conexiontp) or die(mysql_error());
  
$loginFoundUser mysql_num_rows($LoginRS);
  if (
$loginFoundUser) {
     
$loginStrGroup "";
    
    if (
PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    
//declare two session variables and assign them
    
$_SESSION['MM_Username'] = $loginUsername;
    
$_SESSION['MM_UserGroup'] = $loginStrGroup;          

    if (isset(
$_SESSION['PrevUrl']) && false) {
      
$MM_redirectLoginSuccess $_SESSION['PrevUrl'];    
    }
    
header("Location: " $MM_redirectLoginSuccess );
  }
  else {
    
header("Location: "$MM_redirectLoginFailed );
  }
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Vive Tu Pasion!</title>
<link href="estilos.css" rel="stylesheet" type="text/css">
<link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css">
<script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
</head>

<body>
<div class="cabecera">
</div><br>
<form  action="" method="get">
  <div align="right">Correo: <br>
    <span id="sprytextfield6">
    <input name="input2" type="text">
    <span class="textfieldRequiredMsg">Debes llenar este campo</span></span><br>
    Contraseña:<br>
    <span id="sprytextfield7">
    <input name="input3" type="text">
    <span class="textfieldRequiredMsg">Debes llenar este campo</span></span><br>
    <input name="input" type="button" value="Ingresa"><br><br>

  </div>
</form>


<div class="separador">
</div>
<p align="center">
Aqui va la descripcion de la web
</p>
<div class="separador">
</div><br>

<form method="POST" name="form1" action="<?php echo $editFormAction?><?php echo $loginFormAction?>">
  <table align="left">
    <tr valign="baseline">
      <td nowrap align="right">Nick:</td>
      <td><span id="sprytextfield1">
      <input type="text" name="nick" value="" size="32">
      <span class="textfieldRequiredMsg">Debes llenar este campo</span><span class="textfieldMinCharsMsg">No se cumple el mínimo de caracteres requerido.</span><span class="textfieldMaxCharsMsg">Se ha superado el número máximo de caracteres.</span></span></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Correo:</td>
      <td><span id="sprytextfield2">
      <input type="text" name="correo" value="" size="32">
      <span class="textfieldRequiredMsg">Debes llenar este campo</span><span class="textfieldInvalidFormatMsg">Formato no válido.</span></span></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Confirmarcorreo:</td>
      <td><span id="sprytextfield3">
      <input type="text" name="confirmarcorreo" value="" size="32">
      <span class="textfieldRequiredMsg">Debes llenar este campo</span><span class="textfieldInvalidFormatMsg">Formato no válido.</span></span></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Contrasena:</td>
      <td><span id="sprytextfield4">
      <input type="password" name="contrasena" value="" size="32">
      <span class="textfieldRequiredMsg">Debes llenar este campo</span><span class="textfieldMinCharsMsg">No se cumple el mínimo de caracteres requerido.</span><span class="textfieldMaxCharsMsg">Se ha superado el número máximo de caracteres.</span></span></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Confirmarcontrasena:</td>
      <td><span id="sprytextfield5">
      <input type="password" name="confirmarcontrasena" value="" size="32">
      <span class="textfieldRequiredMsg">Debes llenar este campo</span><span class="textfieldMinCharsMsg">No se cumple el mínimo de caracteres requerido.</span><span class="textfieldMaxCharsMsg">Se ha superado el número máximo de caracteres.</span></span></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Continente:</td>
      <td><select name="continente">
        <option value="" >Africa</option>
        <option value="" >America</option>
        <option value="" >Asia</option>
        <option value="" >Europa</option>
        <option value="" >Oceania</option>
      </select></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Club:</td>
      <td><select name="club">
        <option value="" >Real Madrid</option>
        <option value="" >Barcelona</option>
        <option value="" >Atletico de Madrid</option>
        <option value="" >Valencia</option>
      </select></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right"></td>
      <td><input type="submit" value="Unete" class="botonunete"></td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1">
</form>
<p>&nbsp;</p>
<script type="text/javascript">
var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1", "none", {validateOn:["blur"], minChars:4, maxChars:10});
var sprytextfield2 = new Spry.Widget.ValidationTextField("sprytextfield2", "email", {validateOn:["blur"]});
var sprytextfield3 = new Spry.Widget.ValidationTextField("sprytextfield3", "email", {validateOn:["blur"]});
var sprytextfield4 = new Spry.Widget.ValidationTextField("sprytextfield4", "none", {minChars:6, maxChars:15, validateOn:["blur"]});
var sprytextfield5 = new Spry.Widget.ValidationTextField("sprytextfield5", "none", {validateOn:["blur"], minChars:6, maxChars:15});
var sprytextfield6 = new Spry.Widget.ValidationTextField("sprytextfield6", "none", {validateOn:["blur"]});
var sprytextfield7 = new Spry.Widget.ValidationTextField("sprytextfield7", "none", {validateOn:["blur"]});
</script>
</body>
</html>
  #19 (permalink)  
Antiguo 30/05/2013, 17:01
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Registro de usuario

supongo que nada de lo que esta programado lo hiciste... la verdad...

ok para comenzar:

lo primero que hacemos es preguntar si el usuario esta loggiado; si esta loggiado mostramos las posibles variables de usuario guardadas en las cookies de sesion:

Código PHP:
Ver original
  1. <?php  
  2. if(logueado()==true){ include("st/cargo.php"); ?>
  3.     <strong>Bienvenido: <span style="color:#F00"> <?php echo "".$_SESSION['nombre']." ".$_SESSION['apellido'].""; ?> </span></strong><br>
  4.     <span style="float:left">Opciones: <?php echo "<b>".$tipo."</b>"; ?> ID: <span style="color:#F00"> <?php echo "00".$_SESSION['id']."</b>"; ?></span></span><br>
  5.     <form style="float:left" name="perf" method="post" action="#" ><input type="button" name="button" id="button" value="Jugar"></form>
  6.     <form style="float:left" name="perf" method="post" action="#" ><input type="button" name="button" id="button" value="Trabajo"></form>
  7.     <form name="perf" method="post" action="#" ><input type="button" name="button" id="button" value="Donaciones"></form>
  8.     <form style="float:left"><input type="button" onClick="location.href='perf.php'" name="button" id="button" value="Perfil de Usuario"></form>
  9.     <form name="clos" method="post" action="st/close.php" ><input type="submit" name="button" id="button" value="Log out"></form>
  10. <?php
  11. }else{
  12.     include("web/log.php");
  13. }
  14. ?>

Como veras hay una pequeña concatenación de php con html y en el caso de que el usuario no este loggiado le mostrara el include("web/log.php"); siguiente formulario el cual contiene el inicio de sesion y el boton para mostrar el registro...

Código HTML:
Ver original
  1. <form name="log" method="post" action="ent.php">
  2.     <table width="300" border="0" cellspacing="0" cellpadding="0">
  3.         <tr>
  4.             <td>Usuario</td>
  5.             <td><input name="username" type="text" id="username" size="15" maxlength="30" placeholder="yo-soy-ramon" autofocus required></td>
  6.         </tr>
  7.         <tr>
  8.             <td>Contraseña</td>
  9.             <td><input name="password" type="password" id="password" size="15" maxlength="30" placeholder="contraseña" required></td>
  10.         </tr>
  11.         <tr>
  12.             <td><input onClick="javascript:mostrardiv2()" type="button" name="button" id="button" value="Registrate"></td>
  13.             <td><input type="submit" name="button" id="button" value="Inicia sesion"></td>
  14.         </tr>
  15.     </table>
  16. </form>

esto es meramente grafico ahora vemos lo que esta detras de la pantalla:

vamos a los diferentes archivos php que general el registro y el loggin usando en ambos casos sesiones por cookies:

PHP ca.php
Código PHP:
Ver original
  1. <?php
  2. @session_name("MI_SESION");
  3. ?>
  4.  
  5. // Conexión DB
  6. if(isset($_POST['username']) && !empty($_POST['username']) &&
  7.     isset($_POST['password']) && !empty($_POST['password']) &&
  8.     isset($_POST['password2']) && !empty($_POST['password2']) &&
  9.     isset($_POST['nombre']) && !empty($_POST['nombre']) &&
  10.     isset($_POST['apellido']) && !empty($_POST['apellido']) &&
  11.     isset($_POST['telefono']) && !empty($_POST['telefono']) &&
  12.     isset($_POST['email']) && !empty($_POST['email'])) {
  13.     $username=$_POST['username'];
  14.     $password=$_POST['password'];
  15.     $password2=$_POST['password2'];
  16.     $nombre=$_POST['nombre'];
  17.     $apellido=$_POST['apellido'];
  18.     $telefono=$_POST['telefono'];
  19.     $email=$_POST['email'];
  20.     $tuser=0;  
  21.     include("../config/config.php");
  22.     $dblink = mysqli_connect($dbhost, $dbusername, $dbuserpass);
  23.     $selected = mysqli_select_db($dblink,$db1);
  24.     if (!$selected) {
  25.         die ('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  26.     }
  27.     $dblink->query("SET NAMES 'utf8'");
  28.     header("Content-type:text/html; charset=utf-8");
  29.     $checkuser = mysqli_query($dblink,"SELECT username FROM user WHERE username='$username'") or die ('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  30.     $username_exist = $checkuser->num_rows;
  31.     $checkemail = mysqli_query($dblink,"SELECT email FROM user WHERE email='$email'") or die ('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  32.     $email_exist = $checkemail->num_rows;
  33.     if ($email_exist>0) {
  34.         header('refresh:5; url=../index.php');
  35.         ?>
  36.         <br><br><br>
  37.         La cuenta de correo está ya en uso. <br>
  38.         Utilice otra Cuenta de correo electrónico. <br> <br>
  39.         Si tiene algún problema en crear su cuenta por favor enviar un correo a<br><br>
  40.         <strong>Si no eres Redireccionado a la pagina dar <a class="link" href="http://www.forosdelweb.com/f18/index.php">Click Para Continuar</a></strong><br>
  41.         <?php
  42.     }else{
  43.         if ($username_exist>0) {
  44.             header ('refresh:5; url=../index.php');
  45.             ?>
  46.             <br>
  47.             El nombre de usuario está ya en uso. <br>
  48.             Utilice otro Nombre de Usuario. <br> <br>
  49.             Si tiene algún problema en crear su cuenta por favor enviar un correo a<br>
  50.             <strong>Si no eres Redireccionado a la pagina dar <a class="link" href="http://www.forosdelweb.com/f18/index.php">Click Para Continuar</a></strong><br>
  51.             <?php
  52.         }else{
  53.             if($password!=$password2) {
  54.                 header('refresh:5; url=../index.php');
  55.                 ?>
  56.                 <br>
  57.                 Las contraseñas no coinciden. <br>
  58.                 Por favor utilice una contraseña valida. <br> <br>
  59.                 Si tiene algún problema en crear su cuenta por favor enviar un correo a<br>
  60.                 <strong>Si no eres Redireccionado a la pagina dar <a class="link" href="http://www.forosdelweb.com/f18/index.php">Click Para Continuar</a></strong><br>
  61.                 <?php
  62.             }else{
  63.                 $cemail=($_POST['email']);
  64.                 if ( filter_var($cemail, FILTER_VALIDATE_EMAIL) == TRUE){
  65.                     $encript = sha1($roossweld.$_POST['password']);
  66.                     mysqli_query($dblink,"INSERT INTO user (username,password,nombre,apellido,telefono1,email,tuser)
  67.                     VALUES ('{$username}','{$encript}','{$nombre}','{$apellido}','{$telefono}','{$email}','{$tuser}')")
  68.                     or die ('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  69.                         header('refresh:10; url=../index.php');
  70.                         ?>
  71.                         <table style="vertical-align:central" align="center" width="500" border="0" cellspacing="0" cellpadding="0">
  72.                             <tr><td colspan="4"><strong>Los datos han sido introducidos satisfactoriamente.</strong></td></tr>
  73.                             <tr><td colspan="4">&nbsp;</td></tr>
  74.                             <tr><td colspan="4">&nbsp;</td></tr>
  75.                             <tr><td colspan="4"><strong>Anota la siguiente informacion, es muy Importante!!</strong></td></tr>
  76.                             <tr><td colspan="4">&nbsp;</td></tr>
  77.                             <tr>
  78.                                 <td width="61"><strong>Usuario:</strong></td>
  79.                                 <td colspan="2"><?php echo " $username"; ?></td>
  80.                                 <td width="175"><strong>Telefono de Contacto:</strong></td>
  81.                             </tr>
  82.                             <tr>
  83.                                 <td colspan="2"><strong>Nombre Completo:</strong></td>
  84.                                 <td width="188"><?php echo " $nombre $apellido"; ?></td>
  85.                                 <td><?php echo " "; ?></td>
  86.                             </tr>
  87.                             <tr>
  88.                                 <td><strong>E-mail:</strong></td>
  89.                                 <td colspan="2"><?php echo " $email"; ?></td>
  90.                                 <td>&nbsp;</td>
  91.                             </tr>
  92.                             <tr><td colspan="4">&nbsp;</td></tr>
  93.                             <tr><td colspan="4"><strong>Inicio de Sesion Correcto!!</strong></td></tr>
  94.                             <tr>
  95.                                 <td colspan="3"><strong>Si no eres Redireccionado a la pagina dar <a class="link" href="http://www.forosdelweb.com/f18/index.php">Click Para Continuar</a></strong></td>
  96.                                 <td></td>
  97.                             </tr>
  98.                             <tr><td colspan="4">&nbsp;</td></tr>
  99.                         </table>
  100.                         <?php
  101.                         $query = mysqli_query($dblink, "SELECT id,username,password,nombre,snombre,apellido,sapellido,email,telefono1,telefono2,telefono3,foto,direccion,firma,membership,rolepet,interes0,interes1,interes2,interes3,interes4,interes5,interes6,interes7,interes8,interes9,uonline,tuser FROM user WHERE username = '$username'") or die('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  102.                         $row = mysqli_fetch_array($query);
  103.                         $_SESSION["s_username"] = $row['username'];
  104.                         $_SESSION['logueado'] = "si";
  105.                         $_SESSION['id'] = $row['id'];
  106.                         $_SESSION['usuario'] = $username;
  107.                         $_SESSION['nombre'] = $row['nombre'];
  108.                         $_SESSION['apellido'] = $row['apellido'];
  109.                         $_SESSION['snombre'] = $row['snombre'];
  110.                         $_SESSION['sapellido'] = $row['sapellido'];
  111.                         $_SESSION['email'] = $row['email'];
  112.                         $_SESSION['telefono1'] = $row['telefono1'];
  113.                         $_SESSION['telefono2'] = $row['telefono2'];
  114.                         $_SESSION['telefono3'] = $row['telefono3'];
  115.                         $_SESSION['foto'] = $row['foto'];
  116.                         $_SESSION['direccion'] = $row['direccion'];
  117.                         $_SESSION['firma'] = $row['firma'];
  118.                         $_SESSION['membership'] = $row['membership'];
  119.                         $_SESSION['rolepet'] = $row['rolepet'];
  120.                         $_SESSION['uonline'] = $row['uonline'];
  121.                         $_SESSION['tuser'] = $row['tuser'];
  122.                 }else{
  123.                     header('refresh:5; url=index.php');
  124.                     ?>
  125.                     <br><br>
  126.                     Dirección de correo invalida, Por Favor utilice un correo con el siguiente formato:  <br> <br>
  127.                     [email protected] <br><br>
  128.                     Sugerimos los siguientes proveedores: <br><br>
  129.                     <a class="link" href="http://www.hotmail.com /"> Hotmail </a><br>
  130.                     <a class="link" href="http://www.yahoo.com /">Yahoo </a><br>
  131.                     <a class="link" href="http://www.gmail.com /">G-Mail </a><br><br>
  132.                     Si tiene algún problema en crear su cuenta por favor enviar un correo a <br><br>
  133.                     <strong>Si no eres Redireccionado a la pagina dar <a class="link" href="http://www.forosdelweb.com/f18/index.php">Click Para Continuar</a></strong><br>
  134.                     <?php
  135.                 }
  136.             }
  137.         }
  138.     }
  139. }else{
  140.     header('refresh:5; url=../index.php');
  141.     ?>
  142.     Error, no ha introducido todos los datos.  <br>
  143.     Si tiene algún problema en crear su cuenta por favor enviar un correo a [email protected]. <br><br>
  144.     <strong>Si no eres Redireccionado a la pagina dar <a class="link" href="http://www.forosdelweb.com/f18/index.php">Click Para Continuar</a></strong><br>
  145.     <?php
  146. }
  147. ?>
  148. </body>
  149. </html>
  150. <?php
  151. ?>
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #20 (permalink)  
Antiguo 30/05/2013, 17:04
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Registro de usuario

php ent.php
Código PHP:
Ver original
  1. <?php
  2. @session_name("MI_SESION");
  3. ?>
  4. include("../config/config.php");
  5. $dblink = mysqli_connect($dbhost, $dbusername, $dbuserpass);
  6. $selected = mysqli_select_db($dblink,$db1);
  7. if (!$selected) {
  8.     die ('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  9. }
  10. $dblink->query("SET NAMES 'utf8'");
  11. header("Content-type:text/html; charset=utf-8");
  12. if ($_POST['username']) {
  13.     $username = $_POST['username'];
  14.     $password = $_POST['password'];
  15.     $pass = sha1($roossweld.$_POST['password']);
  16.     if ($pass==NULL) {
  17.         header('refresh:10; url=../index.php');
  18.         echo "<br> <br>";
  19.         echo "La Contraseña no fue enviada<br>";
  20.         echo "Si tiene algun problema en crear su cuenta por favor enviar un correo a [email protected].<br>";
  21.     }else{
  22.         $query = mysqli_query($dblink,"SELECT username,password FROM user WHERE username = '$username'") or die ('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  23.         $data = mysqli_fetch_array($query);
  24.         if($data['password'] != $pass) {
  25.             header('refresh:10; url=../index.php');
  26.             echo "<br> <br>";
  27.             echo "Login incorrecto,".$password." La contraseña utilisada es incorrecta.<br>";
  28.             echo "Si ha olvidado la contraseña, por favor enviar un correo a <br>";
  29.             echo "Informacion nesesaria:<br>";
  30.             echo "Nombre Completo<br>";
  31.             echo "Telefono<br>";
  32.             echo "e-mail (el utilisado para crear la cuenta.)<br>";
  33.         }else{
  34.             $query = mysqli_query($dblink, "SELECT id,username,password,nombre,snombre,apellido,sapellido,email,telefono1,telefono2,telefono3,foto,direccion,firma,membership,rolepet,interes0,interes1,interes2,interes3,interes4,interes5,interes6,interes7, interes8,interes9,uonline,tuser FROM user WHERE username = '$username'") or die('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  35.             $row = mysqli_fetch_array($query);
  36.             $_SESSION["s_username"] = $row['username'];
  37.             $_SESSION['logueado'] = "si";
  38.             $_SESSION['id'] = $row['id'];
  39.             $_SESSION['usuario'] = $username;
  40.             $_SESSION['nombre'] = $row['nombre'];
  41.             $_SESSION['apellido'] = $row['apellido'];
  42.             $_SESSION['snombre'] = $row['snombre'];
  43.             $_SESSION['sapellido'] = $row['sapellido'];
  44.             $_SESSION['email'] = $row['email'];
  45.             $_SESSION['telefono1'] = $row['telefono1'];
  46.             $_SESSION['telefono2'] = $row['telefono2'];
  47.             $_SESSION['telefono3'] = $row['telefono3'];
  48.             $_SESSION['foto'] = $row['foto'];
  49.             $_SESSION['direccion'] = $row['direccion'];
  50.             $_SESSION['firma'] = $row['firma'];
  51.             $_SESSION['membership'] = $row['membership'];
  52.             $_SESSION['rolepet'] = $row['rolepet'];
  53.             $_SESSION['uonline'] = $row['uonline'];
  54.             $_SESSION['tuser'] = $row['tuser'];
  55.             ?>
  56.             <table style="vertical-align:central" align="center" width="500" border="0" cellspacing="0" cellpadding="0">
  57.                 <tr>
  58.                     <td colspan="4">&nbsp;</td>
  59.                 </tr>
  60.                 <tr>
  61.                     <td width="166" rowspan="4"><img src="http://www.forosdelweb.com/f18/image/lcorrecto.jpg" width="163" height="180"></td>
  62.                     <td width="119" height="67">&nbsp;</td>
  63.                     <td width="84">&nbsp;</td>
  64.                     <td width="131">&nbsp;</td>
  65.                 </tr>
  66.                 <tr>
  67.                     <td colspan="2">Inicio de Sesion Correcto</td>
  68.                     <td width="131">&nbsp;</td>
  69.                 </tr>
  70.                 <tr>
  71.                     <td colspan="3">Que tengas Buen Dia <?php echo " $username"; ?></td>
  72.                 </tr>
  73.                 <tr>
  74.                     <td colspan="2"><a href="http://www.forosdelweb.com/f18/index.php">Click Para Continuar</a></td>
  75.                     <td width="131">&nbsp;</td>
  76.                 </tr>
  77.                 <tr><td>&nbsp;</td>
  78.                     <td>&nbsp;</td>
  79.                     <td>&nbsp;</td>
  80.                     <td>&nbsp;</td>
  81.                 </tr>
  82.                 <tr>
  83.                     <td colspan="4">&nbsp;</td>
  84.                 </tr>
  85.             </table>
  86.             <?php
  87.             header('refresh:10; url=../index.php');
  88.         }
  89.     }
  90. }
  91. ?>
  92. </body>
  93. </html>
  94. <?php
  95. ?>
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #21 (permalink)  
Antiguo 30/05/2013, 17:04
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Registro de usuario

te acabo de pasar mi sistema personal de registro no puedo hacer mas por ti solo estudia y adaptalo a tus necesidades...

como veras te dije el ID se genera automáticamente con la base de datos:

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `user` (
  2.   `username` VARCHAR(50) NOT NULL,
  3.   `password` VARCHAR(100) NOT NULL,
  4.   `nombre` TEXT NOT NULL,
  5.   `email` VARCHAR(150) NOT NULL,
  6.   `telefono1` INT(25) NOT NULL,
  7.   `direccion` VARCHAR(400) NOT NULL,
  8.   PRIMARY KEY (`id`),
  9.   UNIQUE KEY `id` (`id`),
  10.   UNIQUE KEY `username` (`username`),
  11.   UNIQUE KEY `email` (`email`)
  12. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

y con estas lineas le muestro esa informacion al cliente:

Código HTML:
Ver original
  1. <strong>Bienvenido: <span style="color:#F00"> <?php echo "".$_SESSION['nombre']." ".$_SESSION['apellido'].""; ?> </span></strong><br>
  2.     <span style="float:left">Opciones: <?php echo "<b>".$tipo."</b>"; ?> ID: <span style="color:#F00"> <?php echo "00".$_SESSION['id']."</b>"; ?></span></span><br>



:)
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #22 (permalink)  
Antiguo 30/05/2013, 17:52
 
Fecha de Ingreso: mayo-2013
Mensajes: 24
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Registro de usuario

Lo hice con dreamweaver.
Entiendo cada línea pero al momento de ponerlo en práctica no se por dónde empezar.
Me puedes dar una guía ?
  #23 (permalink)  
Antiguo 30/05/2013, 17:54
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Registro de usuario

no por 500 euros te lo hago y te lo personalizo pero basta ya te hemos dado suficiente información y código para que tu aprendas un poco o tengas buena tarea para investigar y googlear...
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #24 (permalink)  
Antiguo 30/05/2013, 18:15
 
Fecha de Ingreso: mayo-2013
Mensajes: 24
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Registro de usuario

Siempre he dicho que me den guías por que mi idea es aprender.
  #25 (permalink)  
Antiguo 30/05/2013, 18:20
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Respuesta: Registro de usuario

guia?? esto no es un sofware que tienes que craquear ...
o que te van a dar un video tutorial para que tu hagas lo mismo que dice el video...

quieres aprender tienes que estudiarte los conseptos, los manuales, y usar mucho la logica mas aya de lo que hace el dreamwever por ti...


http://php.net/
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #26 (permalink)  
Antiguo 30/05/2013, 18:37
 
Fecha de Ingreso: mayo-2013
Mensajes: 24
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Registro de usuario

a eso me referia.
  #27 (permalink)  
Antiguo 31/05/2013, 06:00
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años
Puntos: 168
Respuesta: Registro de usuario

Bastaba con poner php en google y era lo 1ero que saltaba, en fin, suerte.

Etiquetas: registro, usuario
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 14:06.