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