Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: den_22 en 1 Marzo 2010, 17:00 pm



Título: Problema con estos códigos
Publicado por: den_22 en 1 Marzo 2010, 17:00 pm
Hola ! que tal, estoy con un "pequeño problemita" la cuestión es la siguiente. Quiero hacer un apartado de un panel de control para modificar un perfil.
Tengo los siguientes códigos:
El modificarperfil.php

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


A su vez en la tabla de modificar perfil pongo lo siguiente para obtener los datos de la bd:
Código
  1. <td width="292"><input name="firstname" type="text" id="firstname" value="<?php echo $firstname;?>"></td>

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

El getdata.php:

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

El connect.php:
Código
  1. <?php
  2.  
  3. if(!defined('INCLUDE_CHECK')) die('No estás autorizado a ejecutar este archivo directamente');
  4.  
  5.  
  6. /* Database config */
  7.  
  8. $db_host = 'localhost';
  9. $db_user = 'user';
  10. $db_pass = 'xxxx';
  11. $db_database = 'prueba';
  12.  
  13. /* End config */
  14.  
  15.  
  16.  
  17. $link = mysql_connect($db_host,$db_user,$db_pass) or die('Imposible establecer la conexión a la base de datos');
  18.  
  19. mysql_select_db($db_database,$link);
  20. mysql_query("SET names UTF8");
  21.  
  22. ?>
  23.  

El error que me tira todo esto es que "No estás autorizado  a ejecutar este archivo directamente"

Gracias de antemano por tomarse el trabajo de leerlo. :)


Título: Re: Problema con estos códigos
Publicado por: ~ Yoya ~ en 1 Marzo 2010, 17:25 pm
Código
  1. if(!defined('INCLUDE_CHECK')) die('No estás autorizado a ejecutar este archivo directamente');
Hay dices que si la constaste INCLUDE_CHECK no esta definida se ejecuta el if pero si existe o esta definida no se ejecuta.

El if esta mal hecho siempre te respondera lo mismo una y otra vez, el problema esque no usas el aniador
Código
  1. if( $a || $ae)
Osea quedaria correctamente asi:
Código
  1. if(!defined('INCLUDE_CHECK')) || die('No estás autorizado a ejecutar este archivo directamente');

Si no se ejecuta el primer parametro del if se ejecuta el segundo.


Título: Re: Problema con estos códigos
Publicado por: den_22 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)


Título: Re: Problema con estos códigos
Publicado por: WHK en 2 Marzo 2010, 05:19 am
Código:
$query=mysql_query("SELECT * FROM prueba WHERE usuario=$usuario ");

que pasa si el nombre contiene un espacio en blanco o una comilla como por ejemplo "Allen Paige's"?

http://cl.php.net/manual/en/function.mysql-real-escape-string.php


Título: Re: Problema con estos códigos
Publicado por: Castg! en 2 Marzo 2010, 18:53 pm
osea, esta bien, comprueba si esta definido INCLUDE_CHECK, pero por lo que se ve en estos codigos, no se define en ningun lado :P en que archivo lo definis??


Título: Re: Problema con estos códigos
Publicado por: ~ Yoya ~ en 2 Marzo 2010, 19:13 pm
Poner el codigo que te da error y que error tira.


Título: Re: Problema con estos códigos
Publicado por: Castg! en 2 Marzo 2010, 20:06 pm
Citar
El error que me tira todo esto es que "No estás autorizado  a ejecutar este archivo directamente"

¬¬


Título: Re: Problema con estos códigos
Publicado por: ~ Yoya ~ en 2 Marzo 2010, 20:14 pm
No es un error lol.
Citar
Código
  1. if(!defined('INCLUDE_CHECK')) die('No estás autorizado a ejecutar este archivo directamente');


Título: Re: Problema con estos códigos
Publicado por: raul338 en 2 Marzo 2010, 20:16 pm
y simplemente lo comentara o lo definiera el INCLUDE_CHECK y otros flags???


Título: Re: Problema con estos códigos
Publicado por: den_22 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:


Título: Re: Problema con estos códigos
Publicado por: den_22 en 3 Marzo 2010, 02:56 am
Ya lo arreglé gracias a todos.  ;D