Problema con variable en URL

0buS

buenas,

Vereis tengo montado un hosting local para "programar" en php.
Acabo de terminar una web sencilla, cuyas secciones van segun la variable de la url. en este caso index.php?pagina=(valor).

Bueno el caso es que en el hosting local va de puta madre, pero a la hora de subirlo a un hosting de pago, no rula.

Tengo que activar alguna opcion en el hosting o algo para que el dominio me deje utilizar variables en la url o que?

Gracias.

elkaoD

$_GET["variable"]

0buS

#2 puedes explicarte un poco mejor? he leido algo de eso en google, pero no se donde debe de hacer $_GET.

l31m

seguramente en el hosting tengan configuradas las variables de otra forma.
Para recoger el valor de la seccion usas $HTTP_GET_VARS o $_GET?

0buS

uso esto:

<?php 
  if (!isset($pagina)) $pagina="noticias";
  $invalido = array('/','/\/',':','.');
  $pagina = str_replace($invalido, ' ',$pagina);
  if (!file_exists($pagina. ".php")) $pagina = 'noticias';
  include($pagina. ".php");
   ?>
l31m

y eso te funcionaba en local???

a ver, las variables que vienen por URL se cogen con $_GET[pagina].

0buS

si si, me funciona perfectamente. Como lo cojo con el $_GET?

l31m
<?php
if (!isset($_GET[pagina])) $pagina="noticias";
$invalido = array('/','/\/',':','.');
$pagina = str_replace($invalido, ' ',$pagina);
if (!file_exists($_GET[pagina]. ".php")) $pagina = 'noticias';
include($pagina. ".php");
?>
0buS

Notice: Use of undefined constant pagina - assumed 'pagina' in C:\Archivos de programa\EasyPHP 2.0b1\www\gn\index.php on line 65

Notice: Use of undefined constant pagina - assumed 'pagina' in C:\Archivos de programa\EasyPHP 2.0b1\www\gn\index.php on line 68

Notice: Undefined index: pagina in C:\Archivos de programa\EasyPHP 2.0b1\www\gn\index.php on line 68

me da estos errores.&#9824;

l31m

C:\Archivos de programa\EasyPHP 2.0b1\www\gn\index.php ??

yo creo ke tu tienes por ahi algo muy liado. Como puede ser ke esté buscando la pagina en tu disco duro? o pones el codigo entero o no podemos hacer nada.

0buS

ok solucionado. faltaban algunas cosillas a tu codigo xD.

<?php 
  if (!isset($_GET['pagina'])) $_GET['pagina']="noticias";
  $invalido = array('/','/\/',':','.');
  $pagina = str_replace($invalido, ' ',$_GET['pagina']);
  if (!file_exists($_GET['pagina']. ".php")) $pagina = 'noticias';
  include($_GET['pagina']. ".php");
   ?>

l31m

cierto se me pasó modificar en algunas lineas.
Pues asunto arreglao.

Usuarios habituales

  • l31m
  • 0buS
  • elkaoD