Asp., php, cgi...?

Tengo una duda sobre qué tipo de programación utilizar.
Tengo un alojamiento basado en windows y estoy con una página en la que aparece un formulario HTM donde se piden datos al cliente y los envía.
Me gustaría hacer algo a nivel de servidor para que el envío sea totalmente transparente para el usuario, y sólo le aparezca una página confirmando que ha enviado los datos, con un enlace para cerrar.
Actualmente lo tengo en javascript y además de abrirse el correo, la alerta de seguridad y demás, se queda la pantalla con la información que ha escrito el usuario. Ahí te dejo el código:
<form name="form1" method="post" enctype="text/plain" action="mailto:[email protected]" onSubmit="http://www.psicoeduca.com/rpta_informacion.htm">
He probado a copiar y pegar código, modificando cosas, pero nada. Consigo ejecutar el formulario en HTM, pero cuando hace la llamada al ASP o PHP lo único que consigo es que muestre en otro HTM el código ASP o PHP que he creado en Dreamweaver.
¿Hago algo mal? Creo que evidentemente sí, pero no sé qué es. Tampoco sé si tengo que tener algo más instalado además del Dreamweaver.
De todos modos, soy muy muy novato y no sé qué hacer... Ni cómo hacerlo

9 Respuestas

Respuesta
1
Acá tienes un código con página de respuesta en PHP que saque de una página que es donde suelo sacar algunas cosas que yo no se. Espero te ayude
Este formulario de envío consta de dos archivos: el formulario en cuestión en HTML y un archivo en PHP que se encargará de realizar el envío.
Este primero será la página HTM o HTML que contiene el formulario, llámala como quieras:
1/ Inserta este código dentro de las etiquetas <body> y </body>
<form METHOD="GET" action="envio.php">
<center>
<table border="1" width="100%" id="table246" cellspacing="0" cellpadding="0" style="border-width: 0">
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 5px">Votar:</p>
<p style="margin-top: 5px; margin-bottom: 5px">
<select size="1" name="votar">
<option>Excelente</option>
<option>Buena</option>
<option>No está mal</option>
<option>Malísima</option>
</select></p></td>
</tr>
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 5px">Nombre:</p>
<p style="margin-top: 5px; margin-bottom: 5px">
<input TYPE="text" NAME="nombre" SIZE="33"></p></td>
</tr>
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 5px">E-mail:</p>
<p style="margin-top: 5px; margin-bottom: 5px">
<input TYPE="text" NAME="email" SIZE="33" value="@"></p></td>
</tr>
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 5px">URL:</p>
<p style="margin-top: 5px; margin-bottom: 5px">
<input TYPE="text" NAME="url" SIZE="67"></p></td>
</tr>
<tr>
<td>
<p style="margin-top: 0; margin-bottom: 5px">Comentarios:</p>
<p style="margin-top: 5px; margin-bottom: 5px">
<textarea rows="2" name="comentarios" cols="76"></textarea></p></td>
</tr>
</table>
</center>
<p align="center"> <input TYPE="submit" VALUE="ENVIAR"> <input TYPE="reset" VALUE="LIMPIAR">
</p>
</form>
Partes modificables de este código:
En esta línea hace referencia al archivo PHP que ejecutará el formulario:
<form METHOD="GET" action="envio.php">
Por lo demás, puedes añadir o modificar lo que quieras.
Este será el archivo PHP al cual hace referencia la página del formulario anterior.
2/ Inserta este contenido en una página y guárdala con este nombre, envío.php
<?
/* aqui se incializan variables de PHP */
if (phpversion() >= "4.2.0") {
if ( ini_get('register_globals') != 1 ) {
$supers = array('_REQUEST',
'_ENV',
'_SERVER',
'_POST',
'_GET',
'_COOKIE',
'_SESSION',
'_FILES',
'_GLOBALS' );
foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
} else {
if ( ini_get('register_globals') != 1 ) {
$supers = array('HTTP_POST_VARS',
'HTTP_GET_VARS',
'HTTP_COOKIE_VARS',
'GLOBALS',
'HTTP_SESSION_VARS',
'HTTP_SERVER_VARS',
'HTTP_ENV_VARS'
);
foreach( $supers as $__s) {
if ( (isset($$__s) == true) && (is_array( $$__s
) == true) ) extract( $$__s, EXTR_OVERWRITE );
}
unset($supers);
}
}
/* DE AQUI EN ADELANTE PUEDES EDITAR EL ARCHIVO */
if($email=="")
{
/* reclama si no se ha rellenado el campo email en el formulario */
echo "No ingresaste la dirección de correo electrónico";
exit();
}
/* aquí se especifica la pagina de respuesta en caso de envío exitoso */
$respuesta="respuesta.htm";
// la respuesta puede ser otro archivo, en incluso estar en otro servidor
/* AQUÍ ESPECIFICAS EL CORREO AL CUAL QUEREIS QUE SE ENVÍEN LOS DATOS
Del formulario, si quieres enviar los datos a más de un correo,
los puedes separar por comas */
$para ="[email protected]";
/* AQUI ESPECIFICAS EL SUJETO DEL EMAIL */
$sujeto = "Titulo del formulario";
/* aquí se construye el encabezado del correo*/
$encabezado = "From: $nombre <$email>";
$encabezado .= "\nReply-To: $email";
$encabezado .= "\nX-Mailer: PHP/" . phpversion();
/* con esto se captura la IP del que envío el mensaje */
$ip=$REMOTE_ADDR;
/* las siguientes líneas arman el mensaje */
$mensaje .= "VOTAR = $votar\n";
$mensaje .= "NOMBRE = $nombre\n";
$mensaje .= "TU EMAIL = $email\n";
$mensaje .= "TU URL= $url\n";
$mensaje .= "COMENTARIOS = $comentarios\n";
$mensaje .= "TU DIRECCION IP = $ip\n";
/* aqui se intenta enviar el correo, si no se
tiene éxito se da un mensaje de error */
if(!mail($para, $sujeto, $mensaje, $encabezado))
{
echo "<h1>No se pudo enviar el Mensaje</h1>";
exit();
}
else
{
/* aqui redireccionamos a la pagina de respuesta */
echo "<meta HTTP-EQUIV='refresh' content='1;url=$respuesta'>";
}
?>
Partes modificables de este código:
Hemos puesto en rojo las partes que se pueden modificar pero tenéis que tener muy en cuenta que debéis de poner los nombres de los campos del formulario exactamente tal y como los pongáis los vuestros. Por ejemplo, os ponemos una de las primeras que hay en el código de arriba:
$mensaje .= "VOTAR = $votar\n";
Los nombres de los los campos del formulario son los de la derecha, deben de tener exactamente el mismo nombre que pongáis a dicho campo en el formulario y no pongáis espacios ni símbolos diferentes a las letras, números o guión bajo (_).
OJO: si los pones en minúsculas, deberás de ponerlas en el archivo PHP del mismo modo o no funcionará.
El de la izquierda es el titulo del campo, este no a de ser exactamente el mismo nombre o titulo si no queréis, podéis poner lo que queráis.
En esta línea se pone la página de respuesta cuando se envía el formulario:
$respuesta="respuesta.htm";
Respuesta
1
Para poder utilizar páginas dinámicas que se ejecutan del lado del servidor (ASP y/o html), debes tener primero que nada instalado un servidor.
Windows XP trae en su cd de instalación el IIS (internet information server), el cual es un servidor que te permite utilizar páginas asp, mientras que para php, tienes que ademas, instalar el modulo de php, que lo bajas de http://www.php.net
A continuación te paso un enlace donde te enseñan a programar en ASP, y como instalar dicho servidor y configurar todo:
http://www.soloasp.com.ar/articulo.asp
Para que envíe un mail, es necesario utilizar una función especifica del lenguaje.
Para ASP podes encontrar la explicación de envíos de mail aquí:
http://www.desarrolloweb.com/articulos/937.php
ejemplo:
http://www.soloasp.com.ar/vereje.asp?eje=25
y, aqui para php:
http://www.desarrolloweb.com/faq/75.php
Respuesta
1
Valep,
Para mandar un mail con asp
Esto debe ir en un fichero llamado sugerencia.asp
<FORM METHOD="POST" ACTION="sugerencia.asp">
tu email : <INPUT NAME="email" TYPE="text" SIZE="20" MAXLENGTH="50"><BR>
Comentario:<BR> <TEXTAREA NAME="el_mensaje" ROWS="4" COLS="30"></TEXTAREA><BR>
<INPUT TYPE="Submit" VALUE="Enviar">
</FORM>
<%
emaildestino = 
el_mensaje = Trim(Request.Form("email"))& " te a enviado: " & Trim(Request.Form("el_mensaje"))
Set Mail = Server.CreateObject ("CDONTS.Newmail")
Mail.From = Trim(Request.Form("email")) 
Mail.To = "PON_AQUI_TU_MAIL"
Mail.Subject = "sugerencia de tu sitio"
Mail.Body = el_mensaje
if (Mail.Send) Response.write("Enviado ok")
else Response.write("Fallo de envio")
Set Mail = Nothing
%>

Esto que hace
Lo que hace esta página es que muestra un formulario, donde le pide el mail y un comentario, el usuario lo rellena y cuando le da a aceptar se envía a la dirección de correo PON_AQUI_TU_MAIL
Para poder ejecutar código ASP o PHP, el servidor donde tienes alojada la página, debe soportarlo. Es decir, que en las especificaciones del servidor te lo tiene que poner, "Soporte php" o "soporte ASP" o algo por el estilo.
Si no lo soporta, la única forma de que te manden información es con el mailto: que tienes puesto, el cual cuando le des a mandar te abrirá el gestor de correo.
Informate de si tu servidor acepta php o asp y me comentas
Respuesta
1
Tanto php como asp necesitan motores independientes del servidor de páginas web.
El servidor web se configura para hacer una llamada al motor correspondiente cuando le solicitan una página php o asp.
Si tu alojamiento no dispone de estos motores (por lo visto no) no podrás utilizar php o asp.
El servidor web podría tener habilitado la ejecución de cgi, que son también programas independientes del servidor web, pero mucho alojamientos no lo permiten ya que les obligaría a tomar muchas medidas de seguridad para protegerse de cgis maliciosos.
Asegurate de que el alojamiento de que dispones te permite el uso de php, asp o cgi. Si no lo permite, los recursos que te quedan son javascript (el que tienes ahora) o buscar algún servicio gratuito que te permita mandar emails. Debería haber unos cuantos, así como hay chats, foros, etc., pero ahí si que ya no puedo ayudarte.
Respuesta
1
Lo primero que tienes que ver es cual es el componente de envío de mail de tu servidor. Supongamos que cdont y vas a usar asp. Hace lo siguiente, mandame un mail a [email protected] que te paso el asp para envío, no es complicado, solo seteas variables en los campos de texto y unos parámetros al submit. Mandame el mail que te paso una demo comentada así ya te queda como plantilla para trabajos posteriores. Avisame si el formulario esta en un swf porque eso ya es otra cosa distinta.
Respuesta
1
Voy a responderte del punto de vista de la teoría porque mis labores como webmaster no están orientadas a la programación sino al diseño.
Tanto PHP como ASP son lenguajes que trabajan del lado del servidor. Esto es que por un lado el host debe tener dichos lenguajes instalados para que la acción se complete. Tu cuestión no debiera plantearse qué necesitás en tu equipo sino cómo acceder a los recursos que el server puede ofrecerte.
Lamento no serte de mucha utilidad en esta cuestión.
Respuesta
1
El nombre tendría que ser .php
PHP es lo más recomendable.
Respuesta
1
SI, necesitas algo más aparte del dreamewaver.
Necesitas un servidor web, que ejecute ese asp, php, cgi.
Personalmente te recomendaría que instalaras apache con php, la información la podes sacar de
http://ar2.php.net/manual/es/install.windows.php
Sino, podes instalar IIS que es el que viene por defecto en windows, y ahí vas a poder "correr" asp.
Bueno.. te doy una básica explicación:
Cuando vos ejecutas una página .htm de tu disco rígido, el sistema de archivos de tu máquina, entrega todo lo que lee directamente al navegador de internet (internet explorer, netscape, mozilla, etc).
Por lo tanto, si la página es ASP, PHP, JSP, o lo que sea, siempre veras el "código fuente".
Lo que estas necesitando ahora entonces, es un "interprete" de ese asp, cgi, php que se "coloque en el medio" del disco rígido, y cuando vea un asp, php, jsp, etc lo "ejecute" y entregue los resultados...¿Se entiende?
Bien.. eso es APACHE o IIS con soporte de php, cgi, etc
Cualquier duda (si la explicación necesita ampliación o simplemente no te sirvió), la seguimos!
Lo que he optado es por instalar IIS para poder programar en ASP. No descarto PHP en un futuro nomuy lejano, ya que intentaré hacer algo de portales. Muchas gracias.
Respuesta
1
Si se ve que eres un novato, pero es normal y todos pasamos por ahí cuando comenzamos algo...
Quiero comentarte que tendrías que trabajar con ASP, si el servidor es Windows, o en PHP si el servidor es LINUX.
"mailto:" es una función para enviar un correo, pero a través de un administrador de correos, no desde la web, razón por la cual hay problema...
También funcionan los CGI, que son mucho más sencillos de manejar... Necesitas descargar el CGI desde la web, colocarlo en el servidor con ciertos permisos y lograrás lo que quieres.
Investiga en la red acerca de ASP FORM

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas