Comunidad de diseño web y desarrollo en internet online

Tengo problemas con un registro de usuario y su respectivo login

Citar            
MensajeEscrito el 19 Abr 2011 01:40 pm
Saludos tengo problema con un registro de usuario y su respectivo login en flash + php + MySQL
ya que los post que aparecen muestran como hacer un registro pero sin login o un login sin registro tengo 2 tutoriales con ambos a la ves pero no me funcionan (los voy a montar) alguien me mandar un.zip con todo listo o explicarme como hacerlo es urgente GRACIAS [url=http://mooneventos.com/fainal/][/url] (donwloads.rar estan los archivos que estoy utilizando pero no me sirve o nose si estoy haciendo algo mal)

Por zoneclick

19 de clabLevel



 

chrome
Citar            
MensajeEscrito el 19 Abr 2011 07:48 pm
permiteme checar que esta mal no soy un experto pero si algo le entiendo

Por tjmysteri

Claber

138 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Abr 2011 07:55 pm
oye men la pregunta es la siguiente ya pusiste en el fla el nombre de los archivos php kreaste la base de datos ??

Por tjmysteri

Claber

138 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Abr 2011 10:04 pm
si claro hice todo tal cual incluso llame a mi tabla en la base de datos como dice ahy
help me es urgente o otro formulario q no sea el que tengo porfavor

Por zoneclick

19 de clabLevel



 

chrome
Citar            
MensajeEscrito el 19 Abr 2011 10:16 pm
miento si es en el actionscript donde dice colocar la direccion o url del php no lo coloque, pues nose si sera necesario, porque en el tuto no dice nada de eso

Por zoneclick

19 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Abr 2011 04:10 am
Yo te recomiendo que hagas primero un sistema de login en puro php, buscando a primera vista en google encontré este:

http://www.maestrosdelweb.com/editorial/phpreusr/

cuando lo hagas funcionar a la perfección, hacer la comunicación con flash es súper fácil, son un par de funciones, postea aquí tus resultados.

Como recomendación, no pongas archivos para descargar o una tira de código gigante, explica tu código solo en la parte donde te trabas, yo se que aveces uno quisiera encontrar ejemplos de copiar y pegar, pero es mejor tener una actitud de aprendizaje.

saludos.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

chrome
Citar            
MensajeEscrito el 20 Abr 2011 04:15 am
ya tengo mi login en php y el registro pero es algo demaciado sencillo

Por zoneclick

19 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Abr 2011 04:18 am
lo que pasa esque el diseño del formulario lo quiero diseñar y animar en flash

Por zoneclick

19 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Abr 2011 04:21 am

Por zoneclick

19 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Abr 2011 08:48 am
bueno, pero te funciona bien en puro php?

Postea tu codigo de php para ver como vas.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 20 Abr 2011 02:45 pm
te posteo el codigo pero este formulario es muy basico quiero algo mejor mas estetico algo que pueda como te dije animar en flash

Código PHP :

<?php
session_start();
?>
M&aacute;s ejemplos en <a href="http://www.empresario.com.mx">Empresario.com.mx</a><br />
Gracias por tus comentarios.<br />
<?php
echo 'Bienvenido, ';
if (isset($_SESSION['k_username'])) {
   echo '<b>'.$_SESSION['k_username'].'</b>.';
   echo '<p><a href="logout.php">Logout</a></p>';
}else{
   echo '<p><a href="login.php">Login</a></p>
    <p><a href="registrar.php">Registrar</a></p>';
}
?>


Código PHP :

<form action="validar_usuario.php" method="post">
Usuario:<input type="text" name="usuario" size="20" maxlength="20" />
<br />
Password:<input type="password" name="password" size="10" maxlength="10" />
<br />
<input type="submit" value="Ingresar" />
</form>


Código PHP :

<?php
session_start();
// Borramos toda la sesion
session_destroy();
echo 'Ha terminado la session <p><a href="index.php">index</a></p>';
?>
<SCRIPT LANGUAGE="javascript">
location.href = "index.php";
</SCRIPT>


Código PHP :

<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('fainaticos.db.7703713.hostedresource.com','fainaticos','Tf*11.12')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('fainaticos')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function formRegistro(){
?>
<form action="registrar.php" method="post">
Usuario (max 20): 
  <input type="text" name="username" size="20" maxlength="20" /><br />
Password (max 10): 
<input type="password" name="password" size="10" maxlength="10" />
Confirma: <input type="password" name="password2" size="10" maxlength="10" /><br />
Email (max 40): 
<input type="text" name="email" size="20" maxlength="40" /><br />
<input type="submit" value="Registrar" />
</form>
<?php
}
// verificamos si se han enviado ya las variables necesarias.
if (isset($_POST["username"])) {
   $username = $_POST["username"];
   $password = $_POST["password"];
   $password2 = $_POST["password2"];
   $email = $_POST["email"];
   // Hay campos en blanco
   if($username==NULL|$password==NULL|$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, password, email, fecha)
            VALUES (\''.$username.'\',\''.$password.'\',\''.$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 : <INPUT TYPE="text" NAME="usuario" SIZE=20 MAXLENGTH=20><br />
              Password: <INPUT TYPE="password" NAME="password" SIZE=10 MAXLENGTH=10><br />
              <INPUT TYPE="submit" VALUE="Ingresar">
            </FORM>
            <?php
         }
      }
   }
}else{
   formRegistro();
}
?>


