Creacion página web de descargas.

Iniciado por Gogeto, 12 Abril 2011, 22:10 PM

0 Miembros y 1 Visitante están viendo este tema.

Gogeto

Hola.

Quiero crear una página web de enlaces a descargas (con esto del cierre de webs habrá que colocarla en otro pais, pero weno eso ya es otro problema jeje) pero no me gusta el estilo de foro de cara al usuario, estaba pensando algo más como seriesyonkis (perdon por dar el nombre de la web, pero no creo que sea publicidad sino más bien un ejemplo).

Lo que me interesa es hacer la web en php con un diseño modular (se llama asi cuando ciertas partes de la web se mantienen siempre y solo se cambia una parte cuanddo se bucea en los menus, no?),  con un sistema de usuarios y base de datos mysql para los aportes.

Una vez dicho lo que quiero crear, mi peticion:
Qué manuales recomendais para leer? estoy estudiando informática, pero no hemos hecho absolutamente nada de PHP aun) necesito aprender sobre interaccion php-mysql, programacion de php modular y de sistemas de usuarios.
Utilizais algun editor o alguna base preescrita para sistemas de usuarios o programacion modular o programais de cero?

Sobre apache y demás instalaciones en el servidor no necesito ayuda

Muchisimas gracias.


[EDIT]  He pensado en utilizar algún CMS, pero no cumplen todo lo que quiero implementar en mi web, así que prefiero escribirila yo mismo y poder añadir las cosas que necesite. [/EDIT]

lnvisible

La biblia para hacer paginas web es http://www.w3schools.com/  ::)
Esta en ingles  :-\ , pero es lo mejor del mundo  ;) al menos para empezar.
También deberías mirar los temas pegados que hay por aqui, son muy buenos.

Gogeto

#2
muchisimas gracias colega. El idioma no es problema, mientras sea ingles o castellano, mas alla de ahi no llego jaja

[Edito]
He estado mirando los manuales de php.
Para crear usuarios en una página y un sistema de login/logout, lo que se hace es crear una sesion al login y guardar todos los datos que queramos conservar en una base de datos y recargarlos cada vez que vuelva a abrirse la sesion, no?
O acaso normalmente se utiliza un método mejor? En la web no he visto una descripcion clara de si se hace asi o no.

Gogeto

Sobre el tema de programacion modular, me he estado informando sobre el tema, y he visto que con un código como este:

index.php:

<?php
    
include("includes/top_page.php");
?>
<div id="wrapper">     
    <div id="header">      
        <? include("includes/header.php"); ?>        
    </div>  
    <div id="menu">
            <? include("includes/menu.php"); ?>
        </div> 
    <div id="contenido">
        <? include("includes/pages.php"); ?>        
        <br style="clear:both;" />
    </div>
    <div id="footer">          
        <? include("includes/footer.php"); ?>        
    </div>
</div>
<? include("includes/bottom_page.php"); ?>

pages.php:
<?php
if (!isset($_GET['page'])) {
    include(
"pages/homepage.php");
} else {
    include(
"pages/".$_GET['page'].".php");
}
?>



El problema de esto es que la url se vería:
www.#########.###/index.php?page=nombre_del_archivo_sin_extension
Seria posible que se viera de la siguiente forma?:
www.#########.###/nombre_del_archivo_sin_extension



jdc

Lo de la forma de la url miralo cl final, por ahora algunos errores. Así como estas quedas expuesto a que te incluyan archivos externos o de la misma página (rfi o lfi) busca acerca de ambas vulnerabilidades y aprovechas de aprender.

En la página donde vas a incluir los módulos define una variable cualquiera y luego en los módulos pregunta "está definida la variable que definí?" si está definida incluyes sino muestras un error.

Creo que algo más era pero se me olvido :p

jdc

Aps eso aprovechando que estas aprendiendo acostumbrate desde ya a poner <?php en vez de <? Nada más, te ahorrarás problemas. Siempre comenta lo que vayas haciendo y eso, lee sobre buenas prácticas en programación en general, te ayudara a ser más ordenado y trabajar de una manera más limpia

50l3r

Hola Gogeto

Te pongo un ejemplo

Código (php) [Seleccionar]
<?php session_start();

@$modulo trim($_GET['modulo']);

if(!isset($_SESSION['nombre_sesion'])){$modulo=1;}elseif(isset($_SESSION['pixel']) && $modulo==1){$modulo=2;}elseif(trim($modulo)==""){$modulo=2;}
require_once("config.php");
require_once("funciones/basedatos/conectar.php");mysql_conectar();
require_once("funciones/usuarios/logs.php");

if($modulo!="" && is_numeric($modulo)){
$datos mysql_select_dataone(menus,"id","WHERE id = '".$modulo."'");
if($datos['id']!=$modulo){$modulo=2;}
}else{
$modulo 2;
}
$restriccion mysql_select_dataone(menus,"visible_cliente,visible_repartidor,visible_delegacion,visible_destinatario","WHERE id = '".$modulo."'");
if($restriccion['visible_cliente']==&& $_SESSION['tipo_usuario']==0){$modulo=2;}
if($restriccion['visible_repartidor']==&& $_SESSION['tipo_usuario']==1){$modulo=2;}
if($restriccion['visible_delegacion']==&& $_SESSION['tipo_usuario']==2){$modulo=2;}
if($restriccion['visible_destinatario']==&& $_SESSION['tipo_usuario']==3){$modulo=2;}

define('modulo_mismatch',$modulo);
$comprobacion mysql_select_dataone(menus,"*","WHERE id = '".$modulo."'");
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="es" xmlns="http://www.w3.org/1999/xhtml">
<?php require_once("funciones/estructura/head.php");head(""); ?>
<body>
<div id="contenedor">
<?php require_once("funciones/estructura/cabecera.php");cabecera(); ?>
<div id="subcontenedor">
<?php require_once("./modulos/".substr($comprobacion['script'],0,30)); ?>
</div>
<?php logs(); ?>
</div>
</body>
</html>


Aqui se tiene una tabla en mysql que contiene el nombre del menu, el script que se lanza, y su titulo, es una diea ya que esto depende ed amas archivos como conexion de db, configuracion de constantes...etc que no se ven en el codigo pero es para que te hagas una idea

Con esa estructura, como bien dices, yo poseo una pagina propia de descargas y subidas y mira como queda:


Tu puedes subir ficheros y compartirlos con los demas usuarios, tienes tu portal donde personalizarlo, imagen principal, fondo... y un panel de noticias para ver quien subio que o que hizo.


Es simplemente como te lo curres

Gogeto

muchas gracias, me hago a la idea, lo que necesito es código como ese de ejemplo, para una vez veo una funcion que no comprendo, buscar que hace y como, me resulta mucho mas facil aprender asi que leyendo las funciones sin verlas utilizadas

50l3r

Lo mejor es programar desde cero las tuyas para ir comprendiendo de verdad que hace cada linea.