Foros del Web » Programando para Internet » PHP »

Esto porque sucede???

Estas en el tema de Esto porque sucede??? en el foro de PHP en Foros del Web. He alojado un mismo codigo en dos servidores distintos (ambos con caracteristicas similares segun me informaron) para ver los formularios Servidor A (NO FUNCIONA) --- ...
  #1 (permalink)  
Antiguo 23/09/2007, 11:08
Avatar de Musika  
Fecha de Ingreso: junio-2002
Mensajes: 72
Antigüedad: 21 años, 10 meses
Puntos: 0
Exclamación Esto porque sucede???

He alojado un mismo codigo en dos servidores distintos (ambos con caracteristicas similares segun me informaron)

para ver los formularios

Servidor A (NO FUNCIONA) --- servidor B ( SI FUNCIONA)

Código PHP:
<?php switch ($page) {case "novo":  ?> ....... }
para lograr que funcionara la visualizacion del las capas en el SERVIDOR A

Código PHP:
<?php
$page
=$_GET['page'];   

    switch (
$page) { case "novo":  ?>....}
AQUI BIEN EL PROBLEMA:

En el Servidor A = los datos no se incorporan a la base de datos a traves del formulario


a que se debe esto????
__________________
La mejor forma de enseñar es aprendiendo
------------------------------------------------
Un pokitin de Musika en tu Vida
  #2 (permalink)  
Antiguo 23/09/2007, 11:28
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Esto porque sucede???

no entiendo muy bien :/ pero en los usas GET???
pues es la manera correcta, si es asi en uno te tienes el register_gobals en ON y en el otro en OFF eso...
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 23/09/2007, 11:33
Avatar de Musika  
Fecha de Ingreso: junio-2002
Mensajes: 72
Antigüedad: 21 años, 10 meses
Puntos: 0
Pregunta Re: Esto porque sucede???

Cita:
Iniciado por kaninox Ver Mensaje
no entiendo muy bien :/ pero en los usas GET???
pues es la manera correcta, si es asi en uno te tienes el register_gobals en ON y en el otro en OFF eso...

Donde puedo cercioarme si el register esta en OFf o en ON???


Porque hay varios formularios que les sucede lo mismo???
__________________
La mejor forma de enseñar es aprendiendo
------------------------------------------------
Un pokitin de Musika en tu Vida
  #4 (permalink)  
Antiguo 23/09/2007, 12:06
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Esto porque sucede???

pues en tu php.ini, mira has una pagina prueba.php y dentro pones esto

Código PHP:
<?
phpinfo
();
?>
deberia mostrate como esta configurado tu php y a que librerias tienes acceso etc...
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #5 (permalink)  
Antiguo 23/09/2007, 12:32
Avatar de Musika  
Fecha de Ingreso: junio-2002
Mensajes: 72
Antigüedad: 21 años, 10 meses
Puntos: 0
Pregunta php.ini revisado

efectivamente!!!! (tienes razon)

en el servidor A:
register_globals Off Off

en el servidor b:
register_globals On On


¿Como afecta eso a la creación???

¿que debo hacer para corregirlo?
__________________
La mejor forma de enseñar es aprendiendo
------------------------------------------------
Un pokitin de Musika en tu Vida
  #6 (permalink)  
Antiguo 23/09/2007, 14:36
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Esto porque sucede???

register_globals hace que todas las variables que se pasan por post, get y cookie queden como variables "normales" y no como indices de los arrays... lo que tenés que hacer es usar $_GET['variable'] en vez de $variable
  #7 (permalink)  
Antiguo 23/09/2007, 14:53
Avatar de Musika  
Fecha de Ingreso: junio-2002
Mensajes: 72
Antigüedad: 21 años, 10 meses
Puntos: 0
Pregunta A ver si es correcta la correcion

Cita:
Iniciado por Seppo Ver Mensaje
register_globals hace que todas las variables que se pasan por post, get y cookie queden como variables "normales" y no como indices de los arrays... lo que tenés que hacer es usar $_GET['variable'] en vez de $variable
entonces todas

