Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/03/2009, 07:03
thepancher
 
Fecha de Ingreso: noviembre-2008
Mensajes: 67
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta Problema on include

Hola a todos... Estoy haciendo una web muy simple, y para ordernarme un poco decidi hacer las distintas paginas separadas, pero mostrarlas a todas en un mismo index.php, y anda barbaro, pero en la de contacto, cuando envio el formulario es como si ignorara el codigo PHP para enviar/comprobar el formulario... (la comprobacion la hice en javascript, pero tambien en PHP en caso de q el usuario tenga desactivado el javascript...) pero ni me toma las acciones del formulario y cuando doy 'enviar' no pasa nada...

Por ej: la web es personal y tiene una pagina de inicio, acerca de..etc. y contacto.

Esas paginas yo las tengo separadas cada una de ellas en un PHP, pero lo unico q contiene cada uno de esos archivos es lo q muestra esa pagina, ya q todo es visualizado con el index.... algo asi:

Código PHP:
<?php

define
(PAGEStrue);

?>
<html>
<head></head>
<body>

<?php

/**
 * las paginas se obtienen por GET, Ej: index.php?link=contacto
 */
$link = isset($_GET['link']) ? $_GET['link'] : '';

/**
 * En la funcion display() se fija si existe el archivo de la pagina a la q se quiere 
 * include() ... si el archivo no existe, imprime un error...
 *
 * Por Ej. en el caso de 'contacto' incluye el archivo: contacto.php
 */
switch ($link) {
    case 
'experiencia'display('experience');
    break;
    case 
'servicios'display('services');
    break;
    case 
'historia'display('history');
    break;
    case 
'ubicacion'display('location');
    break;
    case 
'contacto'display('contact');
    break;
    default: 
display('home');

?>

</body>
</html>
Y el archivo contacto.php es algo asi:

Código PHP:
<?php

/**
 * En el index.php esta la declaracion define(PAGES, true); 
 * Entonces cuando se incluye la pagina en el index, primero se fija si esta 
 * definida la constante PAGES para mostrar la pagina... Esto lo hice para q la 
 * pagina contacto.php no se muestre si intentamos verla directamente 
 * desde el script, por ej: dominio.com/contacto.php ya 
 * que solo quiero que se muestre desde el index...
 */
if (!defined('PAGES') {
    exit;
}
else { 
?>
    <p><!-- CONTENIDOS EN HTML --></p>
<?
}

?>
Creo que me explico hasta aca... El tema es q en la pagina de contacto, dentro del 'else', donde van los contenidos como explike arriba... Tengo el formulario... y ahi mismo tambien tengo el codigo que envia el formulario, por ej:

Código PHP:
<?php

if ($submit) {
    
// Aca se toman los valores del $_POST, se comprueba si los campos estan correctos, y manda el mail... si los campos estan mal, larga error para q se complete bien el formulario...
}

?>
Ahi esta el problema... no se porke el formulario no funciona... no comprueba, no manda ni nada... :(
Y mal hecho no esta, porke lo probe poniendolo directamente en el index y anda, pero cuando lo pongo en la pagina de contacto.php que se muestra a traves de include() ahi es cuando no me funciona...

Espero que alguien me entienda y me ayude!

saludos...