elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 2 3 4 [5] 6 7
41  Programación / PHP / Re: Perfil de un usuario, problema! en: 7 Marzo 2010, 19:47 pm
Nakp, igual dice undefined variable getname, lo puse de esta manera. Pero si ya está declarada en function. Voy a tirar la compu por la ventana
Código
  1. <?php
  2.  
  3.  
  4. include("connect.php");
  5.  
  6.  
  7. $usuario=$getname["usuario"];
  8. $query=mysql_query("select * from prueba where usuario='$usuario'");
  9. $getname=mysql_fetch_array($query);  
  10.  
  11.  
  12. $firstname=$getname["firstname"];
  13. $lastname=$getname["lastname"];
  14. $gender=$getname["genero"];
  15.  
  16. ?>
42  Programación / PHP / Re: Perfil de un usuario, problema! en: 7 Marzo 2010, 16:57 pm
Bueno Nakp, hice lo que dijiste. Te comento uso el ZendStudio, para hacer debug en el codigo.

Cambié en el modificarperfil.php:

Código
  1. <?php
  2.  
  3. include('function.php');
  4. include('getdata.php');
  5. include('connect.php'); //incluimos el connect.php que contiene los datos de la conexión a la db y la sesión
  6.  
  7. if(!isset($_GET['usuario'])){
  8. echo 'No se ha seleccionado ningun usuario.';
  9. }else{
  10.  
  11.  
  12. $query=mysql_query("SELECT * FROM prueba WHERE usuario='$usuario' ");
  13. if(mysql_num_rows($query)>0){
  14. $query=mysql_fetch_array($query);
  15.  
  16. //todo comprobado, ahora solo falta mostrar los datos
  17. echo 'Bienvenid@ <b>'.$usuario[usuario].'</b><br>';
  18.  
  19.  
  20. }else{
  21.  
  22. echo 'El usuario seleccionado no existe';
  23. }
  24. }
  25. ?>

En el getdata.php:

Código
  1. <?php
  2.  
  3.  
  4. include("connect.php");
  5.  
  6.  
  7. $query=mysql_query("select * from prueba where usuario='$usuario'");
  8. $getname=mysql_fetch_array($query);  //linea 11 aqui esta el warning
  9.  
  10. $usuario=$getname["usuario"];
  11. $firstname=$getname["firstname"];
  12. $lastname=$getname["lastname"];
  13. $gender=$getname["genero"];
  14.  
  15. ?>

Y el function.php:

Código
  1. <?php
  2.  
  3.  
  4.  
  5.  
  6. function getfname($usuario)
  7. {
  8. $query = mysql_query("select * from prueba where usuario='$usuario' ");
  9. $getname= mysql_fetch_array($query);
  10. $firstname= $getname["firstname"];
  11. return $firstname;
  12. }
  13.  
  14. function getlname($usuario)
  15. {
  16. $query =mysql_query("select * from prueba where usuario='$usuario' ");
  17. $getname= mysql_fetch_array($query);
  18. $lastname=$getname["lastname"];
  19. return $lastname;
  20. }
  21.  
  22.  
  23. function getusuario($usuario)
  24. {
  25. $query=mysql_query("select * from prueba where usuario='$usuario' ");
  26. $getname=mysql_fetch_array($query);
  27. $usuario=$getname["usuario"];
  28. return $usuario;
  29. }
  30.  
  31. function getgender ($usuario)
  32. {
  33. $query=mysql_query("select * from prueba where usuario='$usuario' ");
  34. $getname=mysql_fetch_array($query);
  35. $gender=$getname["Genero"];
  36. return $gender;
  37. }
  38.  
  39.  
  40.  
  41.  
  42. ?>

Ahora el problema es que al hacer el debug en modificarperfil, siempre salta la linea del "No se ha seleccionado ningun usuario", o sea creo que no sigue las lineas siguientes. Traté de quitarle al getdata el include ('connect.php') pero despues no se podia conectar. Y en el getdata, en la linea 7 un notice de Undefined variable,
Código
  1. $query=mysql_query("select * from  prueba where usuario='$usuario'");
