entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Crear formulario de usuarios nuevos

Tengo una pagina de inicio que pregunta el nombre de usuario y la contraseña, pero requiero otra pagina que me permita ingresar un nuveo usuario y que se guarde en la base de datos, de antemanno informo que mi conocimiento en diseño web es limitado y que la pagina que hice la construi usando otras paginas y manuales que encontre. les adjunto el codigo de lo que llevo hecho

este es el html

<form method="post" action="" id="login_form">
<div>
<input name="username" type="text" id="username" value="" required placeholder="Digite Usuario" maxlength="20" />
</div>
<div>
<input name="password" type="password" id="password" value="" required placeholder="Digite Contraseña" maxlength="20" />
</div>
<div class="buttondiv">
<input name="Submit" type="submit" id="submit" value="Ingresar"/>
</div>
</form>

este es el JavaScript

$(document).ready(function(){
$("#login_form").submit(function()
{
    $.post("../php/login.php",{ user_name:$('#username').val(),password:$('#password').val(),rand:Math.random() } ,function(data)
    {
      if(data=='yes') 
      {
        document.location='../vistas/index.php';
      }
      else 
      {
        $("#username").val("");
        $("#password").val("");
        $.mobile.changePage('#pageError', 'pop', true, true);
      }

    });
    return false; 
});
$("#password").blur(function()
{
    $("#login_form").trigger('submit');
});      });

este es el php que realiza la conexion con la base de datos.

<?php session_start();
$link = mysql_connect('localhost','user','password');
if (!$link){
    die('Could not connect:'.mysql_error());
}
mysql_select_db('usuarios');
$user_name=htmlspecialchars($_POST['user_name'],ENT_QUOTES);
$pass=md5($_POST['password']);
$sql="SELECT user_name, password FROM tabla_usuarios WHERE user_name='".$user_name."'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
if(mysql_num_rows($result)>0){
    if(strcmp($row['password'],$pass)==0){
    echo "yes";
    $_SESSION['u_name']=$user_name;
    }else
    echo "no";
 }else
 echo "no";
?>

Cualquier ayuda me serviria
De antemano gracias por la atencion prestada

2 Respuestas

2votos

jpsolorzanom Puntos580

IngAndalado, te recomiendo, como es mi caso en que no soy un diseñador web, tomes un framework, te recomiendo BootStrap http://getbootstrap.com/
Así podrías crear tu pagina con un diseño aceptable. También te recomiendo, si ya tienes experiencia con php utilizar un framework como lo es CodeIgniter http://ellislab.com/codeigniter
Saludos.

1voto

roel_magdaleno Puntos380

No se porque creas una página de inicio de sesión sin antes haber creado una página de registro. En mi humilde opinión debiste haber creado la página de registro y después la de inicio de sesión.

El código del formulario sería el siguiente:

<form action="" method="post">
Crea tu usuario <input type="text" name="usuario">
Crea tu contraseña <input type="password" name="contraseña">

<input type="submit" value="Registrarse" name="registrar">
</form>

Para la parte de registro en PHP y MySQL sería el siguiente código:

<?php
    include_once("conexion.php"); //Esta es tu conexión a la base de datos

    if(isset($_POST['registrar'])){ //Si existe el valor registrar ejecutará lo que está dentro del if
        if(mysqli_query($conexion,"INSERT INTO clientes VALUES(
            '$_POST[usuario]',
            '$_POST[contraseña]',
        )")){
            echo "Se ha agregado correctamente.";
        } else { echo "Error al agregar al cliente, intenta de nuevo."; }
    } 
?>

Recuerda que para proyectos nuevos debes utilizar HTML5 y las funciones de mysqli para ejecutar las consultas de MySQL. Cualquier duda aquí estamos.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta