Tengo este form para introducir los datos para el newsletter:
Código PHP:
<table width="80%" align="center" border="0" cellspacing="0" cellpadding="0" class="formulario_contacto_li2">
<form name="form_newsletter" method="post" action="comprobarregistro.php">
<tr>
<td colspan="2" class="formulario_contacto_li2" style="width:60%; height:auto"><h2 class="formulario_contacto_h2">Subscribirse al Newsletter</h2></td>
<td class="formulario_contacto_li2" style="width:40%;height:auto; vertical-align: bottom"><span class="campos_obligatorios">* Campos obligatorios</span></td>
</tr>
<tr class="formulario_contacto_ul" height="auto">
<td class="formulario_contacto_li" style="width:20%; height:auto"><label for="nombre" class="formulario_contacto_label">Nombre: </label></td>
<td class="formulario_contacto_li" style="width:30%; height:auto"><input type="text" name="nombre_newsletter" id="nombre_newsletter" class="formulario_contacto_input" placeholder="Vicky Armas" required /></td>
<td class="formulario_contacto_li" style="width:50%; height:auto; padding-bottom:70px" rowspan="3">
<span class="validacion_formato" style="text-align:center">Recibirá un enlace en el eMail proporcionado para verificar su dirección de correo electrónico</span>
</td>
</tr>
<tr class="formulario_contacto_ul" height="auto">
<td class="formulario_contacto_li" style="width:20%; height:auto"><label for="email" class="formulario_contacto_label">eMail: </label></td>
<td class="formulario_contacto_li" style="width:40%; height:auto"><input type="email" name="email_newsletter" class="formulario_contacto_input" placeholder="[email protected]" required /></td>
</tr>
<tr class="formulario_contacto_ul" height="auto">
<td class="formulario_contacto_li" style="width:20%; height:auto"><label for="ciudad" class="formulario_contacto_label">Ciudad: </label></td>
<td class="formulario_contacto_li" style="width:40%; height:auto"><input type="text" name="ciudad_newsletter" id="ciudad_newsletter" class="formulario_contacto_input" required /></td>
</tr>
<tr height="30px">
<td style="width:20%; height:auto"></td>
<td style="width:40%;height:auto;padding-right:1%;padding-top:5px;" align="right">
<button class="formulario_contacto_boton_submit" type="submit" style="padding:5px">Enviar</button>
<a href="#" class="cerrarmodalNewsletter"><button class="formulario_contacto_boton_reset" type="reset" style="padding:5px">Cancelar</button></a>
</td>
<td style="width:40%; height:auto"></td>
</tr>
</form>
<iframe name="pp" style="position:absolute;top:-1500px;"></iframe>
</table>
Código PHP:
$email = trim($_POST['email_newsletter']);
$nombre = urlencode($_POST['nombre_newsletter']);
$ciudad = urlencode($_POST['ciudad_newsletter']);
$total = mysqli_query($mysqli, "SELECT * FROM newsletter_tabla WHERE email_newsletter = '$email'");
$row_total = mysqli_fetch_assoc($total);
$totalRows_total = mysqli_num_rows($total);
$conteo = $totalRows_total;
if($conteo==0){
$mysqli->query("insert into newsletter_tabla(nombre_newsletter, email_newsletter, ciudad_newsletter, fecha_newsletter) values('$nombre', '$email', '$ciudad', NOW())");
echo 'perfecto';
}else{
echo 'Su eMail ya estaba subscrito al Newsletter';
}
que la línea del action del form sea:
Código PHP:
<form name="form_newsletter" method="post" action="NL-process.php" onsubmit="return comprobar()">
Lo que ocurre es que necesito que la los datos de 'comprobar.php' sean la función 'comprobar()' que debería estar en la misma página del form y que al final de comprobar si el email no existe deje que el form continúe con el submit.
Tengo una idea de cómo cambiar algunas cosas, por ejemplo el php comprobar() sería algo así:
Código PHP:
$email = trim($_POST['email_newsletter']);
$nombre = urlencode($_POST['nombre_newsletter']);
$ciudad = urlencode($_POST['ciudad_newsletter']);
$total = mysqli_query($mysqli, "SELECT * FROM newsletter_tabla WHERE email_newsletter = '$email'");
$row_total = mysqli_fetch_assoc($total);
$totalRows_total = mysqli_num_rows($total);
$conteo = $totalRows_total;
if($conteo==0){
echo 'AQUI ES DONDE PIENSO QUE DEBERÍA DEJAR CONTINUAR AL SUBMIT DEL FORM';
}else{
echo 'Su eMail ya estaba subscrito al Newsletter';
}
---- Meter el code de 'comprobar.php' en la función 'comprobar()' en la misma página del form
---- Y que si no existe el email, deje correr el submit a NL-process.php que es la página que envía el email al usuario para su confirmación.
Tengo la idea de qué es lo que tengo que hacer.... pero no consigo llevarlo a cabo.
PD: En realidad no se si estoy en el foro adecuado... me pregunto si mi duda es de php o de js o de ambas!!! (nunca acierto con el foro
![Pensando](http://static.forosdelweb.com/fdwtheme/images/smilies/scratchchin.gif)