Control de secciones.

MaNeLeT

Buenas, tengo un control de secciones, el problema es que no se como hacer un link del tipo:

www.dominio.com/index.php?sec=hola&tipo=otro

la última parte no se como hacerla.

$sx = explode("?",$REQUEST_URI);
if ($sx[1]) {
switch ($c[0]) {:
case noticies:
include("noticies.php");
break;:
case sección2:
include("seccion2.php");
break;
default:
include("presentacio.php");
}
}

else { include("presentacio.php"); }

Gracias.

BlisZ

una cosa rapida: (no se si saldra)

if(!$sec AND !$otro)
{
echo "hola"; // ver categorias
}

if($sec AND !$otro)
{
echo $sec; // ver categoria
}

if($sec AND $otro)
{
echo $sec." » ".$otro; // ver categoria + descarga
}

if(!$sec AND $otro)
{
echo "hola"; // asi no se puede acceder
}

a ver si te sirve xD

nothing

creo q esto es mas simple:

switch ($secc) {
case sec1:
include('xxx.php');
break;
default:
include('xxxx.php');
break;
}
Lego el link seria:

index.php?secc=sec1

Pueds añadir los casos q keras, es como lo ago yo :)

Lo otro supongo q te refieres a cuando pasas datos con un formulario, xq no se a q te refieres...

BlisZ

pero asi tienes que andar creando nuevos ficheros, el mio es todo en uno

MaNeLeT

no entendí el tuyo blisz, el de nothing si, pero mi pregunta era como hacer a partir del switch para añadirle un:

index.php?sec=loqsea&tipo=esoesloqquiero

gracias.

nothing

y q se supone q keres acer cn la 2nd parte? iwal cn un ejemplo te entiendo y te puedo ayudar.
Si te refieres a esto:

http://dominio.es/index.php?secc=comentarios?id=4

Eso es un valor q le das tu para acer los queries x ejemplo, o cuando pasas algo x un formulario. No se si me explico bien

#4 prefiero poner includes a llegar el codigo de echos y demás q lo uniko q logras es q al final, si es bastante largo la seccion, la web vaya lento, q la mayoria de mis amigos tienen conexiones lentas y lo se x experiencia;) Tb xq si kiero modificar una seccion mira en el archivo ese solo, q ay pokas lineas, y sino tienes q buscar en mas codigo.

BlisZ

Esque no hay porque poner echos, puedes poner lo que quieras.

BlisZ

Esque no hay porque poner echos, puedes poner lo que quieras.

DarkSoldier

if($_GET['sec'] == 'seccion') { include 'archivo.extension'; }

kreo k mas facil no ? @@ XDD

guner

como no entiendo ke kieres hacer, te voy a poner lo ke creo que quieres hacer pero vamos ...

url=index.php?modulo=noticias&accion=ver&id=1298

<?php

/*-

  • index.php
    -*/

<?php

if (isset ($_GET['modulo']) {

switch ($_GET['modulo']) {

default:
include ('main.php');
break;

case 'noticias':
if (file_exists ('noticias.php')) include ('noticias.php');
break;

}

}

?>

/**

  • noticias.php
    -*/

<?php

// aqui es donde procesas las dos ultimas variables

if (isset ($_GET['accion]) {

if ($$_GET['accion'] == 'ver') {

if (isset ($_GET['id']) {

vernoticia ($_GET['id']);

}

}

}

?>

o sea, que donde procesas las variables url segundas, es en el móduclo que cargas.

creo que el problema es que no usas variables $_GET, en vez de eso parece que haces referencias a REQUEST_URL para obtenerlas

si lo quisieras seguir haciendo así, bastaría con meter un explode ("&", ....); para volver a dividir el array y ya ta ^^

SsNnIiFf

tio, ya te lo explique por el irc.

Si como dices tu tienes un control de secciones, y una de las secciones por ejemplo depende de la id por ejemplo la seccion perfil, tendras sec=perfil&id=1.

Pues lo dicho, lo que pasa que lo tuyo parece que sea una rabieta del tipo : quiero tener esooooo, mami quiero tenerlo asiiiii :_____________________(

aLeX

#10 ha dado en el clavo.

Recuerda que si tu host usa un PHP antiguo (4) tienes que poner $HTTP_GET_VARS en lugar de $_GET

DarkSoldier

alex k va tio @@ en el PHP 4 funciona $GET $POST $_SERVER y todas estas variables ¬¬

aLeX

Variables HTTP GET: $_GET

[b]Nota[/b]: Introducidas en [b]4.1.0[/b]. En versiones anteriores, use $HTTP_GET_VARS. 

Una matriz asociativa de variables pasadas al script actual a través del método HTTP GET. Global automáticamente en cualquier contexto.

Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_GET; para acceder a ella dentro de funciones o métodos, como lo hace con $HTTP_GET_VARS.

$HTTP_GET_VARS contiene la misma información inicial, pero no es autoglobal. (Note que $HTTP_GET_VARS y $_GET son variables diferentes y que PHP las trata como tal)

Si la directiva register_globals está definida, entonces éstas variables también estarán disponibles en el contexto global del script; i.e., por separado de las matrices $_GET y $HTTP_GET_VARS. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son autoglobales.

O tienes razón y no me entero de lo que dicen (es mas que probable) o te has colado :/

http://es.php.net/reserved.variables

DarkSoldier

weno, desde la 4.1.0 ... pero desconozco de algun hosting con ese php o inferior si conoces alguno ..

m3tr0

Yo usaba (iwal te lo digo mal, hace mucho que no me pongo a hacer ninguna web)

if(isset($sec)) {
if(file_exists("$sec".php) {
include('"$sec".php');
}
else {
echo "No existe esa página";
}
else {
include('principal.php');
}

Luego con $tipo ya haras lo que quieras
Lo unico que no estoy seguro es si se separaba el nombre de la variable del .php con {}, "", o no hacia flata no me acuerdo

Usuarios habituales

  • m3tr0
  • DarkSoldier
  • aLeX
  • SsNnIiFf
  • BlisZ
  • nothing
  • MaNeLeT