Foros del Web » Programando para Internet » PHP »

sistema de usuarios php mysql incompleto

Estas en el tema de sistema de usuarios php mysql incompleto en el foro de PHP en Foros del Web. hola, tengo un codigo php de registro de usuarios, pero necesito que se coloquen mas datos en la db, si que deje de funcionar el ...
  #1 (permalink)  
Antiguo 30/05/2011, 14:14
Avatar de carlosmderio3  
Fecha de Ingreso: marzo-2011
Ubicación: valencia
Mensajes: 67
Antigüedad: 13 años, 1 mes
Puntos: 0
sistema de usuarios php mysql incompleto

hola, tengo un codigo php de registro de usuarios, pero necesito que se coloquen mas datos en la db, si que deje de funcionar el script.

ya que antes he metido mis manos y lo he fastidiado varias veces con manual y sin manual... es que no entiendo muy bien...

van los codigos:


Código PHP:
CREATE TABLE IF NOT EXISTS `members` (
  `
idint(11NOT NULL auto_increment,
  `
usernamevarchar(255NOT NULL,
  `
passwordvarchar(255NOT NULL,
  `
emailvarchar(255NOT NULL,
  `
ipvarchar(255NOT NULL,
  `
datevarchar(255NOT NULL,
  
PRIMARY KEY  (`id`)
ENGINE=MyISAM AUTO_INCREMENT=
config.php

Código PHP:
<? ob_start(); session_start();
$db_host "localhost";
$db_username " root";  
$db_password " clave_root";
$db_name " registros";
mysql_connect ("".$db_host."""".$db_username."","".$db_password."") or die('Cannot connect to the database because: ' mysql_error());
mysql_select_db ("".$db_name."");
$site_name "Usuarios";
$site_email "[email protected]";
?>


login.php


Código PHP:
<? ob_start();session_start();include_once"config.php";
if(isset(
$_SESSION['username']) || isset($_SESSION['password'])){
    
header("Location: membersarea.php");
}else{
if(isset(
$_POST['login'])){
$usernametrim($_POST['username']);
$password trim($_POST['password']);
if(
$username == NULL OR $password == NULL){
$final_report.="Please complete all the fields below..";
}else{
$check_user_data mysql_query("SELECT * FROM `members` WHERE `username` = '$username'") or die(mysql_error());
if(
mysql_num_rows($check_user_data) == 0){
$final_report.="This username does not exist..";
}else{
$get_user_data mysql_fetch_array($check_user_data);
if(
$get_user_data['password'] != $password){
$final_report.="Your password is incorrect!";
}else{
$start_idsess $_SESSION['username'] = "".$get_user_data['username']."";
$start_passsess $_SESSION['password'] = "".$get_user_data['password']."";
$final_report.="You are about to be logged in, please wait a few moments.. <meta http-equiv='Refresh' content='2; URL=membersarea.php'/>";
}}}}}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>

</head>
<body>
<form action="" method="post">
  <table width="400" align="center" cellpadding="2" cellspacing="2">
    <tr>
      <td colspan="2" align="center" bgcolor="#0066CC" class="bglink">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2" align="center" class="title">.</td>
    </tr>
    <tr>
      <td colspan="2"><? if(!isset($_POST['login'])){?>
        Please use your username and password to login.
        <? }else{ echo "".$final_report."";}?></td>
    </tr>
    <tr>
      <td width="120">Username:</td>
      <td width="180"><input type="text" name="username" size="30" maxlength="25"></td>
    </tr>
    <tr>
      <td>Password:</td>
      <td><input type="password" name="password" size="30" maxlength="25"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="login" value="Login" /></td>
    </tr>
    <tr>
      <td colspan="2" align="center">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2" align="center" bgcolor="#0066CC" class="bglink"><a href="register.php">Register</a> - <a href="lostpassword.php">Lost Password</a></td>
    </tr>
    </tr>
  </table>
</form>
</body>
</html>

settings.php

Código PHP:
<? ob_start(); session_start();include_once"config.php";
if(!isset(
$_SESSION['username']) || !isset($_SESSION['password'])){
    
header("Location: login.php");
}else{
$user_data "".$_SESSION['username']."";
$fetch_users_data mysql_fetch_object(mysql_query("SELECT * FROM `members` WHERE `username`='".$user_data."'"));
}
if(isset(
$_POST['update'])){
$oldp $_POST['oldpass'];
$newp $_POST['newpass'];
$conp $_POST['conpass'];
if(
$oldp == NULL OR $newp == NULL OR $conp == NULL){
$final_report.="Please complete all the form fields!";
}else{
$check_pass mysql_query("SELECT * FROM `members` WHERE `username`='".$user_data."'");
$check_data mysql_fetch_array($check_pass);
if(
$check_data['password'] != $oldp){
$final_report.="Your old password does not match the database!";
}else{
if(
strlen($newp) <= || strlen($newp) >= 12){
$final_report.="Your password must be between 6 and 12 digits and characters!";
}else{
if(
$newp != $conp){
$final_report.="The confirmed password does not match your new password!";
}else{
$update_pass mysql_query("UPDATE `members` SET `password` = '$newp' WHERE `username` = '".$user_data."' LIMIT 1");
$final_report.="Your password has been changed, you will need to login again.";
@
session_destroy(); 
header'refresh: 3; url=login.php');
}}}}}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<form method="post">
  <table width="700" border="0" align="center" cellpadding="0" cellspacing="2">
    <tr>
      <td height="30" colspan="2" class="title">&nbsp;</td>
    </tr>
    <tr>
      <td width="170" bgcolor="#0066CC" class="header">&nbsp;Members Menu</td>
      <td width="524" bgcolor="#0066CC" class="header">&nbsp;Settings</td>
    </tr>
    <tr>
      <td valign="top"><table width="100%" border="0" cellspacing="2" cellpadding="2">
          <tr>
            <td><a href="membersarea.php">Members Area</a> </td>
          </tr>
          <tr>
            <td><a href="settings.php">Settings</a></td>
          </tr>
          <tr>
            <td><a href="logout.php">Logout</a></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
          </tr>
        </table></td>
      <td valign="top"><table width="100%" border="0" cellspacing="2" cellpadding="2">
          <tr>
            <td colspan="2"><? if(!isset($_POST['update'])){ echo "".$user_data."";?>, this is where you can update your password, just enter your old and new password below and then click on the  apply changes button.
              <? }else{
        echo
"".$final_report."";
        
        }
?></td>
          </tr>
          <tr>
            <td width="42%">Old Password: </td>
            <td width="58%"><input name="oldpass" type="password" id="oldpass"></td>
          </tr>
          <tr>
            <td>New Password: </td>
            <td><input name="newpass" type="password" id="newpass"></td>
          </tr>
          <tr>
            <td>Confirm Password: </td>
            <td><input name="conpass" type="password" id="conpass"></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td><input name="update" type="submit" id="update" value="Apply Changes"></td>
          </tr>
        </table></td>
    </tr>
    <tr>
      <td height="16" colspan="2" align="center" valign="top" bgcolor="#0066CC">&nbsp;</td>
    </tr>
  </table>
</form>
</body>
</html>
register.php


Código PHP:
<? include_once"config.php";
if(isset(
$_SESSION['username']) || isset($_SESSION['password'])){
    
header("Location: membersarea.php");
}else{
if(isset(
$_POST['register'])){
$username $_POST['username'];
$password $_POST['password'];
$email $_POST['email'];
$memip $_SERVER['REMOTE_ADDR'];
$date date("d-m-Y");
if(
$username == NULL OR $password == NULL OR $email == NULL){
$final_report.= "Please complete the form below! Try again.";
}else{
if(
strlen($username) <= || strlen($username) >= 31){
$final_report.="Your username must be between 3 and 30 characters! Try again.";
}else{
$check_members mysql_query("SELECT * FROM `members` WHERE `username` = '$username'");   
if(
mysql_num_rows($check_members) != 0){
$final_report.="The username is already in use! Try again."
}else{ 
if(
strlen($password) <= || strlen($password) >= 12){
$final_report.="Your password must be between 6 and 12 digits and characters! Try again.";
}else{
if(!
eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"$email)){ 
$final_report.="Your email address was not valid! Try again.";
}else{
$create_member mysql_query("INSERT INTO `members` (`id`,`username`, `password`, `email`, `ip`, `date`) 
VALUES('','$username','$password','$email','$memip','$date')"
); 
$final_report.='Thank you for registering, you may <a href="login.php">login here</a>.'
}}}}}}}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

</head>
<body>
<form method="post">
  <table width="400" border="0" align="center" cellpadding="2" cellspacing="2">
    <tr>
      <td colspan="2" bgcolor="#0066CC">&nbsp;</td>
    </tr>
    <tr>
      <td colspan="2" align="center" class="title"></td>
    </tr>
    <tr>
      <td colspan="2"><? if(!isset($_POST['register'])){?>
        Complete the form below to create your account.
        <? }else{ echo "".$final_report."";}?></td>
    </tr>
    <tr>
      <td width="37%">Username:</td>
<input name="username" type="text" id="username" size="30" />
Password:
      <td><input name="password" type="password" id="password" value="" size="30" />

      <td>Email:</td>
<input name="email" type="text" id="email" size="30" />
    <input name="register" type="submit" id="register" value="Register" />
</form>
bueno, nose que modificar, asi que les dejo el codigo...
esto es lo que pretendo gracias....
Pagina de perfil:
Usuario:
nombre
apellido
clave:
mail:
edad: con <select>
ciudad:
pais:
DNI
direccion:
telefono:
movil:
etc:
registro.php
usuario:
Nombre:
Apellido:
email:

login.php
usuario:
mail:
__________________
Oir EuropaFM Valencia!
  #2 (permalink)  
Antiguo 30/05/2011, 14:46
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 13 años
Puntos: 19
Respuesta: sistema de usuarios php mysql incompleto

Hola!
oye yo te ayudo pero no entiendo que eslo que deseas en concreto.

Mejor dime cuales son los campos que quieres agregar en tu tabla members, pero los campos específicos.

Saludos!
__________________
www.elias.com.sv
  #3 (permalink)  
Antiguo 31/05/2011, 10:50
Avatar de carlosmderio3  
Fecha de Ingreso: marzo-2011
Ubicación: valencia
Mensajes: 67
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Respuesta: sistema de usuarios php mysql incompleto

Código PHP:
CREATE TABLE IF NOT EXISTS `members` ( 
  `
idint(11NOT NULL auto_increment//el id del usuario
  
`usernamevarchar(255NOT NULL//usuario
  
`passwordvarchar(255NOT NULL//clave
  
`emailvarchar(255NOT NULL//mail
  
`ipvarchar(255NOT NULL//dir ip
  
`datevarchar(255NOT NULL//fecha de registro
 
`cumple_diavarchar(255NOT NULL//fecha dia nacimiento
 
`cumple_mesvarchar(255NOT NULL//fecha mes nacimiento
 
`cumple_aniovarchar(255NOT NULL//fecha año nacimiento
 
`datevarchar(255NOT NULL//fecha de registro
 
`dnivarchar(255NOT NULL
 `
telefonovarchar(255NOT NULL
 `
faxvarchar(255NOT NULL
`
telefono_movilvarchar(255NOT NULL
 `
direccionvarchar(255NOT NULL
 `
nombrevarchar(255NOT NULL
 `
apellidovarchar(255NOT NULL
  
PRIMARY KEY  (`id`) 
ENGINE=MyISAM AUTO_INCREMENT=
Login.php

Usuario:
Mail:
[Entrar]

a partir de la tabla, mas o menos quisiera de meter en la pagina de perfil, todos los datos que faltan en el registro.

Perfil.php
Nombre: [Carlos]
Apellido: [blabla]
Direccion: [calle tal tal]

....
....
....
....

Email: [[email protected]]

....
blabla.....

[Guardar Cambios]

Bueno..... espero que me hechen un cable para ver si se puede hacer algo asi...

Código PHP:
para perfil.php
<input name=usuario type=text value="<php? echo '.$valor_inicial_usuario'. ;} ?>">

<
input type="submit" name="guardar_cambios" id="guardar_cambios" value="Guardar Cambios" /> 
¿estoy en lo correcto?
__________________
Oir EuropaFM Valencia!
  #4 (permalink)  
Antiguo 31/05/2011, 13:54
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: sistema de usuarios php mysql incompleto

primero que nada cambia todos tus <? por <?php

por que?

es una larga historia y no creo que quieras escucharla XD pero en resumen las nuevas versiones de PHP funcionan mejor con <?php, es cierto que funciona también con <?, pero algunos servidores (mas nuevos) no interpretan de la misma manera todos los códigos (como por ejemplo las impresiones) y podría darte problemas.

también cambia todos los <php? por <?php por la sencilla razón de que <php? no existe XD

en cuanto a tu problema, te explico que es lo que entendí y dime si esta correcto:

-----------------
Actualmente tienes un sistema con usuarios creados, pero los datos de este sistema no son suficientes y quieres agregar mas datos, por lo tanto estas pensando hacer un sistema de actualización de datos donde los usuarios podrán escribir sus nueva información.

Yo supongo que ya has modificado la tabla de usuarios para tener los nuevos campos y solo te falta actualizar los campos existentes con PHP.
-----------------

todo bien?
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #5 (permalink)  
Antiguo 31/05/2011, 14:09
Avatar de carlosmderio3  
Fecha de Ingreso: marzo-2011
Ubicación: valencia
Mensajes: 67
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: sistema de usuarios php mysql incompleto

correcto, ya que solo tiene id de usuario, usuario, clave y email para recuperar clave.

en la de setting.php arriba, esta la de cambiar solamente la clave....

estoy intentando pero ya pido ayuda porque no lo puedo solucionar...
gracias! muy atento
__________________
Oir EuropaFM Valencia!

Última edición por carlosmderio3; 31/05/2011 a las 14:14
  #6 (permalink)  
Antiguo 31/05/2011, 14:23
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: sistema de usuarios php mysql incompleto

El camino para actualizarlo es bastante parecido al que usaste para crear los usuarios, la diferencia es que tienes que poner mas campos y cambiar la consulta mysql a algo así:


Código PHP:
$username=$_SESSION['username']; //sería mejor que guardaras la id en una sesion
$edad=$_POST['edad'];
$ciudad=$_POST['ciudad'];
$pais=$_POST['pais'];
$DNI=$_POST['DNI'];
$direccion=$_POST['direccion'];
$telefono=$_POST['telefono'];
$movil=$_POST['movil'];
$etc=$_POST['etc'];

$update_member mysql_query("UPDATE `members` SET
edad='$edad',
ciudad='$ciudad',
pais='$pais',
DNI='$DNI',
direccion='$direccion',
telefono='$telefono',
movil='$movil',
etc='$etc'
WHERE username='$username'"
); 
espero que sea eso y que se entienda.
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #7 (permalink)  
Antiguo 31/05/2011, 14:24
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 3 meses
Puntos: 128
Respuesta: sistema de usuarios php mysql incompleto

Yo que tú creo todo nuevamente y me evito este tipo de mensajes : Thank you for registering, you may mas que nada es crear mas input's en el formulario, enviarlos e insertarlos, hazlo de new , asi aprenderas y no creo que te lleve mas de 20 minutos, saludos
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #8 (permalink)  
Antiguo 02/06/2011, 07:38
Avatar de carlosmderio3  
Fecha de Ingreso: marzo-2011
Ubicación: valencia
Mensajes: 67
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: sistema de usuarios php mysql incompleto

bueno, después de estar liado un poco.... acá pego el código para saber donde le estoy pifiando...

Código PHP:
<? ob_start(); session_start();include_once"config.php";
 if(!isset(
$_SESSION['username']) || !isset($_SESSION['password'])){
    
// header("Location: login.php"); 
}else{
$user_data "".$_SESSION['username']."";
$fetch_users_data mysql_fetch_object(mysql_query("SELECT * FROM `members` WHERE `username`='".$user_data."'"));
}
if(isset(
$_POST['update'])){
$oldp $_POST['oldpass'];
$newp $_POST['newpass'];
$conp $_POST['conpass'];
// tu codigo -------------------------------------------
$username=$_SESSION['username']; //sería mejor que guardaras la id en una sesion
$edad=$_POST['edad'];
$ciudad=$_POST['ciudad'];
$pais=$_POST['pais'];
$DNI=$_POST['DNI'];
$direccion=$_POST['direccion'];
$telefono=$_POST['telefono'];
$movil=$_POST['movil'];
$provincia=$_POST['provincia'];
//------- hasta aqui-------------------------------------
if($oldp == NULL OR $newp == NULL OR $conp == NULL){
$final_report.="Complete todos los campos!";
}else{
$check_pass mysql_query("SELECT * FROM `members` WHERE `username`='".$user_data."'");
$check_data mysql_fetch_array($check_pass);
if(
$check_data['password'] != $oldp){
$final_report.="Su clave no coincide con la que posee!";
}else{
if(
strlen($newp) <= || strlen($newp) >= 12){
$final_report.="Su clave debe tener entre 6 y 12 caracteres!";
}else{
if(
$newp != $conp){
$final_report.="Confirme nuevamente su clave!";
}else{
    
// tu otra parte del codigo, aqui.
$update_pass mysql_query("UPDATE `members` SET edad='$edad',
ciudad='$ciudad',
pais='$pais',
DNI='$DNI',
direccion='$direccion',
telefono='$telefono',
movil='$movil',
provincia='$provincia'
WHERE username='$username'"
); // hasta la linea anterior a esta...
$final_report.="Su clave se ha cambiado correctamente, espere para volver a ingresar al sitio.";
@
session_destroy(); 
header'refresh: 3; url=login.php');
}}}}}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>.</title>
<style type="text/css">
<!--
body,td,th {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
}
a:link {
    color: #0066FF;
}
a:visited {
    color: #0066FF;
}
a:hover {
    color: #0066FF;
}
a:active {
    color: #0066FF;
}
.title {
    color: #0066CC;
    font-weight: bold;
    font-size: 18px;
}
.header { color:#FFFFFF;}
-->
</style>
</head>
<body>
<form method="post">
  <table width="700" border="0" align="center" cellpadding="0" cellspacing="2">
          <tr>
            <td width="163">Clave actual: </td>
            <td width="531"><input name="oldpass" type="text" id="oldpass" value="<? echo ''.$_SESSION['password'].'';?>" readonly="readonly"></td>
          </tr>
          <tr>
            <td>Coloque su nueva Clave: </td>
            <td><input name="newpass" type="password" id="newpass"></td>
          </tr>
          <tr>
            <td>Confirme su nueva clave: </td>
            <td><input name="conpass" type="password" id="conpass"></td>
          </tr>
            <tr>
            <td width="163">Nombre: </td>
            <td width="531"><input name="nombre" type="text" id="nombre" value="<? echo ''.$_SESSION['nombre'].'';?>"></td>
          </tr>
          <tr>
            <td width="163">Apellido: </td>
            <td width="531"><input name="apellido" type="text" id="apellido" value="<? echo ''.$_SESSION['apellido'].'';?>"></td>
          </tr>
          <tr>
            <td width="163">Edad: </td>
            <td width="531"><input name="edad" type="text" id="edad"></td>
          </tr>
            <tr>
            <td width="163">DNI: </td>
            <td width="531"><input name="DNI" type="text" id="DNI"></td>
          </tr>
            <tr>
            <td width="163">Direcci&oacute;n: </td>
            <td width="531"><input name="direccion" type="text" id="direccion"></td>
          </tr>
            <tr>
            <td width="163">Tel&eacute;fono: </td>
            <td width="531"><input name="telefono" type="text" id="telefono"></td>
          </tr>
            <tr>
            <td width="163">M&oacute;vil: </td>
            <td width="531"><input name="movil" type="text" id="movil"></td>
          </tr>
            <tr>
            <td width="163">Ciudad: </td>
            <td width="531"><input name="ciudad" type="text" id="ciudad"></td>
          </tr>
            <tr>
            <td width="163">Prov&iacute;ncia: </td>
            <td width="531"><input name="provincia" type="text" id="provincia"></td>
          </tr>
            <tr>
            <td width="163">Pais: </td>
            <td width="531"><input name="pais" type="text" id="pais"></td>
          </tr>
           <td width="163">Email: </td>
            <td width="531"><input name="mail" type="text" id="mail" readonly="readonly"></td>
          </tr>
          <tr>
  <td width="163"><input name="update" type="submit" id="update" value="Actualizar datos"></td>
  <td><? if(!isset($_POST['update'])){ echo "".$user_data."";?>
  <? }else{
        echo
"".$final_report."";
        
        }
?></td>
          </tr>
       
         
</table>
</form>
</body>
</html>
No me actualiza los datos en la db ni tampoco los lee... así que estaré teniendo un error garrafal... haber si alguien me echa un cable...
__________________
Oir EuropaFM Valencia!
  #9 (permalink)  
Antiguo 02/06/2011, 07:49
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: sistema de usuarios php mysql incompleto

creo que te falta la conexión a la BD, a no ser que esté en include_once"config.php";

aparte, te aconsejo que pongas eso entre parentesis:

include_once("config.php");

por otro lado estás usando mysql_fetch_object(), en ese caso tendrás que manipular las variables como objeto.

quizás te conviene usar mysql_fetch_array()

también fíjate que estas guardando el resultado en la variable $fetch_users_data variable que nunca utilizas, en vez de eso usas $check_data, variable que no está declarada, no existe.

debes reparar esa inconsistencia, llamando las 2 con el mismo nombre :)
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #10 (permalink)  
Antiguo 02/06/2011, 08:04
Avatar de carlosmderio3  
Fecha de Ingreso: marzo-2011
Ubicación: valencia
Mensajes: 67
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: sistema de usuarios php mysql incompleto

Esto esta tal cual en la primera linea:
Código PHP:
<? ob_start(); session_start();include_once"config.php";
como dices, no esta en paréntesis....

hasta ahí voy...

ahora cambio esto por esto...

Código PHP:
<? ob_start();
 
session_start();
include_once(
"config.php");
la conexión a la base de datos la tengo ya escrita... dentro de config.php
que es lo primero que he hecho...

ahora me falta lo de tu comentario....:

Cita:
por otro lado estás usando mysql_fetch_object(), en ese caso tendrás que manipular las variables como objeto.

quizás te conviene usar mysql_fetch_array()

también fíjate que estas guardando el resultado en la variable $fetch_users_data variable que nunca utilizas, en vez de eso usas $check_data, variable que no está declarada, no existe.

debes reparar esa inconsistencia, llamando las 2 con el mismo nombre :)
haber si lo logro....

es que soy muy cabezota....
__________________
Oir EuropaFM Valencia!
  #11 (permalink)  
Antiguo 02/06/2011, 08:07
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: sistema de usuarios php mysql incompleto

animo animo!
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #12 (permalink)  
Antiguo 02/06/2011, 12:13
Avatar de carlosmderio3  
Fecha de Ingreso: marzo-2011
Ubicación: valencia
Mensajes: 67
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: sistema de usuarios php mysql incompleto

este es el destrozo de cabeza que tengo....
Código PHP:
<? ob_start();session_start();include_once("config.php");
 if(!isset(
$_SESSION['username']) || !isset($_SESSION['password'])){
    
// header("Location: login.php"); 
}else{

$user_data "".$_SESSION['username'].""; {
$nombre="".$_SESSION['nombre'];
$apellido=$_POST['apellido'];
$edad=$_POST['edad'];
$ciudad=$_POST['ciudad'];
$pais=$_POST['pais'];
$DNI=$_POST['DNI'];
$direccion=$_POST['direccion'];
$telefono=$_POST['telefono'];
$movil=$_POST['movil'];
$provincia=$_POST['provincia'];
mysql_fetch_array((mysql_query("SELECT * FROM `members` WHERE `username`,`nombre`='".$nombre."' ")));//SELECT * FROM `members` WHERE `username`='".$user_data."'"
}
}
if(isset(
$_POST['update'])){
$oldp $_POST['oldpass'];
$newp $_POST['newpass'];
$conp $_POST['conpass'];
// tu codigo -------------------------------------------
$edad=$_POST['edad'];
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
$ciudad=$_POST['ciudad'];
$pais=$_POST['pais'];
$DNI=$_POST['DNI'];
$direccion=$_POST['direccion'];
$telefono=$_POST['telefono'];
$movil=$_POST['movil'];
$provincia=$_POST['provincia'];
//------- hasta aqui-------------------------------------
if($oldp == NULL OR $newp == NULL OR $conp == NULL){
$final_report.="Complete todos los campos!";
}else{
$check_pass mysql_query("SELECT * FROM `members` WHERE `username`='".$user_data."'");
$check_data mysql_fetch_array($check_pass);
if(
$check_data['password'] != $oldp){
$final_report.="Su clave no coincide con la que posee!";
}else{
if(
strlen($newp) <= || strlen($newp) >= 12){
$final_report.="Su clave debe tener entre 6 y 12 caracteres!";
}else{
if(
$newp != $conp){
$final_report.="Confirme nuevamente su clave!";
}else{
    
// tu otra parte del codigo, aqui.
$update_pass mysql_query("UPDATE `members` SET edad='$edad',
ciudad='$ciudad',
pais='$pais',
DNI='$DNI',
direccion='$direccion',
telefono='$telefono',
movil='$movil',
provincia='$provincia'
WHERE username='$username'"
); // hasta la linea anterior a esta...
$final_report.="Su clave se ha cambiado correctamente, espere para volver a ingresar al sitio.";
@
session_destroy(); 
header'refresh: 3; url=login.php');
}}}}}
?>
me he puesto un buen rato y no lo logro sacar....

asi quisiera recoger los datos:
Código PHP:
<input name="nombre" type="text" id="nombre" value="<? echo ''.$_SESSION['nombre'].'';?>">
, una buena, y el resto malas, porque la contraseña me la dise... pero el resto de los datos no me los muestra...
y ahora me tira error em la linea 15
__________________
Oir EuropaFM Valencia!
  #13 (permalink)  
Antiguo 02/06/2011, 12:37
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: sistema de usuarios php mysql incompleto

mmmm estamos mal, mira aún no has declarado la variable $check_data

Código PHP:
$check_data=mysql_fetch_array((mysql_query("SELECT * FROM `members` WHERE `username`,`nombre`='".$nombre."' "))); 
también tienes un par de paréntesis de mas

Código PHP:
$check_data=mysql_fetch_array(mysql_query("SELECT * FROM `members` WHERE `username`,`nombre`='".$nombre."' ")); 
tus condiciones no estan bien hechas.

Código PHP:
$check_data=mysql_fetch_array(mysql_query("SELECT * FROM `members` WHERE username='$user_data' ")); 
debe ser así con $user_data que viene de la variable de sesión, de esta manera evitas que alguien modifique a otro usuario, de modo que solo pueda editarse a si mismo.
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #14 (permalink)  
Antiguo 02/06/2011, 13:42
Avatar de carlosmderio3  
Fecha de Ingreso: marzo-2011
Ubicación: valencia
Mensajes: 67
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: sistema de usuarios php mysql incompleto

mmmmmm has visto.... la verdad es que estoy muy perdido y estoy a punto de desistir....
si alguien lo sabe que me pegue el código o lo que debo pegar..., reemplazar, porque ya no se por donde meter todo.... lo de bases de datos no lo entiendo...
gracias stramin, que me estás ayudando!
__________________
Oir EuropaFM Valencia!
  #15 (permalink)  
Antiguo 02/06/2011, 15:44
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: sistema de usuarios php mysql incompleto

no te rindas, en teoría si copias el último código que te puse reemplazando el anterior debería estar bien al menos esa parte, has eso y luego vuelve a pegar el código aquí para verlo.
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #16 (permalink)  
Antiguo 03/06/2011, 04:25
Avatar de carlosmderio3  
Fecha de Ingreso: marzo-2011
Ubicación: valencia
Mensajes: 67
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: sistema de usuarios php mysql incompleto

bueno, he borrado un par de cosas del script, pero he tratado de definir los arrays pero no me va...

Cita:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in \www\Registro_de_usuarios\perfil_de_usuario.php on line 26
sigo metiendo la pata hasta el final...

Pego el codigo: (he acortado aun mas el codigo asi es mas facil la lectura).

Código PHP:
<? ob_start();session_start();include_once("config.php");
 if(!isset(
$_SESSION['username']) || !isset($_SESSION['password'])){
    
// header("Location: login.php"); 
}else{
    
$user_data "".$_SESSION['username']."";
$nombre="".$_SESSION['nombre'];
$apellido=$_POST['apellido'];
$edad=$_POST['edad'];
$ciudad=$_POST['ciudad'];
$pais=$_POST['pais'];
$DNI=$_POST['DNI'];
$direccion=$_POST['direccion'];
$telefono=$_POST['telefono'];
$movil=$_POST['movil'];
$provincia=$_POST['provincia'];
$check_data=mysql_fetch_array(mysql_query("SELECT * FROM `members` WHERE username='$user_data', edad='$edad',
ciudad='$ciudad',
pais='$pais',
WHERE username='$username'"
));
}
if(isset(
$_POST['update'])){
$oldp $_POST['oldpass'];
$newp $_POST['newpass'];
$username=$_SESSION['username'];
$edad=$_POST['edad'];
$check_data=mysql_fetch_array(mysql_query("SELECT * FROM `members` WHERE username='$user_data' "));
$check_data mysql_query("UPDATE `members` SET edad='$edad',
ciudad='$ciudad',
pais='$pais',
DNI='$DNI',
WHERE username='$username'"
);
$final_report.="Su clave se ha cambiado correctamente, espere para volver a ingresar al sitio.";
//@session_destroy(); 
//header( 'refresh: 3; url=login.php');
}
?>
en este caso asi como esta pegado da el error en la linea: 19
que sería esta:
Código PHP:
$check_data=mysql_fetch_array(mysql_query("SELECT * FROM `members` WHERE username='$user_data', edad='$edad',
ciudad='$ciudad',
pais='$pais',
WHERE username='$username'"
)); 
Y para recoger y enviar a la db.
Código PHP:
<input name="nombre" type="text" id="nombre" value="<? echo ''.$_SESSION['nombre'].'';?>">
En la teoria deberia de funcionar desde el principio... ya que me lee la clave y el usuario... GGGrrrrr...

$check_data vs. $user_data.. no se donde colocarlos....

Cita:
tus condiciones no estan bien hechas.

Código PHP:
$check_data=mysql_fetch_array(mysql_query("SELECT * FROM `members` WHERE username='$user_data' "));
debe ser así con $user_data que viene de la variable de sesión, de esta manera evitas que alguien modifique a otro usuario, de modo que solo pueda editarse a si mismo.
.

Edit:

Cita:
$check_data=mysql_fetch_array(mysql_query("SELECT * FROM `members` WHERE username='$user_data' "));
$user_data = mysql_query("UPDATE `members` SET edad='$edad',
ciudad='$ciudad',
__________________
Oir EuropaFM Valencia!

Última edición por carlosmderio3; 03/06/2011 a las 04:42
  #17 (permalink)  
Antiguo 03/06/2011, 06:46
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 3 meses
Puntos: 128
Respuesta: sistema de usuarios php mysql incompleto

prueba con esto :

Código PHP:
Ver original
  1. ("SELECT * FROM `members` WHERE username='$user_data' AND edad='$edad' AND
  2. ciudad='$ciudad' AND pais='$pais'");

Las consultas cuando llevan mas de una condicion no se separan por comas sino por AND u OR , ademas tienes un WHERE dentro de otro WHERE


Espero te sirva, saludos
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #18 (permalink)  
Antiguo 03/06/2011, 09:22
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: sistema de usuarios php mysql incompleto

a ver, esto va para los 2, Carlos y Bullan

Supongamos que yo estoy registrado en la página y tengo estos datos registrados en la BD:

nombre: stramin
edad: 26

y ya paso mi cumpleaños entonces quiero editar mi edad a 27, para esto entro en el sitio y la variable de $user_data queda como "stramin".

$user_data = "".$_SESSION['username']."";

ahora entro al panel de modificacion de edad y escribo "27" y envio el formulario, por lo tanto la variable $edad queda en 27

$edad=$_POST['edad'];

ahora fíjense en la condición:

SELECT * FROM `members` WHERE username='$user_data' AND edad='$edad'.........

quedaría así:

SELECT * FROM `members` WHERE username='stramin' AND edad='27'.........

existe un stramin con 27 años en la base de datos? NO, por lo tanto no se editará mi edad.

los códigos no están mal, falta un poco de lógica, publico por última vez el código como debe ser:

Cita:
Cita:
Código PHP:
$check_data=mysql_fetch_array(mysql_query("SELECT * FROM `members` WHERE username='$user_data' ")); 
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #19 (permalink)  
Antiguo 03/06/2011, 09:26
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 3 meses
Puntos: 128
Respuesta: sistema de usuarios php mysql incompleto

@stramin buena acotación, esto me pasa por no leer lo que quieren sino ver solo code, saludos
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón

Etiquetas: mysql, sistema, 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 21:16.