Tenho um pequeno sistema onde, você cria listas para envio de emails marketing, para fazer o cadastro de emails, primeiro tem que selecionar a lista no qual deseja fazer o envio, os emails cadastrados são vinculados a lista escolhida. Existe um bloqueio para que não haja duplicidade de emails no BD, mas não é possível cadastrar o mesmo e-mail em listas diferentes;
Fiz o sistema utilizando ferramentas do Dreamweaver, sei que não é bom programar assim, mais estou com o tempo muito curto;
Esse é o código que estou usando para o cadastro:
<?php require_once('Connections/projeto1.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
//------------------------------Inserir manualmente com sucesso----------------------------//-------
$MM_flag="MM_insert";
if (isset($_POST[$MM_flag])) {
$MM_dupKeyRedirect="email_nao_cadastrado.php";
$loginUsername = $_POST['email'];
$LoginRS__query = sprintf("SELECT email FROM email WHERE email=%s", GetSQLValueString($loginUsername, "text"));
mysql_select_db($database_projeto1, $projeto1);
$LoginRS=mysql_query($LoginRS__query, $projeto1) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if($loginFoundUser){
$MM_qsChar = "?";
//append the username to the redirect page
if (substr_count($MM_dupKeyRedirect,"?") >=1) $MM_qsChar = "&";
$MM_dupKeyRedirect = $MM_dupKeyRedirect . $MM_qsChar ."requsername=".$loginUsername;
header ("Location: $MM_dupKeyRedirect");
exit;
}
}
//----------------------------------------//-------------------------------------------//------------
//----------------------Condição email já cadastrado-----------------------------//-------------------
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
$insertSQL = sprintf("INSERT INTO email (id_lista, email) VALUES (%s, %s)",
GetSQLValueString($_POST['id_lista'], "int"),
GetSQLValueString($_POST['email'], "text"));
mysql_select_db($database_projeto1, $projeto1);
$Result1 = mysql_query($insertSQL, $projeto1) or die(mysql_error());
$insertGoTo = "email_cadastrado.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
//Sei que é nessa parte acima que devo fazer a alteração, mais não sei como montar o código aqui.
<form method="post" name="form2" action="<?php echo $editFormAction; ?>">
<table align="center">
<tr valign="baseline">
<td nowrap align="right"><span class="style10">Email:</span></td>
<td><input type="text" name="email" value="" size="32"></td>
<td><input type="submit" value="Cadastrar"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> </td>
<td> </td>
<td> </td>
</tr>
</table>
<input type="hidden" name="id_lista" value="<?php echo $row_rs_listas['id']; ?>">
<input type="hidden" name="MM_insert" value="form2">
</form>
Não sei como criar um condição que não permita cadastro de um mesmo email em uma lista, mais que permita o mesmo email em uma lista diferente. Alguém tem alguma dica ou um material que me ajude a fazer essa alteração??
Pergunta
gsq_queiroz
Tenho um pequeno sistema onde, você cria listas para envio de emails marketing, para fazer o cadastro de emails, primeiro tem que selecionar a lista no qual deseja fazer o envio, os emails cadastrados são vinculados a lista escolhida. Existe um bloqueio para que não haja duplicidade de emails no BD, mas não é possível cadastrar o mesmo e-mail em listas diferentes;
Fiz o sistema utilizando ferramentas do Dreamweaver, sei que não é bom programar assim, mais estou com o tempo muito curto;
Esse é o código que estou usando para o cadastro:
Não sei como criar um condição que não permita cadastro de um mesmo email em uma lista, mais que permita o mesmo email em uma lista diferente. Alguém tem alguma dica ou um material que me ajude a fazer essa alteração??
Editado por gsq_queirozLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.