Formulario Php y servidores locales
3 seguidores
Hola muy buenas a todos.
Tengo un formulario en Php que envía un mail al destinatario. Pero... aun no tengo acceso al servidor y ni siquiera sé si permite esta tecnología...
Lo que quiero es probar en mi ordenador todas estas cosas y no consigo hacerlo con un servidor local tipo apache.
¿Alguien podría aclararme como? ¿Voy por buen camino?
Estudio de diseño
El Desavio Creativo
www.eldesaviocreativo.es
ponchi
Hombre con esos datos que das es prácticamente imposible ayudar. Has instalado el apache ya en tu ordenador, para hacerlo puedes hacerlo a travez del Mamp (si usas mac) o Xamp (si usas windows). SI ya lo tienes instalado quizá´te falle algo del código, si lo puedes copiar y pegar en esa página podremos ver si hay algún problema.
Por otro lado desarrollar una web sin saber dónde se va a alojar es un poco arriesgado porque si tu usas php pero el cliente contrata un servidor que no tiene php use luego lo tendrás que hacer de nuevo.
Michaellaspalmas
No se puede probar sin más el formulario en local host.Ni mamp, wamp etc. Tienes que instalar un servidor de correo (un servidor smtp)en tu ordenador. Sin eso no funcionara.
mads_creativo
Ok. Doy mas información.
ESTE ES EL CODIGO QUE TENGO EN CONTACTAR.HTML
<form action="validacion.php" method="post">
<table width: 100%;" border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td></td>
<td>Todos los campos son obligatorios:</td>
</tr>
<tr>
<td>Nombre:</td>
<td><input name="nomb" size="35" maxlength="50" type="text"></td>
</tr>
<tr>
<td>Apellidos:</td>
<td><input name="apel" size="35" maxlength="50" type="text"></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input name="corr" size="35" maxlength="100" type="text"></td>
</tr>
<tr>
<td>Su mensaje:</td>
<td><textarea name="mens" cols="50" rows="5" wrap="soft"></textarea></td>
</tr>
<tr>
<td></td>
<td>
<table width: 100%;" border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 10%;"><input name="reset" value="Borrar datos" type="reset"></td>
<td style="width: 10%;"><input name="submit" value="Enviar datos" type="submit"></td>
<td style="width: 80%;"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</form>
Y ESTE EN EL ARCHIVO VALIDACION.PHP
<?php
function is_email($Addr) {
$p = '/^[a-z0-9!#$%&*+-=?^_`{|}~]+(\.[a-z0-9!#$%&*+-=?^_`{|}~]+)*';
$p.= '@([-a-z0-9]+\.)+([a-z]{2,3}';
$p.= '|info|arpa|aero|coop|name|museum)$/ix';
return preg_match($p, $Addr);
} // is_email
$error=0;
if (!empty($submit)) {
if(!(empty($nomb) || empty($apel) || empty ($corr) || empty($mens))) {
if (is_email($corr)) {
if(strlen($nomb) < 51 && strlen($apel) < 51 && strlen($corr) < 101 && strlen($mens) <1000) {
$mensaje="$nomb $apel\n$corr\n$mens";
$mensaje=htmlspecialchars($mensaje); //
$mensaje=stripslashes($mensaje);
if(mail("mads.creativo@gmail.com", "Mensaje de $nomb $apel desde el Formulario", "$mensaje")) {
?>
<title>Validacion</title>
OK. Su mensaje se ha enviado correctamente.
<?php
}
else {
$error=1;
?>
ERROR: Su mensaje no se ha podido enviar por un problema en el servidor.
<?php
}
}
else {
$error=1;
?>
ERROR: EL tamaño del mensaje no puede ser superior a 1000 caracteres.<br><br>
<?php
}
}
else {
$error=1;
?>
ERROR: El e-mail no es correcto.<br><br>
<?php
}
}
else {
$error=1;
?>
ERROR: Todos los campos son obligatorios.<br><br>
<?php
}
if ($error)
{
?>
<!-- Idea tomada de http://www.pc-cuadernos.com/magazine/introduccion-a-php/ -->
<form>
<input type="button" value="Volver al formulario"
onclick="javascript:history.back()">
</form>
<!-- Consejo de seguridad, visible sólo para usuarios sin JavaScript: -->
<noscript>Utilice el BOTON ATRAS del navegador para volver</noscript>
<?php
}
}
else {
?>
ERROR: Para enviar un mensaje acceda a <a href="contactar.php">contactar</a>
<?php
}
?>
Después no se donde tengo que pegarlo y me voy a la carpeta "Apache Software Foundation/Apache 2.2/htdocs
Es correcto lo que estoy haciendo.
Muchas gracias.