Comunidad de diseño web y desarrollo en internet online

Registro de usuarios tipo PHP NUKE

Citar            
MensajeEscrito el 24 Ago 2005 08:48 pm
Estoy confeccioando una web estilo php nuke, una especie de comunidad msn, pero con la interface en flash y conexion con bases MySQL a través de php que crea archivos xml.
Mi problema es que quiero que los usuarios registrados puedan editar sus datos haciendo login. No consigo hacer una identificaión del usuario y mandarlo a una pagina dond pueda editar los datos.

¿Alguien podría guiarme?
MUCHAS GRACIAS

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie
Citar            
MensajeEscrito el 25 Ago 2005 04:13 am
Pues podrias hacer la autentifiación con Flash Remoting o con LoadVars + PHP, te recomiendo cheque el tuto de LoadVars que esta en la sección de Tutoriales, y si surge algun problema con la conexion a la base de datos el registro y demás pss hay avisas :wink: .

Por choco

425 de clabLevel



Genero:Masculino  

Estado de México, México

firefox
Citar            
MensajeEscrito el 25 Ago 2005 07:32 pm
Si conoces algún otro tutorial de LoadVars aparte del de cristalab me harias un gran favor. Muchas gracias ;)

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie
Citar            
MensajeEscrito el 30 Ago 2005 09:49 pm
con datos XML no se, pero te puedo decir como lo hago con PHP
a ver.

Formulario de login con tres cuadros de texto "User Pass y mensaje " y un boton, en el boton tengo esto:

Código :

on (press) {
   // Compruebo que en los cuadros se ha escrito algo y si es así...Cargo las variables del archivo "login.PHP".
   
if (typeof (User) == "string" && typeof (Pass) == "string") {
      carga = new LoadVars();
      carga.NickW = User;
      carga.PasW = Pass;
      ruta = "login.php?"+carga.toString();
      carga.load(ruta);
      carga.onLoad = function() {
         if (carga.Bueno == 1) {
         // si ha cargado los datos correctos borro los                        cuadros de texto y lo mando donde quiera
                       
                  User="";
        Pass="";
                  loadMovie("la pelicula de los datos del usuario")
         


} else {
            
   // Si el usuario no se encuentra.....
                                mensaje="Usuario no válido";
            Nick1="";
            Pas1="";
            
         }
}   
};
}


el PHP:

Código :

<?
 include("DBConetar.php"); // conexion a la BD
$NickW=$_GET["NickW"];
$PasW=$_GET["PasW"];
$Bueno=0;
$IsAdmin=0;
if ($sortby!="")
{
        $sorted = " order by $sortby ";
}
$bareQuery = "select Nick,Pas,Tipo from User ";
$queryall = $bareQuery.$sorted;
$resultall = MYSQL_QUERY($queryall);
$numberall = mysql_Numrows($resultall);

if ($numberall==0) {
// si no encuentro datos, no pongo nada, de momento, porque ya traigo la variable $Bueno=0
}
else if ($numberall>0) {
// Si lo/s encuentro, leo los resultados del registro, 
$x=0;
        while ($x<$numberall)
        {
            $Tipo=mysql_result($resultall,$x,"Tipo");  
            $Nick=mysql_result($resultall,$x,"Nick"); 
            $Pas=mysql_result($resultall,$x,"Pas"); 

if ($Nick==$NickW and $Pas==$PasW) {
 echo("&IsAdmin=$Tipo&");
 echo("&Nick1=$Nick&");
 // como lo he encontrado pongo la variable $Bueno=1
 $Bueno=1;
}// siguiente registro
     $x++;
    }  // final de la busqueda
} 
echo ("&Bueno=$Bueno&");
// se envia a Flash el valor de la variable $Bueno
?>


Puedes leer todas las variables del registro y aprovechas la carga para tener todos los datos del Usuario, luego los cambios, otro PHP que haga un UPDATE a la Base de datos si el usuario hace algun cambio y ya está.

No se si te servirá, pero es lo que hago y funciona...

Saludos a tos

Por feisimo

66 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Ago 2005 10:14 pm
Muy interesante, me ha servido mucho tu ayuda feisimo, a la hora de modificar datos utilizo el siguiente código y no consigo encontrar el fallo:

<?
$idconnect=mysql_connect("localhost","........","........");
if ($idconnect==0)
{
echo "lo sentimos, no se ha podido establecer conexion";
echo "conectar con la base de datos";
} else {
mysql_select_db("chicos",$idconnect);
$Peticion="UPDATE agenda SET nick='$nick',";
$Peticion.="nombre='$nombre',";
$Peticion.="edad=$edad WHERE nick='$oldnick'";
&idresult=mysql_query ($Peticion,$idconnect);
if ($idconnect==0)
{
echo "La sentencia no es valida.<BR>";
echo mysql_errno().":".mysql_error()."<BR>";
}
else
{
$r=mysql_affected_rows($idconnect);
echo "Se han modificado : $r registros <BR>";
if ($r==0) echo "No hay ningun registro con nick=$oldnick.";
}
mysql_close($idconnect);
}
?>

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie
Citar            
MensajeEscrito el 30 Ago 2005 10:49 pm
lo primero que tienes que comprobar es si reamente la conexion se ejecuta.
lo segundo es que creo que te complicas demasiado, mira este sencillo ejemplo
imagina un formulario donde puedes editar una noticia...:

