Foros del Web » Programando para Internet » PHP »

[AYUDA] index.php?op=2

Estas en el tema de [AYUDA] index.php?op=2 en el foro de PHP en Foros del Web. necesito crear una web echa con el estilo index.php?op=2 he mirado bastante y no he encontrado como... La idea general es tener un solo archivo ...
  #1 (permalink)  
Antiguo 27/02/2009, 09:05
 
Fecha de Ingreso: febrero-2009
Mensajes: 2
Antigüedad: 15 años, 1 mes
Puntos: 0
[AYUDA] index.php?op=2

necesito crear una web echa con el estilo index.php?op=2

he mirado bastante y no he encontrado como...

La idea general es tener un solo archivo index.php y en ese este todo el contenido
y que valla mostrando segun donde haga click.. he visto un par de webs que muestran algo similar haciendolo con switch case 1 etc etc pero c que hay otra forma que es mas simple y solo se pregunta con un if... si me pudieran ayudar porfa
se oos agradeceria
  #2 (permalink)  
Antiguo 27/02/2009, 09:13
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: [AYUDA] index.php?op=2

Bueno, puedes hacerlo solo con ifs, o también con switch, de este modo:

Solo con if

Código PHP:
<?php
   $op 
$_GET["op"];

  if (
$op "seccion1") {
    
// código de la sección 1
  
} else if ($op == "seccion2") {
     
// código de la sección 2
  
} .....
  ......
  .....
?>
Con switch sería así:

Código PHP:
<?php
   $op 
$_GET["op"];
 
   switch (
$op) {
    case 
'seccion1':
        
// Código sección 1
        
break;
    case 
'seccion2':
        
// Código sección 2
        
break;
    .................
    .................
    ................
   }
?>
Espero que te sirva.
  #3 (permalink)  
Antiguo 27/02/2009, 09:25
Avatar de Sommy  
Fecha de Ingreso: septiembre-2008
Mensajes: 228
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: [AYUDA] index.php?op=2

Ese tipo de páginas tiene contenido dinamico, esto significa que usan el ID para traer el contenido html de una base de datos...

Tenes que hacer una consulta contra esa id, no te olvides de escapar el id! sino sos presa facil de los hackers...

http://ar2.php.net/mysql_real_escape_string

O crear tu propia funcion, que es loque yo hago (gustos).

El index no deberia tener mucho codigo, una consulta y el huelco de contenido...

Ah! y como bien puso ElJavista no uses variables globales, quiero decir que hagas esto:

Código PHP:
 $op $_GET["op"]; 
Suerte con eso!
  #4 (permalink)  
Antiguo 27/02/2009, 09:40
 
Fecha de Ingreso: febrero-2009
Mensajes: 2
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: [AYUDA] index.php?op=2

Cita:
Iniciado por ElJavista Ver Mensaje
Bueno, puedes hacerlo solo con ifs, o también con switch, de este modo:

Solo con if

Código PHP:
<?php
   $op 
$_GET["op"];

  if (
$op "seccion1") {
    
// código de la sección 1
  
} else if ($op == "seccion2") {
     
// código de la sección 2
  
} .....
  ......
  .....
?>
Con switch sería así:

Código PHP:
<?php
   $op 
$_GET["op"];
 
   switch (
$op) {
    case 
'seccion1':
        
// Código sección 1
        
break;
    case 
'seccion2':
        
// Código sección 2
        
break;
    .................
    .................
    ................
   }
?>
Espero que te sirva.
Entiendo perfectamente el codigo... pero hay una parte donde me pierdo

Código PHP:
<? $op $_GET["op"]; ?>
<table width="200" border="1">
  <tr>
    <td><div align="center"><a href="index.php?op=3">1</a></div></td>
    <td><div align="center">2</div></td>
    <td><div align="center">3</div></td>
    <td><div align="center">4</div></td>
  </tr>
</table>
<?
}
if( 
$op == "3" ) {
?>
<table width="200" border="1">
  <tr>
    <td><div align="center">2</div></td>
  </tr>
</table>
<? ?>
ahi hay un codigo de algo muy simple tengo una tabla con numeros del 1 al 4 si presiono el 1 deberia mostrarme otra tabla k tengo que es donde aparece el numero 2 corriganme porfavor que es lo que me falta...con poder hacer eso... ya estoy listo para hacer todo lo demas

Muchas gracias por la rapidez
  #5 (permalink)  
Antiguo 27/02/2009, 10:08
Avatar de Sommy  
Fecha de Ingreso: septiembre-2008
Mensajes: 228
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: [AYUDA] index.php?op=2

Cita:
Iniciado por swnano Ver Mensaje
Entiendo perfectamente el codigo... pero hay una parte donde me pierdo

Código PHP:
<? $op $_GET["op"]; ?>
<table width="200" border="1">
  <tr>
    <td><div align="center"><a href="index.php?op=3">1</a></div></td>
    <td><div align="center">2</div></td>
    <td><div align="center">3</div></td>
    <td><div align="center">4</div></td>
  </tr>
</table>
<?PHP
}
if( 
$op == "3" ) {
?>
<table width="200" border="1">
  <tr>
    <td><div align="center">2</div></td>
  </tr>
</table>
<? ?>
ahi hay un codigo de algo muy simple tengo una tabla con numeros del 1 al 4 si presiono el 1 deberia mostrarme otra tabla k tengo que es donde aparece el numero 2 corriganme porfavor que es lo que me falta...con poder hacer eso... ya estoy listo para hacer todo lo demas

Muchas gracias por la rapidez
Si presionas el 1, deberia mostrarte el 3, cierto... Ahora me gustaria saber de donde sale esa llave?? y que raro que no te tire error... Me refiero a la que esta arriba del if, deberias sacarla de ahi para empezar.

Código PHP:
<?
}
if( 
$op == "3" ) {
?>
Acostumbrate siempre a abrir el codico con "<?PHP", esto es importante aunque no parezca y sacale las comillas al 3, es un numero no un string.

Y un detallesito que no aporta al funcionamiento, pero vale la pena tenerlo en cuenta

Código:
<a href="index.php?op=3">
Podes hacer simplemente
Código:
<a href="?op=3">
Si el dia de mañana se te antoja nombrar la pagina como index_nuevo.php o home.php, no tenes que modificar el href, es dinamico.

Bueno, proba estas cuestiones y contame.

Edicion:

Me olvidaba de algo importante, tenes que ponerle un condicional a la primer tabla, para que aparezca solo cuando no hay especificaciones, con algo como esto:

Código PHP:
if(!isset($_GET)) {

[
aca toda tu tabla
En este caso deja puesta la llave que estaba de mas y te dije que saques pero agregale un else, resultado final:

Código PHP:
<?PHP
if(!isset($_GET)) {
?>

<table width="200" border="1">
  <tr>
    <td><div align="center"><a href="index.php?op=3">1</a></div></td>
    <td><div align="center">2</div></td>
    <td><div align="center">3</div></td>
    <td><div align="center">4</div></td>
  </tr>
</table>
<?PHP
} else {
#NOTA QUE AHORA DECLARAS LA VARIABLE ACA ADENTRO... PORQUE YA TE ASEGURAS QUE HAY UN GET.
    
$op $_GET["op"]; 
resto de codigo...

Última edición por Sommy; 27/02/2009 a las 10:14
  #6 (permalink)  
Antiguo 27/02/2009, 10:12
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: [AYUDA] index.php?op=2

Cuando se trabaja con HTML insertado dentro de PHP es algo difícil verla. La verdad no entiendo tu problema, cual es? como agregarle elseif?
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 10:30.