Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/12/2009, 12:00
principiantedelweb
 
Fecha de Ingreso: noviembre-2009
Mensajes: 164
Antigüedad: 14 años, 5 meses
Puntos: 0
Intento por ultima vez

Hola amigos. Si, como sabran, ya estoy hace 3 días intentando resolver este problema: al abrir un archivo, se pierde el valor de la variable. El archivo que abro es de un ranking que uso para que los usuarios voten en mi sitio. El codigo del archivo inicial:

Cita:
<?php
include_once("rank/rank.php");
$link=conectar();
mysql_query ("SET NAMES 'utf8'");
$tabla=acciondisparos;
$query = "SELECT count(id) AS Total from $tabla WHERE LENGTH(descripcion)>(0)";
$row2=mysql_fetch_assoc(mysql_query($query));
$total_records = $row2['Total'];
$records_per_page = 5;
......aca prosigue el código
Sin problema, toma los registros de la base de datos y los coloca perfectamente bien. No hay problemas. Pero como se ve, en la primer linea llamo al archivo rank.php. Aquí la variable $tabla deja de existir. Aca va el archivo rank.php

Cita:
<?php
function conectar(){
// Conexión a la base de datos
$dbhost='localhost';
$dbusername='usname'; //nombre del usuario
$dbuserpass='dsadsadasd'; //password o contraseña del usuario
$dbname='dasdrank';//nombre de la base de datos
$link = mysql_connect($dbhost, $dbusername,$dbuserpass);
mysql_select_db($dbname, $link);
return $link;
}

echo $tabla; //Imprimo $tabla, pero no existe!
$id = $_GET['id'];
if($id!=""){
$voto = $_GET['v'];
$link = conectar();

if ($_SERVER) {
if ( $_SERVER[HTTP_X_FORWARDED_FOR] ) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif ( $_SERVER["HTTP_CLIENT_IP"] ) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if ( getenv( "HTTP_X_FORWARDED_FOR" ) ) {
$realip = getenv( "HTTP_X_FORWARDED_FOR" );
} elseif ( getenv( "HTTP_CLIENT_IP" ) ) {
$realip = getenv( "HTTP_CLIENT_IP" );
} else {
$realip = getenv( "REMOTE_ADDR" );
}
}

$fecha = date('Y-m-d');
$result = mysql_query("DELETE FROM votos_usuarios WHERE dataCreate <> '".$fecha."'",$link);

$result = mysql_query("SELECT *FROM votos_usuarios WHERE ip = '".$realip."' and id = $id",$link);
$row = mysql_fetch_row($result);

if($row[0]==""){
$result = mysql_query("SELECT votos,media FROM $tabla WHERE id =$id",$link);
$row = mysql_fetch_row($result);

$auxmedia = $row[1];
$votos =$row[0] + 1;
$media = (($row[0] * $auxmedia) + $voto)/ $votos;
//actualizamos el voto
$result = mysql_query("UPDATE $tabla SET votos= $votos, media= $media WHERE id= $id",$link);
mysql_query("INSERT INTO votos_usuarios(id,ip,dataCreate)VALUES($id,'".$rea lip."','".$fecha."')",$link);
echo "<br> \n";
echo "Gracias por votar!";
}else{
echo "<br> \n";
echo "Ya votaste";
}
}
?>
Bueno, el problema esta en la línea que está en negrita