el php, seria muy simple, siempre y cuando hayas entendido el ejemplo anterior

Código :

include("DBConexion.php");// tu php para conectar a la DB 
$query="update noticias set  Noticia='$Noticia where IDnoticia = '$IDnoticia'"; 

$result = MYSQL_QUERY($query);


tienes que pasarle los valores de el Id de la noticia, y el cambio que has hecho..dos parametros , el Id, y la noticia(cambiada)

Saludos

Nos vemos mañana....

Por feisimo

66 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Ago 2005 11:24 am
Te entiendo, pero mi problema es:
Quiero que los usuarios hagan login (introduzcan su nick y contraseña) de ahí los lleve a un formulario para modificar sus datos.
Consigo enviarlos a ver sus datos, pero al editarlos no se guardan en la base de datos m sale una pagina en blanco. :(
Si tuvieras msn podríamos hablar mejor
Gracias por tu atención!!

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie
Citar            
MensajeEscrito el 31 Ago 2005 12:02 pm
Este es el primer código dl registro, al enviar le manda las órdenes al código anterior, que es elq no responde

<?
$idconnect=mysql_connect("localhost","..........","......");
if ($idconnect==0)
{
echo "no ha podido conectarse";
echo "conectar con la base de datos";
} else {
mysql_select_db("chicos",$idconnect);
$Peticion="SELECT * from agenda where nick='$nick';";
$idresult=mysql_query ($Peticion,$idconnect);
if ($idresult==0) echo "La sentencia es incorrecta.";
else {
if ($c=mysql_numrows($idresult)>0)
{
$registro=mysql_fetch_array($idresult);
}
mysql_free_result ($idresult);
}
}
mysql_close($idconnect);
if ($c>0) :
?>

FORMULARIO DE MODIFICACIÓN
<form name="form1" action="modificar.php" method="post">

<p>Nombre:
<input type="text" name="nombre"
value="<? echo $registro["nombre"] ?>">
<br>

Clave:
<input type="text" name="clave"
value="<? echo $registro["clave"] ?>">
<br>
Edad:
<input type="text" name="edad"
value="<? echo $registro["edad"] ?>">
<br>
Pareja:
<input type="text" name="pareja"
value="<? echo $registro["pareja"] ?>">
<br>
Ocupación:
<input type="text" name="ocupacion"
value="<? echo $registro["ocupacion"] ?>">
<br>
País:
<input type="text" name="pais"
value="<? echo $registro["pais"] ?>">
<br>
Provincia:
<input type="text" name="provincia"
value="<? echo $registro["provincia"] ?>">
<br>
Ciudad:
<input type="text" name="ciudad"
value="<? echo $registro["ciudad"] ?>">
<br>
Email:
<input type="text" name="email"
value="<? echo $registro["email"] ?>">
<br>
Más sobre tí:
<input type="text" name="texto"
value="<? echo $registro["texto"] ?>">
<br><input type="hidden" name="oldnick"
value="<? echo $registro["nombre"] ?>"><br>
<input type="submit" name="Submit" value="Modificar">
</p>

</form>
<? else : ?>
No se ha encontrado registro.
<? endif; ?>

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie
Citar            
MensajeEscrito el 31 Ago 2005 12:04 pm
Este es el primer paso, el formulario de entrada, aqui insertan su nick y pasan al formulario dond aparecen sus datos antiguos para poder modificarlos.

<FORM action="editar.php" method="post">
<b> Nick: </b> <input type="text" name="nick"><br>
<input type="submit" nick="submit" name="enviar">
</FORM>

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie
Citar            
MensajeEscrito el 05 Sep 2005 09:45 pm
Lo que veo es que sales de Flash para preguntar el usuario y contraseña, cuando no es necesario. hay miles de tutoriales sobre esto.
Otro problema puede ser la version de PHP que utilices en el server, ya que en versiones recientes tienes que leer las variables que envias de esta forma:

Código :

$variable=$_GET["variable"];


en el php donde modificas los datos no compruebas que sea asi.

Código :

$nick=$_GET["nick"];


de una version a otra de PHP, te puedes perder, asegurate de que las variables se envian y se reciben correctamente.

de todas formas, estudia el ejemplo que te puse arriba, funciona correctamente... está en la pagina provisional de www.ceforein.com

cualquier cosa, escribe.

Saludos

Por feisimo

66 de clabLevel



 

firefox

 

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