Foros del Web » Programando para Internet » PHP »

formulario envia datos por mail y a la data base

Estas en el tema de formulario envia datos por mail y a la data base en el foro de PHP en Foros del Web. hola, les comento que estoy haciendo un formulario que ademas de enviar los datos a la base de datos tambien los envia por mail, esto ...
  #1 (permalink)  
Antiguo 11/04/2008, 07:48
Avatar de regumiau  
Fecha de Ingreso: julio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
formulario envia datos por mail y a la data base

hola, les comento que estoy haciendo un formulario que ademas de enviar los datos a la base de datos tambien los envia por mail, esto lo estoy haciendo con PHP y MySQL, el problema esta que me falta un script que una la orden de envio tanto a la base de datos como al mail, ya que o me envia solo a la base de datos o solo al mail.
Esto sucede cuando le coloco en el input name=enviar, este se manda a la base de datos, y si no coloco el name=enviar este se manda solo a el mail.

este es el codigo:

<?
if (!$_POST['enviar']) { //Si no vienen datos muestro el formulario
?>
<?}
if($_POST[enviar]) {
require 'config.php' ;
function quitar($texto) {
$texto = trim($texto) ;
$texto = htmlspecialchars($texto) ;
$texto = str_replace(chr(160),'',$texto) ; # Elimina espacios que no pueden ser borrados por trim()
return $texto ;
}
$nick = quitar($_POST[nick]) ;
$email = quitar($_POST[email]) ;
$con = mysql_query("select count(id) from usuarios where nick='$nick' or email='$email'") ;
if(mysql_result($con,0,0)) {
echo 'El nick ya existe en la base de datos o ya está registrado el email. Haz click <a href="javascript:history.back()">aquí</a> para regresar.' ;
}
else {
$fecha = date("Ymd") ;
$contrasena = md5(md5(quitar($_POST[contrasena]))) ;
$sexo = quitar($_POST[sexo]) ;
mysql_query("insert into usuarios (fecha,nick,contrasena,email,sexo,ip) values ('$fecha','$nick','$contrasena','$email','$sexo',' $_SERVER[REMOTE_ADDR]')") ;
echo 'Has sido registrad@. Haz click aquí <a href="index.php">aquí</a> para regresar a la página principal.' ;
}
}
else {
?>
<script>
function revisar() {
if(formulario.nick.value.length < 3) {
alert('El nick debe contener por lo mínimo 3 caractéres.') ;
return false ;
}
if(formulario.contrasena.value.length < 8) {
alert('La contraseña debe contener por lo mínimo 8 caractéres.') ;
return false ;
}
if(formulario.contrasena.value != formulario.c_contrasena.value) {
alert('Las contraseñas no son correctas.') ;
return false ;
}
if(!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(formulario.email.value)) {
alert('Debes poner un email válido.') ;
return false ;
}
}
</script>
<?
//pregunta si ha recibido variables
if(!$HTTP_POST_VARS)
{
echo'
<form name="formulario" method="post" action="reg.php" onsubmit="return revisar()">
<b>Nick:</b><br>
<input type="text" name="nick" maxlength="20"><br>
<b>Contraseña:</b><br>
<input type="password" name="contrasena" maxlength="10"><br>
<b>Confirmar contraseña:</b><br>
<input type="password" name="c_contrasena" maxlength="10"><br>
<b>Email:</b><br>
<input type="text" name="email" maxlength="40"><br>
<b>Sexo:</b><br>
<select name="sexo">
<option value="0">Masculino
<option value="1">Femenino
</select><br><br>
<input type="submit" name="enviar" value="Registrar">
</form>
</div>';
}
else
{ //contenido del mail formado de las variables recibidas del formularios
//como son nombre, email y coment
$conte="el sexo: ".$sexo."\n";
$cabeceras = "From: ".$nick."\n";
$cabeceras .= "Content-Type: text/html; charset=windows-1255\n";
//funcion con la que vamos a enviar el email
//formato mail("correo","Asunto",$Contenido) en caso que fuera variable el contenido
//sino sería mail("correo","Asunto","E-mail")

mail("[email protected],$email","E-mail",$conte,$cabeceras);

}
?>
<?
}
?>



Les agradeceria muchisimo si es que pueden ayudarme con este escript.


Regumiau
WebDesign
  #2 (permalink)  
Antiguo 11/04/2008, 08:57
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: formulario envia datos por mail y a la data base

Hola regumiau. Bienvenido al foro.

Para hacer preguntas es preferible utilizar el foro que mejor se adapte a tu duda, así podrán ayudarte más usuarios.

Muevo tu mensaje al foro de PHP desde Bienvenida a Foros del Web.

Saludos,
  #3 (permalink)  
Antiguo 11/04/2008, 10:13
Avatar de regumiau  
Fecha de Ingreso: julio-2005
Mensajes: 17
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: formulario envia datos por mail y a la data base

buscando por el foro solo he encontrado 2 links que tocan el tema pero ambos quedan incompletos, sin dar solucion a esta cuestion, ellos son:

http://www.forosdelweb.com/f18/enviar-formulario-3-correos-base-datos-403460/
http://www.forosdelweb.com/f18/correo-bases-datos-249288/

Ademas estos links ya tienen un par de años, por lo tanto me parece ideal tratar de solucionar este tema de una vez. Si encuentro la solucion la colocare aqui inmediatamente asi queda resuelta la cuestion.


Regumiau
WebDesign
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 09:05.