Foros del Web » Programando para Internet » PHP »

Configuración PHP 5.2.8

Estas en el tema de Configuración PHP 5.2.8 en el foro de PHP en Foros del Web. Saludos cordiales. Por favor, mis scripts están en php 5.2.3 y en el servidor se encuentra la versión 5.2.8 . La variable register_globals esta en ...
  #1 (permalink)  
Antiguo 24/08/2009, 10:32
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Busqueda Configuración PHP 5.2.8

Saludos cordiales.

Por favor, mis scripts están en php 5.2.3 y en el servidor se encuentra la versión 5.2.8.

La variable register_globals esta en OFF en el servidor y creo que esa es la razón por la cual no me acepta algunas sentencias que alimentan bases de datos y archivos txt.

Por favor, que variables debo modificar en mis scripts para no cambiar la configuración del register_globals? Puedo hacer esto o estoy medio loco?
Algunos de ustedes conocen de un sitio que brinde mayor información al respecto?


J. DidieR
  #2 (permalink)  
Antiguo 24/08/2009, 10:35
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Configuración PHP 5.2.8

Debes llamarlo con las variables $_GET si estas usando ese metodo o $_POST para el otro. Puedes usar $_REQUEST que reconoce cualquiera de las dos.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 24/08/2009, 11:36
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Información Configuración PHP 5.2.8

Abimaelrc: el compartir conocimiento es un don de personas sabias lo cual las hace más grandes. Agradezco sus aportes.

Comprendo lo que usted me dice. Pero como hago para trabajar con $_GET; $_POST y $_REQUEST con este scripts?

Perdona mi ignorancia en este tema. Este es un script que bajé de algún sitio y funcionó perfectamente hasta que cambiaron el register_globals.

