Hola ojala puedan ayudarme he creado un formulario que envia los datos a un Mail y funciona perfecto y ante de enviarlo comprueba que se hallan llenado los datos obligatorio y si no es asi muestra un mensaje.... todo funciona muy bien....
pero kisiera saber que le tengo que modificar para que no haga la comprobacion de si lo envio al Mail que compruebe si lo envio al servidor a una base de datos mysql y si es asi que el funciomanieto sea el mismo... es decir si no se envio al servidor que muestre los errores y eso..........
Este es el codigo del Scritp
Código PHP:
<?php if (array_key_exists('enviar',$_POST)) {
$para = 'correo@loquesea';
$asunto = 'contacto de visitante';
// eliminar caracteres escape de array POST
if (get_magic_quotes_gpc()) {
function stripslashes_deep($value) {
$value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value);
return $value;
}
$_POST = array_map('stripslashes_deep', $_POST);
}
//Lista de archivos que se esperan
$esperado = array('nombre', 'ciudad', 'correo', 'tipo_contacto', 'texto');
//Configurar archivos obligatorios
$obligatorio = array('nombre', 'ciudad', 'correo', 'tipo_contacto', 'texto');
//Crear un array vacÃ*o para cualquier archivo perdido
$perdido = array();
//Procesar las variables $_POST
foreach ($_POST as $key => $value) {
//asignar a variable temporalmente y vacÃ*a espacio blanco si no un array
$temp = is_array($value) ? $value : trim($value);
//si vacÃ*o y obligatorio, añadir a array $perdido
if (empty($temp) && in_array($key, $obligatorio)) {
array_push($perdido, $key);
}
//En otro caso, asignar a una variable del mismo nombre que $key
elseif (in_array($key, $esperado)) {
${$key} = $temp;
}
}
//Seguir solo si todos los campos requeridos están OK
if (empty($perdido)) {
// procesar las variales $_POST
$nombre = $_POST['nombre'];
$ciudad = $_POST['ciudad'];
$correo = $_POST['correo'];
$tipo_contacto = $_POST['tipo_contacto'];
$texto = $_POST['texto'];
// crear mensaje
$mensaje = "Nombre: $nombre\n\n";
$mensaje .= "Ciudad: $ciudad\n\n";
$mensaje .= "Correo: $correo\n\n";
$mensaje .= "Tipo de contacto: $tipo_contacto\n\n";
$mensaje .= "Texto: $texto\n\n";
// limitar tamaño de linea a 70 caracteres
$mensaje = wordwrap($mensaje, 70);
// enviarlo
$enviarMail = mail ($para, $asunto, $mensaje);
if ($enviarMail) {
//$perdido deja de ser necesario si el email es enviado, asÃ* que lo destruimos con unset
unset($perdido);
}
}
}
?>
Y esto lo que esta en el Form
<form id="form1" name="form1" method="POST" action="">
<p align="center" class="textos_cabecitas">SISTEMA DE CONTACTO</p>
<p align="center" class="textos_cabecitas">
<?php if ($_POST && isset($perdido) && !empty($perdido)) {
?>
<p class="textos_contacto_fallo"> Por favor, completa los campos que se indican. </p>
<?php
}
elseif ($_POST && !$enviarMail) {
?>
<p class="textos_contacto_fallo">Lo siento, ha habido un problema enviando tu mensaje.</p>
<?php
}
elseif ($_POST && $enviarMail) {
?>
<p class="textos_contacto_ok">Su mensaje ha sido enviado. Gracias por sus comentarios.</p>
<?php }?>
</p>
<table width="395" border="0" align="center">
<tr bgcolor="#990000" class="textos_standar_blanco">
<td colspan="2">Por favor deja tus datos personales</td>
</tr>
<tr class="textos_standar_negro">
<td width="179">Nombre y apellido</td>
<td width="206"><label>
<?php if (isset($perdido) && in_array('nombre', $perdido)) { ?>
<span class="textos_contacto_obligatorio">Por favor, escriba su Nombre</span><?php } ?>
<input type="text" name="nombre" id="nombre"
<?php if (isset($perdido)) {
echo 'value=" '.htmlentities($_POST['nombre']).' " ';
}
?>
/>
</label></td>
</tr>
<tr class="textos_standar_negro">
<td>Ciudad</td>
<td><label> <?php if (isset($perdido) && in_array('ciudad', $perdido)) { ?>
<span class="textos_contacto_obligatorio">Por favor, escriba su ciudad</span><?php } ?>
<input type="text" name="ciudad" id="ciudad"
<?php if (isset($perdido)) {
echo 'value=" '.htmlentities($_POST['ciudad']).' " ';
}
?>
/>
</label></td>
</tr>
<tr class="textos_standar_negro">
<td>Correo electrónico</td>
<td><label> <?php if (isset($perdido) && in_array('correo', $perdido)) { ?>
<span class="textos_contacto_obligatorio">Por favor, escriba su Correo</span>
<?php } ?>
<input type="text" name="correo" id="correo"
<?php if (isset($perdido)) {
echo 'value=" '.htmlentities($_POST['nombre']).' " ';
}
?>
/>
</label></td>
</tr>
<tr class="textos_standar_negro">
<td>Tipo de contacto</td>
<td><label> <?php if (isset($perdido) && in_array('tipo_contacto', $perdido)) { ?>
<span class="textos_contacto_obligatorio">Por favor, seleccione una opcion</span><?php } ?>
<select name="tipo_contacto" id="tipo_contacto">
<option>Queja</option>
<option>Felicitación</option>
<option>Observacion</option>
<option>Sugerencia</option>
<option>Crítica</option>
<option>Falla de página</option>
</select>
</label></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr bgcolor="#990000" class="textos_standar_blanco">
<td colspan="2">Sobre qué deseas mandarnos tu correo
<label></label></td>
</tr>
<tr>
<td colspan="2"><label> <?php if (isset($perdido) && in_array('texto', $perdido)) { ?>
<span class="textos_contacto_obligatorio">Por favor, escriba su mensaje</span><?php } ?>
<textarea name="texto" id="texto" cols="45" rows="5"><?php if (isset($perdido)) {
echo htmlentities($_POST['texto']);
}?></textarea>
</label></td>
</tr>
<tr>
<td colspan="2"><label>
<input type="submit" name="enviar" id="enviar" value="Enviar" />
</label></td>
</tr>
</table>
<p> </p>
<p> </p>
</form>