Foros del Web » Programando para Internet » PHP »

Como incluir paginas tipos index.php?id=01

Estas en el tema de Como incluir paginas tipos index.php?id=01 en el foro de PHP en Foros del Web. Hola amigos tengo un script digamos como un cms pero muy sencillo y cada vez que publico algo queda index.php?page=1, index.php?page=2 y así sucesivamente, y ...
  #1 (permalink)  
Antiguo 28/02/2012, 13:16
Avatar de Raian  
Fecha de Ingreso: febrero-2010
Mensajes: 33
Antigüedad: 14 años, 2 meses
Puntos: 0
Pregunta Como incluir paginas tipos index.php?id=01

Hola amigos tengo un script digamos como un cms pero muy sencillo y cada vez que publico algo queda index.php?page=1, index.php?page=2 y así sucesivamente, y algunas de esas publicaciones son contenidos así para mostrarlo en la web, pero no quería que se llamaran por los números que seria 2 y 3 y así si no por un nombre especifico para mostrar entonces ahi creo que se le dice un modulo para llamar las paginas asi que es el siguiente codigo.

contenido.php

Cita:
<?
$id=$_GET['id'];

switch ($id) {
case 1:
include("./carpeta/index.php");
break;
case 2:
include("./carpeta/carpeta2/index.php");
break;
case 3:
include("./carpeta/carpeta2/carpeta3/index.php");
break;
default:
include("ver.php");
}
?>
entonces pongo las paginas que voy a incluir en el codigo donde dice include y pongo lo siguiente

Cita:
<?
$id=$_GET['id'];

switch ($id) {
case prueba1:
include("./index.php?page=1");
break;
case prueba2:
include("./index.php?page=84");
break;
case prueba3:
include("./index.php?page=3");
break;
default:
include("ver.php");
}
?>
y me da un error antes me funcionava pero cuando no estaba los page=3 y el error que me da es este

Cita:
Warning: include() [function.include]: Failed opening

'/****/*****/public_html/index.php?page=3' for inclusion

(include_path='.:/usr/lib/php:/usr/local/lib/php') in

'/****/*****/public_html/contenido.php on line 1
la pagina del scrip es obvio que es index.php y del modulo contenido.php

me di de cuenta que no lee las pagina a partí del ?page=3 pienso yo, quisiera saber si hay otra manera en que se pueda y me pusieran ejemplos ya que el php solo soy bueno editando y no creando ya que lo estudio es un poco.

esperos sus respuestas
  #2 (permalink)  
Antiguo 28/02/2012, 13:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Como incluir paginas tipos index.php?id=01

Para hacer un include con variables, basta que hagas algo así:
Código PHP:
Ver original
  1. $page = 3;
  2. include('index.php');

No puedes usar index.php?page=3, ya que eso hace que la pagina se incluya como URL, es mejor hacerlo de la forma que te indico, cuando haces el include todas las variables que hayas definido antes las puedes usar dentro del archivo que incluyas.

PD. para comparar con strings es forzoso que uses las comillas para evitar errores o notices futuros:
Código PHP:
Ver original
  1. switch($foo) {
  2.       case 'foo':
  3.       case 'bar':
  4.       case 'baz':
  5. }

Saludos.
  #3 (permalink)  
Antiguo 28/02/2012, 14:45
Avatar de Raian  
Fecha de Ingreso: febrero-2010
Mensajes: 33
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Como incluir paginas tipos index.php?id=01

Cita:
Iniciado por GatorV Ver Mensaje
Para hacer un include con variables, basta que hagas algo así:
Código PHP:
Ver original
  1. $page = 3;
  2. include('index.php');

No puedes usar index.php?page=3, ya que eso hace que la pagina se incluya como URL, es mejor hacerlo de la forma que te indico, cuando haces el include todas las variables que hayas definido antes las puedes usar dentro del archivo que incluyas.

PD. para comparar con strings es forzoso que uses las comillas para evitar errores o notices futuros:
Código PHP:
Ver original
  1. switch($foo) {
  2.       case 'foo':
  3.       case 'bar':
  4.       case 'baz':
  5. }

Saludos.
es decir seria algo así

Cita:
<?
$id=$_GET['id'];

switch ($id) {
case 'prueba':
$page = 3;
include("./carpeta/index.php");
break;
default:
include("ver.php");
}
?>
  #4 (permalink)  
Antiguo 28/02/2012, 15:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Como incluir paginas tipos index.php?id=01

Haz la prueba y verifica si te sirve.
  #5 (permalink)  
Antiguo 28/02/2012, 18:39
Avatar de Raian  
Fecha de Ingreso: febrero-2010
Mensajes: 33
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Como incluir paginas tipos index.php?id=01

Cita:
Iniciado por GatorV Ver Mensaje
Haz la prueba y verifica si te sirve.
Si muestra la pagina pero muestra la principal que seria page=1 y siempre muestra esa y no las demás que si;

$page = 3;

o

$page = 4;

o no se el script del archivo del index.php