Código PHP:
function save($answer){
global 
$answer;
include(
'config.php');
$data=file($datafile);
$subdata=explode("][",$data[$answer]);
$subdata[2]+=1;
$data[$answer]=implode("]["$subdata);
$data[$answer]=$data[$answer]."\n";
$fp=fopen($datafile,"w+");
$a=0;
do{
fputs($fp,$data[$a]);
$a++;
}while(
$a<count($data));
fclose($fp);

Saludos cordiales

J. Didier
  #4 (permalink)  
Antiguo 24/08/2009, 11:42
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Configuración PHP 5.2.8

¿Cual es el metodo que estas usando del formulario form? Si es posible escribe todo el formulario y todo el php que inserta o selecciona en la base de datos.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 24/08/2009, 12:42
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 15 años
Puntos: 5
Respuesta: Configuración PHP 5.2.8

si podes cambiar en el php.ini mejor porque no tendrias que cambiar nada el script .
register_globals en el archivo que esta en C:/windows/php.ini ahi busca donde diga register_globals = off y cambia el off por on y listo.
si estas usando un hosting contratado pediles que lo hagan
  #6 (permalink)  
Antiguo 24/08/2009, 13:37
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Configuración PHP 5.2.8

Lo recomendable es dejarlo desactivado por cuestiones de seguridad. Por ejemplo mira este articulo (esta en ingles)
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 24/08/2009, 14:13
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Configuración PHP 5.2.8

Este es el script: ya casi me doy por vencido.... después de 3 arduos días nada...
Funcionaba perfectamente... ahora se muestra la entrada de datos y al seleccionar la opción en la encuesta NO PASA NADA.... Nuevamente quedo agradecido por el interés mostrado.

Este script debe alimentar un archivo txt.

Código PHP:
<?php
function head() {
include(
'config.php');
echo 
"<table width=\"167\" border=\"0\" cellpadding=\"4\" cellspacing=\"4\">
<tr><td bgcolor=\"$tableborder\">
<table width=\"167\" border=\"0\" cellpadding=\"0\" cellspacing=\"\" align=\"center\">
<tr><td bgcolor=\"$bgcolor\">"
;
}
function 
foot () {
echo 
"</td></tr></table></td></tr></table>";
}
function 
record($REMOTE_ADDR) {
include(
'config.php');
$fp=fopen("$ip_file""a+");
fputs ($fp,$REMOTE_ADDR."][".time()."\n");
fclose($fp);
}
function 
check($REMOTE_ADDR) {
include(
'config.php');
global 
$valid;
$ip=$REMOTE_ADDR;
$data=file("$ip_file");
$now=time();
foreach (
$data as $record) {
$subdata=explode("][",$record);
if (
$now < ($subdata[1]+3600*$timeout)) {
if (
$ip == $subdata[0]) {
$valid=0;
break;
}}}}
//##################### Save data ##############################
function save($answer){
global 
$answer;
include(
'config.php');
$data=file($datafile);
$subdata=explode("][",$data[$answer]);
$subdata[2]+=1;
$data[$answer]=implode("]["$subdata);
$data[$answer]=$data[$answer]."\n";
$fp=fopen($datafile,"w+");
$a=0;
do{
fputs($fp,$data[$a]);
$a++;
}while(
$a<count($data));
fclose($fp);
}
//########################## Show Form ############################
function form($PHP_SELF){
include(
'config.php');
head();
echo 
"<font size=\"$fontsize\" face=\"$font\" color=\"$textcolor\"><p align=\"center\">ENCUESTA</font></p>";
echo 
"<font size=\"$fontsize\" face=\"$font\" color=\"$textcolor\"><form method=\"post\" action=\"$PHP_SELF\"><p align=\"center\">";
$data=file($datafile);
$question=$data[0];
$nb_options=count($data)-1;
echo 
"<b>$question</b></p>";
for(
$nb=1;$nb <= $nb_options$nb++){
$option=explode("][","$data[$nb]");
echo 
"<input type=\"radio\" name=\"answer\" value=\"$nb\"> ";
echo 
"$option[0]<br>";
}
echo 
"<input type=\"hidden\" name=\"save\" value=\"yes\">";
echo 
"<p align=\"center\"><input type=\"submit\" name=\"submit\" value=\"Vote\"></form></font>";
echo 
"<font size=\"$fontsize\" face=\"$font\" color=\"$textcolor\"><a href=\""; echo $PHP_SELF; echo "?action=results\">Mostrar resultados</font></p>";
echo 
"<p></p>"//### para ingresar una linea ####
foot();
}
//################## Function to show results ########################
function results(){
include(
'config.php');
head();
echo 
"<font size=\"$fontsize\" face=\"$font\" color=\"$textcolor\"><p align=\"center\">ENCUESTA</font></p>";
$data=file($datafile);
$nb_answers=count($data);
$votes=0;
$a=1;
do{
$subdata=explode("][",$data[$a]);
$votes += $subdata[2];
$a++;
}while(
$a $nb_answers);
$a=1;
$b="answerv";
$v=100/$votes;
echo 
"<p align=\"center\"><font size=\"$fontsize\" face=\"$font\" color=\"$textcolor\"><b>$data[0] ($votes v.)</b><br><br>";
do{
$subdata=explode("][",$data[$a]);
$av $subdata[2] * $v;
echo 
"<font size=\"$fontsize\" face=\"$font\" color=\"$textcolor\">$subdata[0] -"printf(" %01.1f"$av); echo"%<br>";
$p2v 100-$av;
echo 
"<img src=\"$subdata[1]\" width=\"$av\" height=\"10\"><img src=\"$image\" width=\"$p2v\" height=\"10\"><br>";
$a++;
} while (
$a $nb_answers);
echo 
"<br>";
foot();
}
//###################### Engine ####################################
check($REMOTE_ADDR);
if (
$valid=="0"){ results();}
elseif (
$action=="results") { results(); }
elseif (
$save=="yes" && $valid!="0") { save($Answer); record($REMOTE_ADDR); results();}
elseif (
$action=="save" && !empty($valid)) { results(); }
elseif (
$action!="save" && $valid!="0"){ form($PHP_SELF); }
?>
  #8 (permalink)  
Antiguo 24/08/2009, 14:24
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Configuración PHP 5.2.8

Tienes varias cosas que modificar. En la parte izquierda vas a ver tus variables y en la derecha como deben ir. Pero me faltan algunas que no se de donde vienen.
Código PHP:
Ver original
  1. $REMOTE_ADDR = $_SERVER["REMOTE_ADDR"]
  2. $PHP_SELF = $_SERVER["PHP_SELF"]
  3. $action = $_GET["action"]
  4. $save = $_GET["save"]
  5. $Answer = $_GET["Answer"]

Son las que pude ver que debes cambiar. Otras no se de donde salen. Si la variable esta dentro de un string (me refiero a las que estan dentro de comillas) colocalas así
Código PHP:
Ver original
  1. $REMOTE_ADDR = {$_SERVER["REMOTE_ADDR"]}
  2. $PHP_SELF = {$_SERVER["PHP_SELF"]}
  3. $action = {$_GET["action"]}
  4. $save = {$_GET["save"]}
  5. $Answer = {$_GET["Answer"]}

Pero esto es solo aquellas que estan dentro de las comillas, si quieres sacalas fuera de la comillas y concatena
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 24/08/2009, 14:25
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 15 años
Puntos: 5
podrias mostrarme que parte del script es el que no te anda o no sabes??

es verdad lo que dijo abimaelrc es mucho mas inseguro pasa que si no te salia lo vi como una buena opcion, recomiendo alargar los link pero si dijo que con los link largos tampoco le anda habria que ver ahora me fijo si puedo ayudarte no entiendo mucho de php pero voy a ver si puedo hacer algo. de paso si alguien conose algun buen depurador de php seria genial para estas cosas uno del tipo por lineas

pero no tiene que cambiar todas la variables o si ?? solo las que vienen de afuera

Última edición por GatorV; 24/08/2009 a las 15:22
  #10 (permalink)  
Antiguo 24/08/2009, 15:19
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Exclamación

La verdad es que soy novato en lo de php.

Envíe todo el script. No se a donde falla. Corresponde a una encuesta la cual se muestra al momento de abrirla, pero al ejecutarla no graba nada en los archivos txt que guardan la información.

Se me olvidaba contarles: funciona perfectamente con register_globals = ON

Última edición por GatorV; 24/08/2009 a las 15:27
  #11 (permalink)  
Antiguo 24/08/2009, 15:27
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Configuración PHP 5.2.8

Pero vas a tener un problema con futuras versiones de PHP y si el servidor se muda en un futuro a PHP6 no va a funcionar nunca esas funciones. Verifica lo que te había indicado que cambies. Todo aquello que se envie a traves de un formulario cambia las variables por $_GET como te indique vi algunas pero otras no se de donde salen. Hay otras que corresponden a $_SERVER ya te mencione dos solo cambias a que esten en ese formato.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #12 (permalink)  
Antiguo 24/08/2009, 15:50
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Exclamación Configuración PHP 5.2.8

Ok. Abimaelrc. Ya tengo en mi PC en off a register_globals y me pondré a modificar las variables que me dice.

Espero que sigamos en contacto.

Gracias por sus consejos


J. DidieR
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 14:58.