Código PHP :

<?php
session_start();
//datos para establecer la conexion con la base de mysql.
mysql_connect('fainaticos.db.7703713.hostedresource.com','fainaticos','Tf*11.12')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('fainaticos')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function quitar($mensaje)
{
   $nopermitidos = array("'",'\\','<','>',"\"");
   $mensaje = str_replace($nopermitidos, "", $mensaje);
   return $mensaje;
}
if(trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
   // Puedes utilizar la funcion para eliminar algun caracter en especifico
   //$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
   //$password = $HTTP_POST_VARS["password"];
   // o puedes convertir los a su entidad HTML aplicable con htmlentities
   $usuario = strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
   $password = $HTTP_POST_VARS["password"];
   $result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
   if($row = mysql_fetch_array($result)){
      if($row["password"] == $password){
         $_SESSION["k_username"] = $row['usuario'];
         echo 'Has sido logueado correctamente '.$_SESSION['k_username'].' <p>';
         echo '<a href="index.php">Index</a></p>';
         //Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php
         /*Ingreso exitoso, ahora sera dirigido a la pagina principal.
         <SCRIPT LANGUAGE="javascript">
         location.href = "index.php";
         </SCRIPT>*/
      }else{
         echo 'Password incorrecto';
      }
   }else{
      echo 'Usuario no existente en la base de datos';
   }
   mysql_free_result($result);
}else{
   echo 'Debe especificar un usuario y password';
}
mysql_close();
?>

Por zoneclick

19 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Abr 2011 03:56 pm
mira acave de montar esto tal cual me muestra el tuto y parece andar bien pero no me manda ninguna informacion a la base de datos www.melotronstudio.com/index/user_auth.html cuando le doy login obviamente me dice que mi usuario o contraseña son invalidos porq no tiene ningun registro en la base de datos

Por zoneclick

19 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Abr 2011 03:58 pm

Por zoneclick

19 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Abr 2011 07:18 pm
y en esta pongo los php y actionscrpt del boton enviar del formulario de registro

USER.PHP

Código PHP :

<?
require_once('conf.inc.php');
require_once('functions.php');
// ---
// register new user
// ---
function register($username,$pass,$email,$question,$answer)
{
   GLOBAL $db, $table;
   $username = trim($username);
   $pass = trim($pass);
   $email = trim($email);
   $question = addslashes(trim($question));
   $answer = addslashes(trim($answer));
   $validEmail = valid_email($email);
   $validName = valid_userName($username);
   $validPass = valid_password($pass);
   if(!$validName) return "error=invalid name";
   if(!$validPass) return "error=invalid password";
   if(!$validEmail) return "error=invalid email";
   $pass = md5(trim($pass));
   // all checks ok
   $query = @mysql_query("INSERT INTO $table (userName,userPassword,userMail,userQuestion,userAnswer) VALUES "
   ."('$username','$pass','$email','$question','$answer')");
   if(!$query)
   {
      return "error=" . mysql_error();
   } else {
      return "user=ok";
   }
}

