Problema con estos códigos

Iniciado por den_22, 1 Marzo 2010, 17:00 PM

0 Miembros y 1 Visitante están viendo este tema.

den_22

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 (php) [Seleccionar]
<?php
session_start
();
include(
"function.php");
include(
"getdata.php");
include(
"connect.php"); //incluimos el connect.php que contiene los datos de la conexión a la db y la sesión
 
if(!isset($_GET['usuario'])){
echo 
'No se ha seleccionado ningun usuario.'//no ha seleccionado usuario,
}else{
 
//comprobamos si esa id existe
$query=mysql_query("SELECT * FROM prueba WHERE usuario=$usuario ");
if(
mysql_num_rows($usuario)>0){
$query=mysql_fetch_array($usuario);
 
//todo comprobado, ahora solo falta mostrar los datos
echo 'Bienvenid@ <b>'.$usuario[usuario].'</b><br>';
 
 
}else{
 
echo 
'El usuario seleccionado no existe';
}
}
?>




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

El function.php:
Código (php) [Seleccionar]
<?php
session_start
();
function 
getfname($id)
{
$query mysql_query("select * from prueba where id=$id");
$getnamemysql_fetch_array($query);
$firstname$getname["firstname"];
return $firstname;
}

function 
getlname($id)
{
$query =mysql_query("select * from prueba where id=$id");
$getnamemysql_fetch_array($query);
$lastname=$getname["lastname"];
return $lastname;
}


function 
getusuario($id)
{
$query=mysql_query("select * from prueba where id=$id");
$getname=mysql_fetch_array($query);
$usuario=$getname["usuario"];
return $usuario;
}

function 
getgender ($id)
{
$query=mysql_query("select * from prueba where id=$id");
$getname=mysql_fetch_array($query);
$gender=$getname["Genero"];
return $gender;
}




?>



El getdata.php:

Código (php) [Seleccionar]
<?php
session_start
();
include 
"connect.php";

$query=mysql_query("select * from prueba where id=$id");
$getname=mysql_fetch_array($query);

$firstname=$getname["firstname"];
$lastname=$getname["lastname"];
$usuario=$getname["usuario"];
$gender=$getname["genero"];


?>



El connect.php:
Código (php) [Seleccionar]
<?php

if(!defined('INCLUDE_CHECK')) die('No estás autorizado a ejecutar este archivo directamente');


/* Database config */

$db_host 'localhost';
$db_user 'user';
$db_pass 'xxxx';
$db_database 'prueba'

/* End config */



$link mysql_connect($db_host,$db_user,$db_pass) or die('Imposible establecer la conexión a la base de datos');

mysql_select_db($db_database,$link);
mysql_query("SET names UTF8");

?>



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. :)

~ Yoya ~

Código (php) [Seleccionar]

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 (php) [Seleccionar]
if( $a || $ae)
Osea quedaria correctamente asi:
Código (php) [Seleccionar]

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.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

den_22

Puse lo que me dijiste pero me tira un error ahora en el index.php

Código (php) [Seleccionar]
<?php


error_reporting
(E_ALL E_NOTICE);
ob_start();

define('INCLUDE_CHECK',true);

require(
"connect.php");
//Archivos incluidos solo si el INCLUDE_CHECK está definido

?>



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)

WHK

$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

Castg!

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??

~ Yoya ~

Poner el codigo que te da error y que error tira.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Castg!

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

¬¬

~ Yoya ~

No es un error lol.
Citar
Código (php) [Seleccionar]
if(!defined('INCLUDE_CHECK')) die('No estás autorizado a ejecutar este archivo directamente');
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

raul338

y simplemente lo comentara o lo definiera el INCLUDE_CHECK y otros flags???

den_22

El problema está en el connect.php, con el if, pero no sé muy bien como hacerlo :huh: