Foros del Web » Programando para Internet » PHP »

Redireccionar a otra página el darle al submit

Estas en el tema de Redireccionar a otra página el darle al submit en el foro de PHP en Foros del Web. Hola a tod@s No soy programador, soy diseñador gráfico y el caso es que una amiga me ha pedido que le haga una web corporativa ...
  #1 (permalink)  
Antiguo 09/03/2013, 09:01
 
Fecha de Ingreso: marzo-2013
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Redireccionar a otra página el darle al submit

Hola a tod@s
No soy programador, soy diseñador gráfico y el caso es que una amiga me ha pedido que le haga una web corporativa muy sencilla con su formulario en php.
Mis conocimientos de este lenguaje son nulos, así que consegui el codigo de un formulario muy sencillo, (que he probado y se que funciona).
Tengo el codigo html y el php en un mismo archivo (contacto_es.php) y lo que no consigo es que cuando linkes en el submit (enviar) me mande a la pagina (contacto_ok.html).
No quiero usar ni javascript, ni msquol...solo redireccionar.
Que tengo mal en el código?
Por favor coregirmelo...estoy desesperado!
Os cuelgo todo el codigo a continuación:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CLINICA :: Contacto</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?
if (!$_POST){
?>
<div id="maincontainer">
 <div id="header">
   <div id="logo"> </div>
        <div id="mainmenu">
				<ul id="navlist">
    			  <li><a href="inicio.html">INICIO</a></li>
                  <li><a href="doctora_es.html">EQUIPO HUMANO</a></li>
                  <li><a href="clinica_es.html">LA CLÍNICA</a></li>
                  <li><a href="situacion.html">SITUACIÓN</a></li>
                  <li id="active"><a href="contacto_es.php">CONTACTO</a></li>
				</ul>
        </div>
  </div>
<div id="maincontent">
<div id="menu_2">
<h1>TRATAMIENTOS</h1>
<ul id="submenu">
<li><a href="implantologia_es.html">IMPLANTOLOGÍA</a></li>
<li><a href="cirugia_es.html">CIRUGÍA</a></li>
<li><a href="periodoncia_es.html">PERIODONCIA</a></li>
<li><a href="endodoncia_es.html">ENDODONCIA</a></li>
<li><a href="ortodoncia_es.html">ORTODONCIA</a></li>
<li><a href="odontopedia_es.html">ODONTOPEDIATRÍA</a></li>
<li><a href="odontobios_es.html">ODONTOLOGÍA BIOLÓGICA</a></li>
<li><a href="protesis_es.html">PRÓTESIS</a></li>
<li><a href="estetica_es.html">ESTÉTICA DENTAL</a></li>
</ul>
	 </div>
 <div id="general">
<div id="img_cont"> </div> 
<div id="form">
<h1>FORMULARIO DE CONTACTO</h1>
<form id="form1" name="form1" method=post action="contacto_es.php">	
  
      <p><span class="label">Nombre</span>
        <input type="text" name="nom" id="nom" /></p>
      <p><span class="label">Apellidos</span>
       <input type="text" name="cognoms" id="cognoms" /></p>
      <p><span class="label">Dirección</span>
       <input type="text" name="adres" id="adres" /></p>
      <p><span class="label">Población</span>
     <input type="text" name="poblacio" id="poblacio" /></p>
     <p><span class="label">Provincia</span>
     <input type="text" name="provincia" id="provincia" /></p>
      <p><span class="label">Teléfono</span>
     <input type="text" name="telefon" id="telefon" /></p>
     <p><span class="label">E-mail</span>
     <input type="text" name="email" id="email" /></p>
     <p><span class="label2">Comentario</span>
     <textarea name="comentari" cols="30" rows="6" id="comentari"></textarea></p>
     <input type="submit" name="button" id="button" value="Enviar" />
      <input type="reset" name="button2" id="button2" value="Borrar" />
  </p>
  <p>
    <label for="button"></label>
    <label for="button2"></label>
    </p>
</form>
 </div>
  </div>   
	</div>
</div>
<?
}else{
$cuerpo="Formulario enviado\n";
$cuerpo.="Nombre" .$_POST["nom"]."\n";
$cuerpo.="Apellidos" .$_POST["cognoms"]."\n";
$cuerpo.="Dirección" .$_POST["adres"]."\n";
$cuerpo.="Población" .$_POST["poblacio"]."\n";
$cuerpo.="Provincia" .$_POST["provincia"]."\n";
$cuerpo.="Teléfono" .$_POST["telefon"]."\n";
$cuerpo.="E-mail" .$_POST["email"]."\n";
$cuerpo.="Comentario" .$_POST["comentari"]."\n";
mail("[email protected]","Formulario recibido de la web",$cuerpo);
echo'<META HTTP-EQUIV="Refresh" CONTENT="0;url=http://www.direccionparaelmensaje.com/contacto_ok.html"/>';
}
?>
</body>
</html>
  #2 (permalink)  
Antiguo 09/03/2013, 09:15
Avatar de DoctorHTML  
Fecha de Ingreso: marzo-2013
Mensajes: 20
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: Redireccionar a otra página el darle al submit

Código HTML:
Ver original
  1. <form id="form1" name="form1" method=post action="contacto_es.php">

Esta linea esta mal, si quieres que te vaya a contacto_ok.html tendria que ser action="contacto_ok.html" y aparte el method está mal puesto, seria method="post" le faltan las ""

Un saludo
  #3 (permalink)  
Antiguo 09/03/2013, 10:20
 
Fecha de Ingreso: marzo-2013
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Redireccionar a otra página el darle al submit

Gracias por la respuesta Doctor HTML.
Ya he visto que me habia olvidado las comillas en el method= "post". Ya lo he corregido, pero....
el action="contacto_es.php", creo que es correcto, mi problema esta en la línea del echo
Código PHP:
echo'<META HTTP-EQUIV="Refresh" CONTENT="0;url=http://www.direccionparaelmensaje.com/contacto_ok.html"/>'
La pagina "contacto_ok.html", es una simple pagina donde doy las gracias por rellenar el formulario, no está ahi el formulario.
Es eso lo que creo que está mal, porque cuando visualizo la pagina del formulario "contacto_es.php" en un navegador, me aparecen estos simbolos:

'; } ?>

No se que son, pero seguro que indican que algo está mal en el codigo.
  #4 (permalink)  
Antiguo 09/03/2013, 10:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Redireccionar a otra página el darle al submit

Cita:
Iniciado por axalsa Ver Mensaje
[...] porque cuando visualizo la pagina del formulario "contacto_es.php" en un navegador, me aparecen estos simbolos:

'; } ?>

No se que son, pero seguro que indican que algo está mal en el codigo.
¡Venga hombre, menuda hora que te dignas a dar información de valor!

¿Cómo pretendías que supiéramos eso siendo tan clave?

Le sugiero, antes de comenzar a programar, sea o no sea de su interés, aprenda a usar un foro técnico.

Un detalle tan importante como el que acabas de mencionar, y se agradece bastante, es suficiente para comenzar a deducir algo.

Es bastante probable que ni siquiera estés ejecutando PHP correctamente.

Intenta cambiar los <? por <?php a ver si es eso.

Aunque podría apostar, casi con total seguridad, que esa es la clave ya que el código que tienes es algo viejo y la versión que usas de PHP no lo es tanto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 09/03/2013, 10:45
 
Fecha de Ingreso: marzo-2013
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Redireccionar a otra página el darle al submit

Cita:
Iniciado por pateketrueke Ver Mensaje
¡Venga hombre, menuda hora que te dignas a dar información de valor!

¿Cómo pretendías que supiéramos eso siendo tan clave?
Lo siento mucho, ya he dicho que no soy programador...me veo en la situación de tener que hacer un favor haciendo esta web...entiendo que para vosotros estoy como pez fuera del agua....pero intento solucionar un problema que se me escapa...por eso pido ayuda e intento hacerlo de la manera mas correcta.
Llevo semanas haciendo probaturas con el código y no encuentro la solución.

Y a lo propuesto por ti, he cambiado los <? por <?php y me siguen apareciendo los simbolos.

Siento mi descomocimiento, y supongo que es una faena!
  #6 (permalink)  
Antiguo 09/03/2013, 10:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Redireccionar a otra página el darle al submit

Bien, sólo intenta ponerte en nuestros zapatos, no lo vayas a tomar mal.

Si yo tuviera un problema de diseño (no soy diseñador), o con un software de diseño para ser mas preciso, ¿que información necesitarías para entender el problema?

Dices que haces cambios y nada resulta, a riesgo de sonar bobo y hasta ofensivo, ¿sabes ejecutar php?

A diferencia del HTML no necesitas del navegador y nada más para ejecutar dicho código.

Necesitas un software que haga de servidor, y que ejecute dicho código por ti.

¿O acaso estás probando todo on-line?

Mejor explica paso a paso lo que has hecho desde que empezaste a intentar a solucionar el problema, de otra forma podríamos hasta pensar en el problema clásico del soporte técnico, dónde el verdadero problema es que el usuario ni siquiera a prendido su computadora y ya piensa que no sirve.

¿Se entiende?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 09/03/2013, 10:56
Avatar de DoctorHTML  
Fecha de Ingreso: marzo-2013
Mensajes: 20
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: Redireccionar a otra página el darle al submit

¿ Podrias enviarnos la parte de código de contacto_es.php ?
  #8 (permalink)  
Antiguo 09/03/2013, 11:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Redireccionar a otra página el darle al submit

Cita:
Iniciado por DoctorHTML Ver Mensaje
¿ Podrias enviarnos la parte de código de contacto_es.php ?
Lea bien el tema.

Cita:
Tengo el codigo html y el php en un mismo archivo (contacto_es.php) [...]
Es lo primero que se ha publicado.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 09/03/2013, 11:02
 
Fecha de Ingreso: marzo-2013
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Redireccionar a otra página el darle al submit

