Autor Tema: Sistema de Modulación [index.php?id=seccion]  (Leído 30565 veces)

Desconectado Daniiel

  • PHPer@
  • **
  • Mensajes: 52
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #60 en: 06 de Junio de 2010, 02:43:37 am »
Pues si lo que quieres es abrir un archivo .php en X carpeta, solo debes especificarlo en la URL. Osea que si pones http://miweb.com/index.php?seccion=noticias/ver, abriría el archivo http://miweb.com/noticias/ver.php.

¿Es eso lo que quieres?
No yo solo quieor la acrpeta es decir si la carpeta se llama ''micarpeta'' pues abrirlo asi: misitio.com?=micarpeta

Comunidad PHPeros

Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #60 en: 06 de Junio de 2010, 02:43:37 am »

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #61 en: 06 de Junio de 2010, 07:25:35 am »
Entonces modifica el código original :P es sencillo, sólo usa la lógica...
- Moderador de PHP


Desconectado Daniiel

  • PHPer@
  • **
  • Mensajes: 52
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #62 en: 06 de Junio de 2010, 15:50:25 pm »
Entonces modifica el código original :P es sencillo, sólo usa la lógica...
Ya lo he intentado mira como le he dajdo, peor da fallo:

Código: [Seleccionar]
<?PHP



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





if (!empty($_GET['id']) && $_GET['id'] != "index") {







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









include ("./".$_GET['id']");







} else {









echo "No existe esta seccion";







}





} else {







include ("principal.php");





}



} else {





include ("principal.php");



}
?>

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #63 en: 06 de Junio de 2010, 16:49:41 pm »

¿por que no usas htacces?

