Foros del Web » Programando para Internet » PHP »

Funciones en enlace!

Estas en el tema de Funciones en enlace! en el foro de PHP en Foros del Web. Saludos, Quisiera hacer unos enlaces del tipo: http://web.com/loquesea.php?page=descargas Pero todo en la misma pagina. Veran, imaginemos que tengo una pagina llamada loquesea.php y en ella ...
  #1 (permalink)  
Antiguo 28/06/2008, 05:25
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Funciones en enlace!

Saludos,

Quisiera hacer unos enlaces del tipo:
http://web.com/loquesea.php?page=descargas

Pero todo en la misma pagina.

Veran, imaginemos que tengo una pagina llamada loquesea.php y en ella un pequeño menu (home,descargas,fotos...)

Yo quiero mostrarlo todo en la misma pagina.
Mediante funiciones

Código PHP:
function home {

echo 
"contenido home";
}

function 
descargas {

echo 
"contenido descargas";
}
... 
Lo que quiero es que a la hora de poner el menu, quedara asi;

<a href='loqusea.php?page=home' title='Home'> Home</a>
<a href='loqusea.php?page=descargas' title='Descargas'> Descargas</a>

Lo que pasa es que si hago click, me dice que esa pagina no existe y logico, porque no existe.
Como ven mi error es que en el enlace, intento llamar a las funciones, pero no hace efecto.
De que manera lo podria hacer?¿?

Muchas gracias,
  #2 (permalink)  
Antiguo 28/06/2008, 05:50
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 17 años, 2 meses
Puntos: 14
Respuesta: Funciones en enlace!

mira esto
Código PHP:
<?
require ("../../au/aut_config.inc.php"); // incluir configuracion.
$pag=$_SERVER['PHP_SELF'];  // el nombre y ruta de esta misma página.

function cabeceraHTML(){
echo <<< HTML
<html>
<head>
<title>AVANCYL-Gestión Productos</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
 .botones {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9pt; color: #FFFFFF; background-color: #0099FF; border-color: #000000 ; border-top-width: 1pix; border-right-width: 1pix; border-bottom-width: 1pix; border-left-width: 1pix}
 .imputbox {  font-size: 10pt; color: #000099; background-color: #FFFFFF; font-family: Verdana, Arial, Helvetica, sans-serif; border: 1pix #000000 solid; border-color: #000000 solid; font-weight: normal}
 A:VISITED  { font-weight: normal; color: #0000CC; TEXT-DECORATION:none; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt}
 A:LINK     { font-weight: normal; color: #0000CC; TEXT-DECORATION:none; font-family: Verdana, Arial, Helvetica, sans-serif; border-color: #33FF33 #66FF66; clip:  rect(   ); font-size: 10pt}
 A:ACTIVE   { font-weight: normal; color: #FF3333; TEXT-DECORATION:none; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt}
 A:HOVER    { font-weight: normal; color: #0000CC; font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: normal; text-decoration: underline; font-size: 10pt}
-->
</style>
</head>
<body bgcolor="#FFFFFF">
HTML;
}
if (isset(
$_GET['error'])){

$error_accion_ms[0]= "No se puede borrar el nombre, debe existir por lo menos uno.<br>Si desea borrarlo, primero cree uno nuevo.";
$error_accion_ms[1]= "No has introdcido algun valor porfavor revisa los datos.";
$error_accion_ms[2]= "Passwords no coinciden.";
$error_accion_ms[3]= "El Nivel de Acceso ha de ser numérico.";
$error_accion_ms[4]= "El nombre ya está registrado.";
$error_accion_ms[5]= "El nombre no puede estar vacio";

$error_cod $_GET['error'];
echo 
"<div align='center'>$error_accion_ms[$error_cod]</div><br>";

}

$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die("No se pudo conectar a la Base de datos") or die(mysql_error());
mysql_select_db("$sql_db") or die(mysql_error());

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

$nombre_consulta mysql_query("SELECT ID,nombre,descripcion FROM productos") or die("No se pudo realizar la consulta a la Base de datos");

cabeceraHTML();

echo <<< HTML
<table width="500" border="1" cellspacing="0" cellpadding="4" bordercolor="#CCCCCC" align="center">
  <tr>
    <td colspan="4" bgcolor="#0099FF">
      <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b><font color="#FFFFFF">.:
        Gesti&oacute;n de productos :.<br />
            GRUPO AVANCYL</font></b></font><br>
        </div>
    </td>
  </tr>
  <tr bgcolor="#00CCCC">
    <td width="14%">
      <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">ID
        </font></b></div>
    </td>
    <td width="30%">
      <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Nombre Producto
        </font></b></div>
    </td>
    <td width="24%">
      <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Descripcion
        </font></b></div>
    </td>
    <td width="32%" bgcolor="#FF0000">
    <div align="center"><font color="#FFFFFF"><a href="$pag?accion=nuevo">Registrar producto</a></font></div></td>
  </tr>

HTML;

while(
$resultados mysql_fetch_array($nombre_consulta)) {

echo <<< HTML
<tr>
    <td width="14%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados
[ID]</font></div></td>
    <td width="30%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados
[nombre]</font></div></td>
    <td width="24%" bgcolor="#FFFFEA"><div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">$resultados
[descripcion]</font></div></td>
    <td width="32%" bgcolor="#FF0000"> 
      <div align="center"><a href="$pag?accion=borrar&id=$resultados
[ID]"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Borrar</font></a><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
        | <a href="$pag?accion=nivel&id=$resultados
[ID]">Modificar</a></font></div>
    </td>
  </tr>
HTML;
}
echo 
"</table>";
mysql_free_result($nombre_consulta);
mysql_close();
}

if (isset(
$_GET['id'])){
 
if (
$_GET['accion']=="borrar"){
$nombres_consulta mysql_query("SELECT ID FROM productos") or die(mysql_error());
$total_registros mysql_num_rows ($nombres_consulta);
mysql_free_result($nombres_consulta);

if (
$total_registros == 1){
header ("Location: $pag?error=0");
exit;
}

$id_borrar$_GET['id'];
mysql_query("DELETE FROM productos WHERE id=$id_borrar") or die(mysql_error());
mysql_close();

header ("Location: $pag");
exit;

}
if (
$_GET['accion']=="editarnivel"){

$id=$_POST['id'];
$nivelnuevo=$_POST['nuevonivelacceso'];
$nombrenuevo=$_POST['nuevonombre'];

if (
$nivelnuevo==""){
header ("Location: $pag?accion=nivel&id=$id&error=1");
exit;
}

mysql_query("UPDATE productos SET descripcion='$nivelnuevo', nombre='$nombrenuevo' WHERE ID=$id") or die(mysql_error());
mysql_close ();
header ("Location: $pag");
exit;
}



if (
$_GET['accion']=="nuevo"){

cabeceraHTML();

echo <<< HTML
<form method="post" action="$pag?accion=hacernuevo">
<table width="399" border="1" cellspacing="0" cellpadding="4" align="center">
    <tr>
      <td colspan="2" height="30" bgcolor="#0099FF">
        <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">.:
          Registrar Producto :.<br />
            GRUPO AVANCYL</font></b></div>
      </td>
    </tr>
    <tr bgcolor="#FFFFCC">
    <td>
        <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Nombre de producto : </font></div>
      </td>
      <td width="192"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
         <input name="nombrenombre" size="20" class="imputbox">
        </font></b>
        </td>
    </tr>
    <tr bgcolor="#FFFFCC">
      <td width="185">
        <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Descripcion : </font></div>
      </td>
      <td width="192"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
        <textarea name="nivelacceso"></textarea>
        </font></b></td>
    </tr>
    <tr bgcolor="#FFFFCC">
    <td>
            <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Correo del administrador del producto : </font></div>
      </td>
      <td width="192"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
         <input name="correoadmin" size="20" class="imputbox">
        </font></b>
        </td>
    <tr bgcolor="#FFFFCC">
      <td colspan="2" height="40">
        <div align="center">
          <input type="submit" name="Submit" value="Registrar" class="botones" >
        </div>
      </td>
    </tr>
  </table>
</form>
HTML;
}
if (
$_GET['accion']=="hacernuevo"){
$nombre=$_POST['nombrenombre'];
$descripcion=$_POST['nivelacceso'];
$correo=$_POST['correoadmin'];
if (
$nombre=="" or $descripcion=="" or $correo=="") {
header ("Location: $pag?accion=nuevo&error=1");
exit;
}
$nombres_consulta mysql_query("SELECT ID FROM productos WHERE nombre='$nombre'") or die(mysql_error());
$total_encontrados mysql_num_rows ($nombres_consulta);
mysql_free_result($nombres_consulta);

if (
$total_encontrados != 0) {
header ("Location: $pag?accion=nuevo&error=4");
exit;
}
mysql_query("INSERT INTO `avancyl`.`productos` (`nombre` ,`descripcion` ,`f_alta` ,`correoadmin`)VALUES ('$nombre', '$descripcion', NOW( ) , '$correo');") or die(mysql_error());
mysql_close();

header ("Location: $pag");
exit;
}
?>
</BODY>
</HTML>
No esta acaabdo no hay errores pero me faltan varias columnas para mostrar y mejorarla un pokito
  #3 (permalink)  
Antiguo 28/06/2008, 09:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Funciones en enlace!

Te recomiendo leas en las FAQs del foro el tema de desarrollo de webs modulares.

Saludos.
  #4 (permalink)  
Antiguo 28/06/2008, 11:03
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: Funciones en enlace!

djsos, gracias por mostrarme ese código, le he estado echando una ojeada, y al final, despues de estar un rato practicando, me ha salido, he conseguido hacer lo que queria.

Lo reducí a esto:

Código PHP:
<?php

$pag
=$_SERVER['PHP_SELF']; 

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

echo 
"<a href='$pag?accion=home'>Home</a>";

}

if (
$_GET['accion']=="home"){    


echo 
"<a href='$pag?accion=descargas'>Descargas</a>";

}
if (
$_GET['accion']=="descargas"){                   
echo 
"ahsdiuhsadiu houhaduohsaodihsaudhsadiu hdsa";



}
?>
Ahora solo me falta implementarlo ya bien en la pagina. Eso es solo una prueba!

GatorV, gracias por en enlace, mirandolo estoy

De nuevo, un saludo y gracias a los dos
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:02.