No, no lo tomo a mal, solo puntualizava y entiendo que para vosotros es un marrón. Pero para mi es una desesperación..levo 2 semanas para intentar solucionar esto.
Y sí, ya se que necesitas un servidor local, para ejecutarlo.
Yo me refiero a cuando "visualizo" la página del formulario en firefox(por ejemplo" me aparecen esos simbolos raros '; } ?>
A ver...te pongo en antecedentes
Parto de la base que en otra web que hice en su día, funciona este código php. La web está activa actualmente y llegan los mails. En esa página cuando le das al submit, se va a una página vacía donde sale la frase "Gracias por rellenar el formulario, se envió correctamente"...y justo es eso lo que quiero evitar...que se vaya a esa página en blanco...así que vi en vuestro foro que se puede redireccionar a otra página mediante
echo '<META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://www.direccionparaelmensaje.com/contacte_ok.html"/>';
y quiero saber si tengo el código bién.
Gracias
  #10 (permalink)  
Antiguo 09/03/2013, 11:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Redireccionar a otra página el darle al submit

Entiendo a la perfección tu problema, lo que no entiendo es cómo es que estás visualizando las cosas.

¿Es a través del servidor? ¿Cómo podemos saber, a ciencia cierta, que lo estás haciendo bien?

Sería bueno ver como es la URL que hay en tu navegador al momento de ejecutar todo, eso también ayudaría a ver un poco más.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 09/03/2013, 11:06
 
Fecha de Ingreso: marzo-2013
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Redireccionar a otra página el darle al submit

Cita:
Iniciado por DoctorHTML Ver Mensaje
¿ Podrias enviarnos la parte de código de contacto_es.php ?
Doctor HTML
El codigo que he colgado en el 1er mensaje es el código completo de "contacto_es.php"
  #12 (permalink)  
Antiguo 09/03/2013, 11:10
 
Fecha de Ingreso: marzo-2013
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Redireccionar a otra página el darle al submit

Cita:
Iniciado por pateketrueke Ver Mensaje
Entiendo a la perfección tu problema, lo que no entiendo es cómo es que estás visualizando las cosas.

¿Es a través del servidor? ¿Cómo podemos saber, a ciencia cierta, que lo estás haciendo bien?

Sería bueno ver como es la URL que hay en tu navegador al momento de ejecutar todo, eso también ayudaría a ver un poco más.
No lo ejecuto porque no tengo servidor local...parto de la base que en la otra web que hice, funciona.

Simplemente visualizo la página del formulario en el navegador desde el ordenador.

"Boton derecho sobre el achivo...Abrir con mozilla firefox"

Supongo que ando a tientas
  #13 (permalink)  
Antiguo 09/03/2013, 11:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Redireccionar a otra página el darle al submit

¡Bingo!

Ese es tu problema, si esperas que funcione localmente jamás sucederá, no sin un servidor para ejecutar php de manera local.

El formulario funciona, me consta, porque es HTML y el navegador entiende HTML, pero no PHP, ¿se entiende?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 09/03/2013, 11:27
Avatar de DoctorHTML  
Fecha de Ingreso: marzo-2013
Mensajes: 20
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: Redireccionar a otra página el darle al submit

Como bien dice el compañero, PHP necesita un servidor para que funcione, por lo tanto esta todo bien, solo te hace falta subirlo a un servidor...

Un saludo.
  #15 (permalink)  
Antiguo 09/03/2013, 11:30
 
Fecha de Ingreso: marzo-2013
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Redireccionar a otra página el darle al submit

Paketetrueke

No me entiendes tu a mi...no estoy intentandolo hacer funcionar.
Ya se que localmente NUNCA va a funcionar.

Como te he dicho. parto de la base que funciona.. porque en la web que hice en si dia y que está activa...funciona!

La cuestión es:
Porqué me salen esos simbolos "; } ?> " cuando lo visualizo en el navegador? si pongo
Código PHP:
Ver original
  1. echo'<META HTTP-EQUIV="Refresh" CONTENT="0;url=http://www.direccionparaelmensaje.com/contacto_ok.html"/>';

En cambio si pongo:
Código PHP:
Ver original
  1. echo"Gracias por rellenar el formulario. Se ha enviado correctamente.";
está todo bién. (Pero esto es lo que quiero evitar, ya que asi va a la página en blanco con el mensaje)

Lo que quiero saber es que tengo mal en la sentencia echo, que hace que aparezcan esos simbolos!
  #16 (permalink)  
Antiguo 09/03/2013, 11:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Redireccionar a otra página el darle al submit

Bueno, ¿ya lo subiste a la web?

Me gustaría ver eso con mis propios ojos.

La sentencia que indicas per-se no está mal, te lo decimos nosotros que nos dedicamos a programar php, así que por ahí no va el tiro.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 09/03/2013, 11:48
 
Fecha de Ingreso: marzo-2013
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Redireccionar a otra página el darle al submit

Paketetrueke
El caso es que no tengo la web terminada...y no tengo servidor al que subirla.
Así que para no marearos. En cuanto la termine y la suba miraré si funciona.porque ya no se ke más hacer.
Si no funciona...o me pego un tiro o hago un formulario puro y duro en html y que se apañen con el Outlook.
Os mantengo informados.
  #18 (permalink)  
Antiguo 09/03/2013, 15:12
 
Fecha de Ingreso: octubre-2012
Mensajes: 135
Antigüedad: 12 años, 2 meses
Puntos: 8
Respuesta: Redireccionar a otra página el darle al submit

echo'<META HTTP-EQUIV="Refresh" CONTENT="0;url=http://www.direccionparaelmensaje.com/contacto_ok.html"/>';

Prueba a cambiar por
echo"<META HTTP-EQUIV='Refresh' CONTENT='0;url=http://www.direccionparaelmensaje.com/contacto_ok.html'/>";

Pd puede ser que el content le falte un ' ?

Etiquetas: darle, formulario, html, página, redireccionar, submit
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 13:06.