// ---
// login, check user
// ---
function login($username,$pass)
{
   GLOBAL $db,$table;
   $username = trim($username);
   $pass = md5(trim($pass));
   $query = mysql_query("SELECT * FROM $table WHERE userName = '$username' AND userPassword = '$pass'");
   return mysql_num_rows($query);
}

// ---
// forget password
// ---
function forget($email)
{
   GLOBAL $db,$table;
   $email = trim($email);
   $query = mysql_query("SELECT userName, userQuestion from $table WHERE userMail = '$email'");
   if(mysql_num_rows($query)<1)
   {
      return "error=email not present into database";
   }
   $row = mysql_fetch_array($query);
   return "userName=$row[userName]&userQuestion=" . stripslashes($row['userQuestion']);
}

// ---
// generate new password
// ---
function new_password($username,$email,$answer)
{
   GLOBAL $db,$table;
   $username = trim($username);
   $email = trim($email);
   $answer = addslashes(trim($answer));
   $query = mysql_query("SELECT * FROM $table WHERE userName = '$username' AND userMail = '$email' AND userAnswer = '$answer'");
   if(mysql_num_rows($query) < 1)
   {
      return "error=wrong answer";
   }
   $rand_string = '';
   // ---
   // generating a random 8 chars lenght password
   // ---
   for($a=0;$a<7;$a++)
   {
      do
      {
         $newrand = chr(rand(0,256));
      } while(!eregi("^[a-z0-9]$",$newrand));
      $rand_string .= $newrand;
   }
   $pwd_to_insert = md5($rand_string);
   $new_query = mysql_query("UPDATE $table SET userPassword = '$pwd_to_insert' WHERE userName = '$username' AND userMail = '$email'");
   if(!$new_query)
   {
      return "error=unable to update value";
   }
   return "userName=$username&new_pass=$rand_string";
}

// ---
// decisional switch
// ---
if(isset($HTTP_POST_VARS["action"]))
{
   switch($HTTP_POST_VARS["action"])
   {
      case "register":
         $result = register($HTTP_POST_VARS['username'],$HTTP_POST_VARS['pass'],$HTTP_POST_VARS['email'],$HTTP_POST_VARS['question'],$HTTP_POST_VARS['answer']);
         print $result;
         break;
      case "login":
         $result = login($HTTP_POST_VARS['username'],$HTTP_POST_VARS['pass']);
         print "user=" . $result;
         break;
      case "forget":
         $result = forget($HTTP_POST_VARS['email']);
         print $result;
         break;
      case "new_password":
         $result = new_password($HTTP_POST_VARS['username'],$HTTP_POST_VARS['email'],$HTTP_POST_VARS['answer']);
         print $result;
         break;
   }
}
?>


FUNCTION.PHP

Código PHP :

<?
error_reporting(E_ALL);
function valid_email($email)
{
   // check if email is valid
   if( !eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*"
   ."@([a-z0-9]+([\.-][a-z0-9]+))*$",$email, $regs))
   {
      return false;
   } else if( gethostbyname($regs[2]) == $regs[2] )
   {
      // if host is invalid
      return false;
   } else {
      return true;
   }
}

function valid_userName($name)
{
   // check valid input name
   if(!eregi("^[a-z0-9]{8,15}$",$name))
   {
      return false;
   } else {
      return true;
   }
}

function valid_password($pwd)
{
   // check valid password
   if(!eregi("^[a-z0-9]{6,8}$",$pwd))
   {
      return false;
   } else {
      return true;
   }
}
?>


CONF.INC.PHP

Código PHP :