#Fdo. Physlet

Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #64 en: 06 de Junio de 2010, 18:19:51 pm »
<?php
if(isset($_GET[&#39;carpeta&#39;]))
{
	
if(!empty(
$_GET[&#39;carpeta&#39;]))
	
{
	
	
if(
file_exists($_GET[&#39;carpeta&#39;].&#39;/index.php&#39;))
	
	
{
	
	
	
include(
$_GET[&#39;carpeta&#39;].&#39;/index.php&#39;);
	
	
}
	
	
else
	
	
{
	
	
	
echo &
#39;Esta carpeta no existe.&#39;;
	
	
}
	
}
	
else
	
{
	
	
include(
"noticias/index.php");
	
}
}
else
{
	
include(
"noticias/index.php");
}
?>


Ahí ya está, para acceder a X carpeta sólo debes de poner http://tuweb.com/index.php?carpeta=NOMBREDELACARPETA ;)
Saludos.
- Moderador de PHP


Desconectado Daniiel

  • PHPer@
  • **
  • Mensajes: 52
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #65 en: 06 de Junio de 2010, 20:20:49 pm »
<?php
if(isset($_GET[&#39;carpeta&#39;]))
{
	
if(!empty(
$_GET[&#39;carpeta&#39;]))
	
{
	
	
if(
file_exists($_GET[&#39;carpeta&#39;].&#39;/index.php&#39;))
	
	
{
	
	
	
include(
$_GET[&#39;carpeta&#39;].&#39;/index.php&#39;);
	
	
}
	
	
else
	
	
{
	
	
	
echo &
#39;Esta carpeta no existe.&#39;;
	
	
}
	
}
	
else
	
{
	
	
include(
"noticias/index.php");
	
}
}
else
{
	
include(
"noticias/index.php");
}
?>


Ahí ya está, para acceder a X carpeta sólo debes de poner http://tuweb.com/index.php?carpeta=NOMBREDELACARPETA ;)
Saludos.
Miiiiiiiiiiil gracias, ahora lo pruebo, te ganas un karma.

Desconectado jerry699

  • PHPerit@
  • *
  • Mensajes: 2
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #66 en: 05 de Agosto de 2010, 23:15:36 pm »
Hola chicos, perdonar que reviva el post, pero estoy utilizando este sistema de modulación y me ha surgido un problema con las cookies.

Bien, el problema es el conocido
Código: [Seleccionar]
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\portal\index.php:45) in C:\xampp\htdocs\portal\login.php on line 34

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\portal\index.php:45) in C:\xampp\htdocs\portal\login.php on line 35

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\portal\index.php:45) in C:\xampp\htdocs\portal\login.php on line 36

Como bien sabreis no puede haber salida html ni echos espacios en blanco etc antes de poner una setcookie, aqui pongo parte de mi index.php:

Código: [Seleccionar]
<?PHP
          if (isset($_GET['id'])) {
            if (!empty($_GET['id']) && $_GET['id'] != "index") {
               if (file_exists($_GET['id'].".php")) {
                  include ($_GET['id'].".php");
               } else {
                  echo "No existe esta seccion";
               }
            } else {
               include ("principal.php");
            }
         } else {
            include ("principal.php");
         }
      ?>

</div>
</div>
</div>
<!-- end #content -->
<div id="sidebar">
<ul>
    <?PHP
include 'cookie.php';
if($loginCorrecto){echo "<br>Bienvenido <b>".$_COOKIE["usNick"]."</b>";}
else{
include ("login.php");}


    ?>

Llamo a login.php (obviamente hay salida html y php anterior en el index.php) que contiene un formulario que envia los datos asi mismo y es en setcookie (logico) donde saltan los errores:

Código: [Seleccionar]

<?PHP @session_start();
if (isset($_POST['action']) == "checkdata2") {
}
else{ @header("Location: http://localhost/portal/"); };
?>
<li id="search">
<h3>LOGIN</h3>

<?PHP
$usuario = $_POST['usuario'];
$password = $_POST['password'];
include ("registro/conexion.php");
if (isset($_POST['action']) == "checkdata2") {
if (($_SESSION['tmptxt']) == ($_POST['tmptxt'])) {
if($usuario = NULL || $password == NULL)
 {
   echo 'ERROR';
 }
else
 {
   $usuario = $_POST['usuario'];
   $password = $_POST['password'];
   $password = md5($password);
   $consulta = mysql_query("SELECT * FROM usuarios WHERE nick='$usuario' AND password='$password'",$conexion) or die ("Error");
$resultado = mysql_num_rows($consulta);
if($resultado != '1')
{
  echo "<center></p><b>Datos del usuario <b>".$usuario."</b> no encontrados o incorrectos.</b></p></center>";

}

if($resultado == '1')
  { ob_start();
      setcookie("usNick",$usuario,time()+7776000);
      setcookie("usPass",$password,time()+7776000);
      header('location: index.php');
     } 
  }
}else{
echo "<center><p>Verificacion incorrecta.</p></center>";} 
}
?>

<form name="form1" id="form1" method="post" action="<?php echo $PHP_SELF;?>">
<p>
<input name="usuario" type="text" value="nombre..." />
</p>
<p>
<input name="password" type="password" value="contra" />
</p>
<p> <div align="left"><img src="registro/captcha.php"></div> </p>
<p> <input  maxlength="7" type="text" name="tmptxt"></p>
<p>
<input type="submit" name="Submit" value="Entrar" />
<input name="action" type="hidden" value="checkdata2">
</p>
</form>
</li>

¿Hay alguna forma de solucionar esto o este sistema no funciona? Porque he buscado y no he dado con la solución.
Muchas gracias.

Desconectado jerry699

  • PHPerit@
  • *
  • Mensajes: 2
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #67 en: 07 de Agosto de 2010, 00:27:37 am »
Me respondo yo, alfinal he decicido utilizar sesiones y parece que funciona.

Desconectado arvillo

  • PHPerit@
  • *
  • Mensajes: 13
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #68 en: 22 de Octubre de 2010, 04:35:29 am »
Hola mira, Te recomiendo que le quites los Inludes donde sale principal.php por que si alguien tiene una pagina que se llame principal.php donde ponga el codigo le va a salir la pagina ok, y Gracias por el Codigo.
bueno solo eso queria decir.  :star: :bstar: :rstar:

Desconectado Mannuel

  • PHPerit@
  • *
  • Mensajes: 12
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #69 en: 02 de Noviembre de 2010, 04:48:33 am »
¡Gracias por el sistema! funciona de maravilla :D
Ahora, me surgieron un par de dudas:

Si por ejemplo quiero que los usuarios sólo puedan entrar por "www.sitio.com/index.php?seccion=prueba" y no por "www.sitio.com/prueba.php" ¿Cómo tendría que hacer?

También cree un pequeño código para que el título concuerde con la página en la que se está actualmente, esto claro, con el ejemplo que posteó TLX (Gracias también :)), el título concuerda pefectamente y se muestra bien, pero al ver el código fuente de la página, aparece lo siguiente:

Citar
<title>MiSitio ~ Home</title><title>P&aacute;gina no encontrada</title>

Este es el código que usé:
Citar
  
	
if(empty (
$_GET[&#39;seccion&#39;])) 
	
 
	
	
echo 
"<title>MiSitio ~ Home</title>";
	
	
if(
$_GET[&#39;seccion&#39;] == "ediciones")
	
 
	
	
echo 
"<title>MiSitio ~ Ediciones</title>";
	
	
if(
$_GET[&#39;seccion&#39;] == "spots") 
	
 
	
	
echo 
"<title>MiSitio ~ Spots</title>";
	
	
if(
$_GET[&#39;seccion&#39;] == "galeria") 
	
 
	
	
echo 
"<title>MiSitio ~ Galer&iacute;a</title>";
	
	
if(
$_GET[&#39;seccion&#39;] == "comentario") 
	
 
	
	
echo 
"<title>MiSitio ~ Deja un comentario</title>";
	
	
if(
$_GET[&#39;seccion&#39;] == "acerca_de") 
	
 
	
	
echo 
"<title>MiSitio ~ Acerca de MiSitio</title>";
	
	
if(
$_GET[&#39;seccion&#39;] == "contacto") 
	
 
	
	
echo 
"<title>MiSitio ~ Contacto</title>";
	
	
              else 
	
 
	
	
         echo 
"<title>P&aacute;gina no encontrada</title>";     

Un saludo y gracias de antemano.   :-[

Desconectado SoyJoaquin.

  • PHPero Master
  • ******
  • Mensajes: 2.737
  • Karma: 131
  • Sexo: Masculino
  • ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ Problem?
    • Ver Perfil
    • IsoMap
Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #70 en: 02 de Noviembre de 2010, 05:05:45 am »
¡Gracias por el sistema! funciona de maravilla :D
Ahora, me surgieron un par de dudas:

Si por ejemplo quiero que los usuarios sólo puedan entrar por "www.sitio.com/index.php?seccion=prueba" y no por "www.sitio.com/prueba.php" ¿Cómo tendría que hacer?

También cree un pequeño código para que el título concuerde con la página en la que se está actualmente, esto claro, con el ejemplo que posteó TLX (Gracias también :)), el título concuerda pefectamente y se muestra bien, pero al ver el código fuente de la página, aparece lo siguiente:

Este es el código que usé:
Un saludo y gracias de antemano.   :-[

Para que tantos if... Aparte, Puedes arreglarte la vida usando switch:
Código: [Seleccionar]
<?php
if(!empty($_GET[&#39;seccion&#39;])){
switch ($_GET[&#39;seccion&#39;]) {
    
case &#39;ediciones&#39;;
        
echo "<title>MiSitio ~ Ediciones</title>";
        break;
    case &
#39;spots&#39;;
        
echo "<title>MiSitio ~ Spots</title>";
        break;
    case &
#39;galeria&#39;;
        
echo "<title>MiSitio ~ Galer&iacute;a</title>";
        break;
    case &
#39;comentario&#39;;
        
echo "<title>MiSitio ~ Deja un comentario</title>";
        break;
    case &
#39;acerca_de&#39;;
        
echo "<title>MiSitio ~ Acerca de MiSitio</title>";
        break;
    case &
#39;contacto&#39;;
        
echo "<title>MiSitio ~ Contacto</title>";
        break;
}}else{
echo 
"<title>MiSitio ~ Home</title>";
}
?>

Saludos.
Twitter: @JoakoM010



Desconectado Mannuel

  • PHPerit@
  • *
  • Mensajes: 12
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #71 en: 02 de Noviembre de 2010, 05:18:36 am »
¡Perfecto! Muchísimas gracias por tu pronta respuesta (: parece que deberé repasar el uso de "switch" jeje.
Ojalá que alguien pueda ayudarme a resolver mi otro interrogante :-[.

Un saludo y gracias nuevamente.

Desconectado SoyJoaquin.

  • PHPero Master
  • ******
  • Mensajes: 2.737
  • Karma: 131
  • Sexo: Masculino
  • ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ Problem?
    • Ver Perfil
    • IsoMap
Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #72 en: 03 de Noviembre de 2010, 02:24:59 am »
¡Perfecto! Muchísimas gracias por tu pronta respuesta (: parece que deberé repasar el uso de "switch" jeje.
Ojalá que alguien pueda ayudarme a resolver mi otro interrogante :-[.

Un saludo y gracias nuevamente.

Por lo de:
Citar
Si por ejemplo quiero que los usuarios sólo puedan entrar por "www.sitio.com/index.php?seccion=prueba" y no por "www.sitio.com/prueba.php" ¿Cómo tendría que hacer?

Es super fácil.
Lo que tienes es que hacer un if para saber si el get existe, Como vas a hacer include no afectaría en nada. Ejemplo:
Código: [Seleccionar]
<?php
if(isset($_GET[&#39;seccion&#39;])) {
?>

Aqui el contenido de la web...
<?php
}
?>


Saludos
Twitter: @JoakoM010



Desconectado Warlox

  • Moderadores PHP
  • PHPero Master
  • ****
  • Mensajes: 1.278
  • Karma: 77
  • Sexo: Masculino
  • A veces hay que aprender a correr antes de caminar
    • Ver Perfil
    • Página personal
Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #73 en: 03 de Noviembre de 2010, 03:04:35 am »
Por lo de:
Es super fácil.
Lo que tienes es que hacer un if para saber si el get existe, Como vas a hacer include no afectaría en nada. Ejemplo:
Código: [Seleccionar]
<?php
if(isset($_GET[&#39;seccion&#39;])) {
?>

Aqui el contenido de la web...
<?php
}
?>


Saludos

Pufff, eso es gasto innecesario de líneas, basta con poner un define en el index, y luego en cada archivo comprobar si se definió la variable...
- Moderador de PHP


Desconectado SoyJoaquin.

  • PHPero Master
  • ******
  • Mensajes: 2.737
  • Karma: 131
  • Sexo: Masculino
  • ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ Problem?
    • Ver Perfil
    • IsoMap
Re:Sistema de Modulación [index.php?id=seccion]
« Respuesta #74 en: 03 de Noviembre de 2010, 03:28:00 am »
Pufff, eso es gasto innecesario de líneas, basta con poner un define en el index, y luego en cada archivo comprobar si se definió la variable...

Fue solo un ejemplo, Por las preguntas del usuario esta lógico que es novato en php.
Twitter: @JoakoM010