Foros del Web » Programando para Internet » PHP »

Esto me funciona de manera local, pero no en mi hosting

Estas en el tema de Esto me funciona de manera local, pero no en mi hosting en el foro de PHP en Foros del Web. Gracias a este foro, logré resolver un problemita, y hacer que este código funcionara, pero lo pruebo subiendolo al hosting, y no funciona: Código PHP: ...
  #1 (permalink)  
Antiguo 04/04/2015, 08:05
 
Fecha de Ingreso: junio-2013
Ubicación: Estado Lara
Mensajes: 33
Antigüedad: 10 años, 10 meses
Puntos: 0
Esto me funciona de manera local, pero no en mi hosting

Gracias a este foro, logré resolver un problemita, y hacer que este código funcionara, pero lo pruebo subiendolo al hosting, y no funciona:


Código PHP:
// Contenido del archivo accion.php
<?php 

//transforma números en letras
$arrFrom = array("0","1","2","3","4","5","6","7","8","9"); 
$arrTo = array("q","r","s","t","u","v","w","x","y","z"); 

//Transformar prefijo y el número (datos del formulario) en letras
$codigo1 str_replace($arrFrom$arrTo$prefijo);
$codigo2 str_replace($arrFrom$arrTo$numero);

//Colocar el prefijo y el número (ya transformado en letras) dentro de un enlace externo
$link "http://www.mipagina.com/index.jsp?id=$codigo1$codigo2";

//Abrir el enlace generado
header("Location: $link");

?>
Uso el código de manera local, en el formulario coloco por ejemplo en el prefijo 0123 y en el número 456789, y el enlace lo genera correctamente http://www.mipagina.com/index.jsp?id=qrstuvwxyz
Al subirlo al hostin (ya he intentado con 3 distintos), al llenar el formulario el link omite el $prefijo y $numero y el enlace que me arroja es http://www.mipagina.com/index.jsp?id= (sin números ni letras), ¿Alguien tiene alguna explicación lógica para esto?
  #2 (permalink)  
Antiguo 04/04/2015, 08:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Esto me funciona de manera local, pero no en mi hosting

¿Ese es el código completo?

¿De dónde vienen las variables $prefijo y $numero?

Cita:
¿Alguien tiene alguna explicación lógica para esto?
Si tienes un campo llamado <input name="prefijo"> lamento decirte que usar $prefijo no funcionará jamás.

En local te funciona debido a una configuración obsoleta de tu instalación de PHP, que de hecho es una falla de seguridad grave.

Ahora, dependiendo del tipo de formulario debes usar $_GET['prefijo'] o $_POST['prefijo'] según sea el caso.

Por favor, consulta el siguiente manual: http://www.php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 04/04/2015, 08:48
 
Fecha de Ingreso: junio-2013
Ubicación: Estado Lara
Mensajes: 33
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Esto me funciona de manera local, pero no en mi hosting

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Ese es el código completo?

¿De dónde vienen las variables $prefijo y $numero?



Si tienes un campo llamado <input name="prefijo"> lamento decirte que usar $prefijo no funcionará jamás.

En local te funciona debido a una configuración obsoleta de tu instalación de PHP, que de hecho es una falla de seguridad grave.

Ahora, dependiendo del tipo de formulario debes usar $_GET['prefijo'] o $_POST['prefijo'] según sea el caso.

Por favor, consulta el siguiente manual: http://www.php.net/variables.external
Creo ese es el problema, tengo esto en html:

Código PHP:

<label class="description" for="numero">Número de teléfono </label>
<
div> <select name="prefijo" class="combosform"> <option value="126"selected="">0126</option> <option value="136">0136</option
  #4 (permalink)  
Antiguo 04/04/2015, 14:31
 
Fecha de Ingreso: noviembre-2005
Mensajes: 144
Antigüedad: 18 años, 5 meses
Puntos: 2
Respuesta: Esto me funciona de manera local, pero no en mi hosting

Activa variables globales (no lo recomiendo) o Toma correctamente las variables con GET o POST
  #5 (permalink)  
Antiguo 04/04/2015, 20:31
 
Fecha de Ingreso: abril-2001
Ubicación: Argentina
Mensajes: 67
Antigüedad: 23 años
Puntos: 0
Respuesta: Esto me funciona de manera local, pero no en mi hosting

Código PHP:
<?php  
$prefijo 
$_POST['prefijo']; //o $_GET no se que usas en el formulario
$numero$_POST['numero']; //o $_GET no se que usas en el formulario

//transforma números en letras 
$arrFrom = array("0","1","2","3","4","5","6","7","8","9");  
$arrTo = array("q","r","s","t","u","v","w","x","y","z");  

//Transformar prefijo y el número (datos del formulario) en letras 
$codigo1 str_replace($arrFrom$arrTo$prefijo); 
$codigo2 str_replace($arrFrom$arrTo$numero); 

//Colocar el prefijo y el número (ya transformado en letras) dentro de un enlace externo 
$link "http://www.mipagina.com/index.jsp?id=$codigo1$codigo2"

//Abrir el enlace generado 
header("Location: $link"); 

?>
Es lo que veo que esta mal, tu luego en el link cambias a otro nombre de variable, con eso te deberia de funcionar.

Si no haz un dump de la variable post o get y mira que te trae el formulario muchas veces os olvidais de poner NAME al campo y le poneis un ID sin NAME

Código PHP:
var_dump($_POST);
var_dump($_GET); 
__________________
Saludos!
  #6 (permalink)  
Antiguo 06/04/2015, 19:42
 
Fecha de Ingreso: junio-2013
Ubicación: Estado Lara
Mensajes: 33
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Esto me funciona de manera local, pero no en mi hosting

Cita:
Iniciado por juansemaster Ver Mensaje
Activa variables globales (no lo recomiendo) o Toma correctamente las variables con GET o POST
Esa fue la solución que más se adaptó a mi, muchas gracias a todos por sus sugerencias, por si alguien más lee este post, y andaba buscando la solución, todo lo resolví haciendo lo siguiente:

En el directorio donde necesitaba activar las variables globales creé un archivo .htaccess y dentro del archivo coloqué
Código:
php_flag register_globals on
y listo, todo funcionó sin problema.

Sé lo del problema de seguridad de activar eso, pero esto que estoy haciendo no será visto por más de 10 personas, así que... No hay problema.

Una vez más, gracias a todos, pueden dar el tema como solucionado

Etiquetas: formulario, hosting, local, manera
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 04:54.