<?
error_reporting(E_ALL);
function valid_email($email)
{
   // check if email is valid
   if( !eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*"
   ."@([a-z0-9]+([\.-][a-z0-9]+))*$",$email, $regs))
   {
      return false;
   } else if( gethostbyname($regs[2]) == $regs[2] )
   {
      // if host is invalid
      return false;
   } else {
      return true;
   }
}

function valid_userName($name)
{
   // check valid input name
   if(!eregi("^[a-z0-9]{8,15}$",$name))
   {
      return false;
   } else {
      return true;
   }
}

function valid_password($pwd)
{
   // check valid password
   if(!eregi("^[a-z0-9]{6,8}$",$pwd))
   {
      return false;
   } else {
      return true;
   }
}
?>


BOTON DE ENVIAR DEL REGISTRO

Código ActionScript :

on (release) 
{
   errorMsg.text = ''
   if((userName.length > 7 &&  userName.length < 16)
         && (userPassword.text == userPassword2.text)
         && (userPassword.length > 5 && userPassword.length < 9)
         && (userMail.length > 0)
         && (secretQuestion.length > 0)
         && (secretAnswer.length > 0))
   {
         var regVars = new LoadVars();
         regVars.action = 'register';
         regVars.username = userName.text;
         regVars.pass = userPassword.text;
         regVars.email = userMail.text;
         regVars.question = secretQuestion.text;
         regVars.answer = secretAnswer.text;
         regVars.sendAndLoad(php_file, regVars, 'POST');
         registerBtn.enabled = false;
         regVars.onLoad = function()
         {
            if(this.error != undefined)
            {
               errorMsg.text = this.error;
            } else {
               _root.gotoAndStop('new_ok');
            }
            registerBtn.enabled = true;            
         }
   }
}

Por zoneclick

19 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Abr 2011 07:56 pm
no te manda un error de que no ecuentra la ruta?

en:

Código ActionScript :

regVars.sendAndLoad(php_file, regVars, 'POST');

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

chrome
Citar            
MensajeEscrito el 20 Abr 2011 07:59 pm
no me envia nada a la base de datos me dice que me registre correctamente pero no me envia nada a la base de datos

Por zoneclick

19 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Abr 2011 07:59 pm
ojala pudieras atenderme por medio de skype o msn y si solucionamos el problema postear la solucion

Por zoneclick

19 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Abr 2011 10:27 pm
Que tal, no puedo porque estoy en el trabajo. Pero donde te dice que si que si te registraste correctamente?

coloca un trace y me dices que te sale:

Código ActionScript :

regVars.onLoad = function() 
         { 
for(var i in regVars){

    trace('->>'+i+':'+regVars[i])
}
            if(this.error != undefined) 
            { 
               errorMsg.text = this.error; 
            } else { 
               _root.gotoAndStop('new_ok'); 
            } 
            registerBtn.enabled = true;             
         } 

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

chrome
Citar            
MensajeEscrito el 20 Abr 2011 10:31 pm
no entiendo lo de trace sorry soy todavia nob en esto explicame porfavor

Por zoneclick

19 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Abr 2011 10:37 pm
hice segun lo entendido y sigue con el mismo problema, no me registra en la base de datos

Por zoneclick

19 de clabLevel



 

chrome
Citar            
MensajeEscrito el 21 Abr 2011 12:32 am
Agrega un pequeño código en flash, identifica que parte del código es y agregalo, ejecutalo y dime que sale en la ventanita de salida.

Código ActionScript :

regVars.onLoad = function() 
         { 

//-- ESTO ES LO NUEVO!!!!
for(var i in regVars){

    trace('->>'+i+':'+regVars[i])
}
//-- AQUI ACABA LO NUEVO!!!!

            if(this.error != undefined) 
            { 
               errorMsg.text = this.error; 
            } else { 
               _root.gotoAndStop('new_ok'); 
            } 
            registerBtn.enabled = true;             
         } 

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

chrome
Citar            
MensajeEscrito el 21 Abr 2011 12:33 am
eso no va a resolver tu problema, solo nos va a decir que es lo que esta mal.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

chrome
Citar            
MensajeEscrito el 21 Abr 2011 01:37 am
no sale nada

Por zoneclick

19 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.