como corrigo entonces en situaciones como esta

if ($prikaz == 'unos')

<? echo $contact ?>
__________________
La mejor forma de enseñar es aprendiendo
------------------------------------------------
Un pokitin de Musika en tu Vida
  #8 (permalink)  
Antiguo 23/09/2007, 15:15
 
Fecha de Ingreso: febrero-2006
Mensajes: 858
Antigüedad: 18 años, 2 meses
Puntos: 4
Re: Esto porque sucede???

if ($_GET['prikax'] == 'unos')
__________________
*La amistad se multiplica cuando se divide*
  #9 (permalink)  
Antiguo 23/09/2007, 17:05
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Esto porque sucede???

en realidad independiente de com esten las variables globales siempre se debe programar como dice reimonfranco con _GET _POST _SERVER etc....
es la manera correcta de pasar variables :)
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #10 (permalink)  
Antiguo 24/09/2007, 03:21
Avatar de Musika  
Fecha de Ingreso: junio-2002
Mensajes: 72
Antigüedad: 21 años, 10 meses
Puntos: 0
Pregunta Discriminar entre los tipos de variables

ahora bien.. he de "discriminar" entre las variables.

como identifico las ke son _post _get o _server.

si ya tengo el código antigo.

por ejemplo en este trozo:

Código PHP:
$db mysql_connect($dbhost,$dbkorisnik,$dblozinka); 
          
mysql_select_db($dbime) or die($dberror);
          if (
$id <> "") {
              
$query "SELECT * FROM clanci WHERE id = $id";
              
$clanak $id;
              
$skraceno 80000;
        } else if (
$prikaz == "pregled") {
            
$query "SELECT * FROM clanci WHERE pozicija = 1 ORDER BY id DESC"
            echo 
"<h2>"$archives ."</h2>"
__________________
La mejor forma de enseñar es aprendiendo
------------------------------------------------
Un pokitin de Musika en tu Vida
  #11 (permalink)  
Antiguo 24/09/2007, 04:31
Avatar de Musika  
Fecha de Ingreso: junio-2002
Mensajes: 72
Antigüedad: 21 años, 10 meses
Puntos: 0
un solucion encontrada - pero aun hay fallo)

Esto emula el comportamiento de register_globals On.

Código PHP:
<?php
// Emular register_globals on
if (!ini_get('register_globals')) {
    
$superglobales = array($_SERVER$_ENV,
        
$_FILES$_COOKIE$_POST$_GET);
    if (isset(
$_SESSION)) {
        
array_unshift($superglobales$_SESSION);
    }
    foreach (
$superglobales as $superglobal) {
        
extract($superglobalEXTR_SKIP);
    }
}
?>
Esto emula register_globals Off
Código PHP:
<?php
// Emular register_globals off
function retirar_registros_GLOBALS()
{
    if (!
ini_get('register_globals')) {
        return;
    }

    
// Puede que desee cambiar esto por un error mas amigable
    
if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) {
        die(
'Se ha detectado un intento de sobreescritura en GLOBALS');
    }

    
// Variables que no deben ser eliminadas
    
$noEliminar = array('GLOBALS',  '_GET',
                        
'_POST',    '_COOKIE',
                        
'_REQUEST''_SERVER',
                        
'_ENV',     '_FILES');

    
$entrada array_merge($_GET,    $_POST,
                           
$_COOKIE$_SERVER,
                           
$_ENV,    $_FILES,
                           isset(
$_SESSION) && is_array($_SESSION) ? $_SESSION : array());

    foreach (
$entrada as $c => $v) {
        if (!
in_array($c$noEliminar) && isset($GLOBALS[$c])) {
            unset(
$GLOBALS[$c]);
        }
    }
}

retirar_registros_GLOBALS();

?>

este código debe ser llamado al comienzo absoluto de su script
__________________
La mejor forma de enseñar es aprendiendo
------------------------------------------------
Un pokitin de Musika en tu Vida
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 18:25.