Código PHP:
Ver original
  1. <?php
  2. $mysql_server = '***';
  3. $mysql_username = '***';
  4. $mysql_password = '***';
  5. $mysql_database = '***';
  6. $mysql_table = '***';
  7. $cms_no_results = 'No results';
  8. $cms_content = '';
  9. $db = mysql_connect($mysql_server, $mysql_username, $mysql_password);
  10. if (!$db)
  11. {
  12.    die('Failed to connect to database server!<br>'.mysql_error());
  13. }
  14. mysql_select_db($mysql_database, $db) or die('Failed to select database<br>'.mysql_error());
  15. $id = isset($_REQUEST['page']) ? mysql_real_escape_string($_REQUEST['page']) : '';
  16. $query = isset($_REQUEST['query']) ? $_REQUEST['query'] : '';
  17. if (!empty($query))
  18. {
  19.    {
  20.       $query = addslashes($query);
  21.    }
  22.    $words = preg_split('/\s+/', $query);
  23.    foreach ($words as $word)
  24.    {
  25.       $word = preg_replace('/\W/', '', $word);
  26.       if (strlen($word) > 1)
  27.       {
  28.          $terms[] = $word;
  29.       }
  30.    }
  31.    if ($terms)
  32.    {
  33.       if (count($terms) > 4)
  34.       {
  35.          array_splice($terms, 4);
  36.       }
  37.       $sql = "SELECT p.id, p.name, p.content FROM " . $mysql_table . "PAGES p, " . $mysql_table . "SEARCH_WORDS w, " . $mysql_table . "SEARCH_WORDMATCH m WHERE(";
  38.       $where = "w.word LIKE '%" . array_shift($terms) . "%'";
  39.       while ($term = array_shift($terms))
  40.       {
  41.          $where .= " OR w.word LIKE '%" . $term . "%'";
  42.       }
  43.       $sql .= $where . ") AND m.word_id = w.id AND m.page_id = p.id GROUP BY p.id ORDER BY p.last_update_date DESC";
  44.       $result = mysql_query($sql) or die(mysql_error());
  45.       if ($aantal = mysql_num_rows($result))
  46.       {
  47.          $cms_content .= "  <ol class=\"searchresults\">\n";
  48.          while ($data = mysql_fetch_array($result))
  49.          {
  50.             $cms_content .= "   <li><a href=\"" . basename(__FILE__) . "?page=" . $data['id'] . "\">" . $data['name'] . "</a><br>";
  51.             $contents = substr(strip_tags($data['content']), 0, 200);
  52.             if (strlen($contents) > 199)
  53.             {
  54.                $contents .= "...";
  55.             }
  56.             $cms_content .= $contents;
  57.             $cms_content .= "</li>\n";
  58.          }
  59.          $cms_content .= "  </ol>\n";
  60.       }
  61.       else
  62.       {
  63.          $cms_content = $cms_no_results;
  64.       }
  65.    }
  66.    else
  67.    {
  68.       $cms_content = $cms_no_results;
  69.    }
  70. }
  71. else
  72. {
  73.    if (!empty($id))
  74.    {
  75.       $sql = "SELECT * FROM " . $mysql_table . "PAGES WHERE id = '$id'";
  76.    }
  77.    else
  78.    {
  79.       $sql = "SELECT * FROM " . $mysql_table . "PAGES WHERE home = 1 ";
  80.    }
  81.    $result = mysql_query($sql, $db);
  82.    if ($result)
  83.    {
  84.       if ($data = mysql_fetch_array($result))
  85.       {
  86.          if (!empty($data['url']))
  87.          {
  88.             $cms_content = "<iframe name=\"cmscontent\" style=\"position:absolute;border-width:0;width:100%;height:100%;\" src=\"" . $data['url'] . "\"></iframe>\n";
  89.          }
  90.          else
  91.          {
  92.             $cms_content = $data['content'];
  93.          }
  94.       }
  95.       if (empty($label))
  96.       {
  97.          if (!empty($id))
  98.          {
  99.             $sql = "UPDATE " . $mysql_table . "PAGES SET views=views+1 WHERE id = '$id'";
  100.          }
  101.          else
  102.          {
  103.             $sql = "UPDATE " . $mysql_table . "PAGES SET views=views+1 WHERE home = 1";
  104.          }
  105.          mysql_query($sql, $db);
  106.       }
  107.    }
  108. }
  109. ?>

Última edición por Raian; 28/02/2012 a las 19:01
  #6 (permalink)  
Antiguo 28/02/2012, 23:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Como incluir paginas tipos index.php?id=01

Eso es porque estas leyendo de $_REQUEST['page'], para hacer lo mismo tendrías que simularlo en tu switch asignado ahí: $_REQUEST['page'] = 3;

Saludos.
  #7 (permalink)  
Antiguo 29/02/2012, 10:04
Avatar de Raian  
Fecha de Ingreso: febrero-2010
Mensajes: 33
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Como incluir paginas tipos index.php?id=01

Cita:
Iniciado por GatorV Ver Mensaje
Eso es porque estas leyendo de $_REQUEST['page'], para hacer lo mismo tendrías que simularlo en tu switch asignado ahí: $_REQUEST['page'] = 3;

Saludos.
Valla ahora si muchas gracias. :) ahora si funciona y si muestra la pagina que debe, de verdad gracias.

tema solucionado.

Etiquetas: html, incluir, tipo
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 00:07.