.
Traté de definirlo mas arriba pero ni ahi.

Bueno gracias a todos.

realmente faltaría hacer todo el script denuevo


+1  ;-)

Castg! es lo que hay,  :-(
43  Programación / PHP / Re: Perfil de un usuario, problema! en: 7 Marzo 2010, 05:32 am
intentalo así:
Código
  1. <?php
  2. include("function.php");
  3. include("getdata.php");
  4. include("connect.php");
  5.  
  6. if(isset($_GET['usuario'])){
  7. if($query = mysql_query("
  8.  SELECT * FROM prueba
  9.  WHERE usuario='".mysql_real_escape_string($_GET['usuario'])."'
  10.  LIMIT 1
  11. ")){
  12.  $usuario = mysql_fetch_array($query, MYSQL_ASSOC);
  13.  if(is_array($usuario[0])){
  14.   $usuario = $usuario[0];
  15.  }
  16.  echo '
  17.   Bienvenid@
  18.    <b>'.htmlspecialchars($usuario['usuario'], ENT_QUOTES).'</b>
  19.   <br />
  20.  ';
  21. }else{
  22.  echo 'El usuario seleccionado no existe';
  23. }
  24. }else{
  25. echo 'No se ha seleccionado ningun usuario.';
  26. }
  27. ?>

recuerda que  mysql_fetch_array() te entrega un array dimensional por cada resultado, por lo tantoo el primer valor es $usuario[0].
prueba con un print_r($usuario);

Donde dice:
Código:
if(!preg_match('/[^0-9\-\_\.]+/i',$_POST['firstname']))
no necesitas ser tan restrictivo, puedes mantener todo tipo de carácteres si sabes procesarlos bién.

saludos.


Bueno muchas gracias, por tomarte el trabajo, pero no hay forma, tal vez me haya olvidado de declarar $usuario. Es tarde y no me da la cabeza ya, jaja.

Por cierto es "no necesitas ser tan restrictiva" jaja, soy mujer.

Gracias, saludos
44  Programación / PHP / Re: Perfil de un usuario, problema! en: 7 Marzo 2010, 05:13 am
Acá posteo por las dudas el script del index.php


Código
  1. <?php
  2.  
  3.  
  4.  
  5. error_reporting(E_ALL ^ E_NOTICE);
  6.  
  7. define('INCLUDE_CHECK',true);
  8.  
  9. require("connect.php");
  10.  
  11.  
  12. //Archivos incluidos solo si el INCLUDE_CHECK está definido
  13.  
  14. session_name('pLogin');
  15. //Empezando la sesión
  16.  
  17. //La cookie vive por 2 semanas
  18.  
  19.  
  20. if($_SESSION['id'] && !isset($_COOKIE['pRemember']) && !$_SESSION['rememberMe'])
  21. {
  22. //Si está logueado, pero no tiene la cookie dmRemember (el navegador se reinicia)
  23. // y si no ha checkeado la rememberMe checkbox:
  24.  
  25. $_SESSION=array();
  26.  
  27. //Destruir la sesion
  28. }
  29.  
  30. if(isset($_GET['logoff']))
  31. {
  32. $_SESSION=array();
  33.  
  34. header("Location: index.php");
  35. }
  36.  
  37. if($_POST['submit']=='Ingresar')
  38. {
  39. //checando si el login form ha sido submit
  40. $err=array();
  41. //Tira los errores nuestros
  42.  
  43.  
  44. if(!$_POST['username'] || !$_POST['password'])
  45. $err[]='Todos los campos deben ser completados!';
  46.  
  47. if(!count($err))
  48. {
  49. $_POST['username']=mysql_real_escape_string($_POST['username']);
  50. $_POST['password']=mysql_real_escape_string($_POST['password']);
  51. $_POST['rememberMe']=(int)$_POST['rememberMe'];
  52.  
  53. //escaping all input data
  54.  
  55. $row=mysql_fetch_assoc(mysql_query("SELECT id,usuario FROM prueba WHERE usuario='{$_POST['username']}' AND pass='".md5($_POST['password'])."'"));
  56.  
  57. if($row['usuario'])
  58. {
  59. //Si todo está logueado correctamente
  60.  
  61. //$_SESSION['username']=$row['user'];
  62. $_SESSION['usuario']=$row['usuario'];
  63. $_SESSION['id']=$row['id'];
  64. $_SESSION['sexo']=$row['sexo'];
  65. $_SESSION['rememberMe']=$_POST['rememberMe'];
  66.  
  67. //Store some data in the session
  68.  
  69. setcookie('dmRemember',$_POST['rememberMe']);
  70. }
  71. else $err[]='Usuario y/o Password incorrectos!';
  72. }
  73.  
  74. if($err)
  75. $_SESSION['msg']['login-err']=implode('<br />', $err);
  76. //Guardamos los mensajes de error en la sesion
  77.  
  78. header("Location: index.php");
  79. }
  80. else if($_POST['submit']=='Registrar')
  81. {
  82. //Si el formulario de registro ha sido enviado
  83.  
  84. $err=array();
  85. if(strlen($_POST['firstname'])>100)
  86. {
  87. $err[]='Tu nombre(s) debe tener menos de 100 caracteres!';
  88. }
  89.  
  90. if(!preg_match('/[^0-9\-\_\.]+/i',$_POST['firstname']))
  91. {
  92. $err[]='Tu nombre(s) contiene caracteres inválidos!';
  93. }
  94.  
  95. if(strlen($_POST['lastname'])>100)
  96. {
  97. $err[]='Tu apellido debe tener menos de 100 caracteres!';
  98. }
  99.  
  100. if(!preg_match('/[^0-9\-\_\.]+/i',$_POST['lastname']))
  101. {
  102. $err[]='Tu apellido contiene caracteres inválidos!';
  103. }
  104.  
  105. if(strlen($_POST['username'])<4 || strlen($_POST['username'])>100)
  106. {
  107. $err[]='Tu nombre de usuario debe tener entre 4 y 100 caracteres!';
  108. }
  109.  
  110. if(preg_match('/[^a-z0-9\-\_\.]+/i',$_POST['username']))
  111. {
  112. $err[]='Tu nombre de usuario contiene caracteres invalidos!';
  113. }
  114.  
  115. if(strlen($_POST['password'])<6 || strlen($_POST['password'])>32)
  116. {
  117. $err[]='Tu contraseña debe tener entre 6 y 32 caracteres!';
  118. }
  119.  
  120. if(preg_match('/[^a-z0-9\-\_\.]+/i',$_POST['password']))
  121. {
  122. $err[]='Tu contraseña es débil!';
  123. }
  124.  
  125. if($_POST['repassword']!=$_POST['password'])
  126. {
  127. $err[]='Tu repeticion de password es distinta de la primera!';
  128. }
  129.  
  130. if(!checkEmail($_POST['email']))
  131. {
  132. $err[]='Tu email no es válido!';
  133. }
  134.  
  135. if(!count($err))
  136. {
  137. //Si no hay errores
  138.  
  139. $_POST['email']=mysql_real_escape_string($_POST['email']);
  140. $_POST['password']=mysql_real_escape_string($_POST['password']);
  141. $_POST['username']=mysql_real_escape_string($_POST['username']);
  142. $_POST['firstname']=mysql_real_escape_string($_POST['firstname']);
  143. $_POST['lastname']=mysql_real_escape_string($_POST['lastname']);
  144. $_POST['sexo']=mysql_real_escape_string($_POST['sexo']);
  145. //Escape the input data
  146.  
  147.  
  148.  
  149. mysql_query(" INSERT INTO prueba(firstname,lastname,usuario,pass,email,sexo,dt)
  150. VALUES('".$_POST['firstname']."','".$_POST['lastname']."','".$_POST['username']."','".md5($_POST['password'])."','".$_POST['email']."','".$_POST['sexo']."',NOW())");
  151.  
  152.  
  153. if(mysql_affected_rows($link)==1)
  154. {
  155. send_mail( 'test@test.com',
  156. $_POST['email'],
  157. 'Registración de prueba',
  158. 'Tu nombre de usuario es: '.$username.'\n Tu contraseña es: '.$password);
  159.  
  160.  
  161. $_SESSION['msg']['reg-success']='Te hemos enviado un email con tu información de registro!';
  162. }
  163. else $err[]='El nombre de usuario ya está en uso!';
  164. }
  165.  
  166. if(count($err))
  167. {
  168. $_SESSION['msg']['reg-err']=implode('<br />',$err);
  169. }
  170.  
  171. header("Location: index.php");
  172.  
  173.  
  174. }
  175.  
  176.  
  177.  
  178.  
  179. ?>


Ya cambié $usuario por $query. No sé que mas hacer,   :(
45  Programación / PHP / Re: Perfil de un usuario, problema! en: 7 Marzo 2010, 03:37 am
Si, lo sé e hice lo que me han dicho, pero igual no aparece lo que quiero que aparezca.

Gracias.
46  Programación / PHP / Re: Perfil de un usuario, problema! en: 6 Marzo 2010, 02:56 am
Bueno primero gracias por responder, a los que se hayan tomado el trabajo de hacerlo.Segundo queria comentarles, el warning ya no me salta en el getdata.php, pero en el mismo archivo tengo un notice de undefined variable: usuario.
Lo que yo quiero hacer es que al tocar en modificar perfil, le salten los datos de la bd, pero por ahora nada...
Cambié en el modificarperfil.php esto que me dijeron:
Código
  1. //comprobamos si esa id existe
  2. $query=mysql_query("SELECT * FROM prueba WHERE usuario='$usuario' ");
  3. if(mysql_num_rows('$usuario')>0){
  4. $query=mysql_fetch_array('$usuario');

Pero aún no pasa nada, alguien tiene alguna idea de qué puede ser lo que esté funcionando mal?



47  Programación / PHP / Perfil de un usuario, problema! en: 5 Marzo 2010, 04:44 am
Hola que tal, estoy haciendo un modificar perfil. La cuestion es que quiero que el usuario al presionar sobre modificar perfil le aparezcan algunos datos que completó en el registro, y los demás deba rellenarlo.
Tengo un Warning en la linea 11 del getdata.php:"mysql_fetch_array(): supplied argument is not a valid MySQL result resource"

Lo que tengo hasta ahora es lo siguiente:

modificarperfil.php:
Código
  1. <?php
  2.  
  3. include("function.php");
  4. include("getdata.php");
  5. include("connect.php"); //incluimos el connect.php que contiene los datos de la conexión a la db y la sesión
  6.  
  7. if(!isset($_GET['usuario'])){
  8. echo 'No se ha seleccionado ningun usuario.';
  9. }else{
  10.  
  11.  
  12. $query=mysql_query("SELECT * FROM prueba WHERE usuario=$usuario ");
  13. if(mysql_num_rows($usuario)>0){
  14. $query=mysql_fetch_array($usuario);
  15.  
  16. //todo comprobado, ahora solo falta mostrar los datos
  17. echo 'Bienvenid@ <b>'.$usuario[usuario].'</b><br>';
  18.  
  19.  
  20. }else{
  21.  
  22. echo 'El usuario seleccionado no existe';
  23. }
  24. }
  25. ?>
  26.  

El function.php:

Código
  1. <?php
  2.  
  3.  
  4.  
  5.  
  6. function getfname($usuario)
  7. {
  8.    $query = mysql_query("select * from prueba where usuario=$usuario");
  9.    $getname= mysql_fetch_array($query);
  10.    $firstname= $getname["firstname"];
  11.    return $firstname;
  12. }
  13.  
  14. function getlname($usuario)
  15. {
  16.    $query =mysql_query("select * from prueba where usuario=$usuario");
  17.    $getname= mysql_fetch_array($query);
  18.    $lastname=$getname["lastname"];
  19.    return $lastname;
  20. }
  21.  
  22.  
  23. function getusuario($usuario)
  24. {
  25.    $query=mysql_query("select * from prueba where usuario=$usuario");
  26.    $getname=mysql_fetch_array($query);
  27.    $usuario=$getname["usuario"];
  28.    return $usuario;
  29. }
  30.  
  31. function getgender ($usuario)
  32. {
  33.    $query=mysql_query("select * from prueba where usuario=$usuario");
  34.    $getname=mysql_fetch_array($query);
  35.    $gender=$getname["Genero"];
  36.    return $gender;
  37. }
  38.  
  39.  
  40.  
  41.  
  42. ?>
  43.  

El getdata.php:

Código
  1. <?php
  2.  
  3.  
  4.  
  5. include "connect.php";
  6.  
  7. $query=mysql_query("select * from prueba where usuario=$usuario");
  8. $getname=mysql_fetch_array($query);  //linea 11 aqui esta el warning
  9.  
  10. $firstname=$getname["firstname"];
  11. $lastname=$getname["lastname"];
  12. $usuario=$getname["usuario"];
  13. $gender=$getname["genero"];
  14.  
  15.  
  16. ?>
  17.  

Lo que yo quiero es que me aparezcan en el formulario los datos a los que consulta en la bd.
En el formulario lo hago de esta forma:
Código
  1. <tr>
  2.      <td width="219">Nombre:</td>
  3.      <td width="270"><input name="firstname" type="text" id="firstname" value="<?php echo $firstname;?>"></td>
  4.    </tr>
  5.  

Esta es la base de datos, al hacer la consulta me devuelve un valor vacio, pero está completo ese valor.

Código
  1. CREATE TABLE `prueba` (
  2.  `id` INT(11) NOT NULL AUTO_INCREMENT,
  3. `firstname` VARCHAR(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  4. `lastname` VARCHAR(40) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  5.  `usuario` VARCHAR(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  6.  `pass` VARCHAR(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  7. `sexo` VARCHAR (32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  8.  `email` VARCHAR(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  9.  PRIMARY KEY  (`id`),
  10.  UNIQUE KEY `usuario` (`usuario`)
  11. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  12.  


Gracias por leerlo, den_22
48  Programación / PHP / Re: Problema con estos códigos en: 3 Marzo 2010, 02:56 am
Ya lo arreglé gracias a todos.  ;D
49  Programación / PHP / Re: Problema con estos códigos en: 3 Marzo 2010, 02:51 am
El problema está en el connect.php, con el if, pero no sé muy bien como hacerlo :huh:
50  Programación / PHP / Re: Problema con estos códigos en: 2 Marzo 2010, 03:06 am
Puse lo que me dijiste pero me tira un error ahora en el index.php

Código
  1. <?php
  2.  
  3.  
  4. error_reporting(E_ALL ^ E_NOTICE);
  5.  
  6. define('INCLUDE_CHECK',true);
  7.  
  8. require("connect.php");
  9. //Archivos incluidos solo si el INCLUDE_CHECK está definido
  10.  
  11. ?>
  12.  

Esto es lo que tengo al inicio del index.php hay más pero asumo que el error está por aca.

cambié el connect.php con lo que me dijiste pero ahora no puedo abrir el index, me dice parse error on line 3 que es en la que dice define('INCLUDE_CHECK', true)
Páginas: 1 2 3 4 [5] 6 7
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines