# optimiza por que tienes una pagina para el alta y la actualizacion que es newsletter-xxxx # y en email-marketing-modificar tambien usasa para tu newsletter y para el resto de las newsletter # $id_empresa = 181; introduces los ususarios para la cuenta publicidad@javiergrimalt.net correspondiente al id_empresa 181 # id_suscriptores no lo uses desde el email ya que puedes repetir emails en las distintas listas de usuarios # y el ususario tendria que cambiar sus datos varias veces. $alta = $_GET['al']; $altapst = $_POST['alta']; if($alta == 1){ $titulo = "Suscripción"; //verifica en este caso que no haya ningun usuario igual }else{ if($altapst == 1){ $titulo = "Suscripción"; $accion = "alta"; }else{ $titulo = "Modificar"; require_once('./inc/confirma_sesion_newsletter.inc.php'); } } require_once('./estadisticas/inc/db.inc.php'); $usuario = $_SESSION["usuario"]; $pass = $_SESSION["pass"]; $id_envio = $_SESSION["ide"]; if($id_envio == ""){ # es decir si no vienes de algun email enviado desde el que se recibe el id_envio para sacar el id_empresa $id_empresa = 181; $id_suscriptores = 8; # saca el id_particular del id_empresa y del id_suscriptores, ya que no viene de ningun email $sqlemp = "SELECT `id_particular` FROM particulares WHERE `id_empresa` = '".$id_empresa."' AND `id_suscriptores` = '".$id_suscriptores."' AND `email` = '".$usuario."' AND `password` = '".$pass."'"; $rsemp = mysql_query ($sqlemp) or die ("Invalid query sqlemp"); while($temp = mysql_fetch_array($rsemp)){ $id_particular = $temp[id_particular]; }//end while //fin saca el id_empresa del id_envio }else{ #diferenciar en este caso si son de mi n # saca el id_empresa del id_envio si viene del alguna email que pasa el id_envio # si no vienes del email sino vienes por otro camino no tienes id_empresa y a de ser 181 $sqlemp = "SELECT `id_empresa`,`id_particular` FROM envios WHERE `id_envio` = '".$id_envio."'"; $rsemp = mysql_query ($sqlemp) or die ("Invalid query sqlemp"); while($temp = mysql_fetch_array($rsemp)){ $id_empresa = $temp[id_empresa]; $id_particular = $temp[id_particular]; }//end while //fin saca el id_empresa del id_envio //saca el id_particular //aqui sacas un solo id_particular, el ultimo encontrado, pero luego el update guarda en todos los emails and password que encuentra $sqlpart1 = "SELECT `id_suscriptores` FROM particulares WHERE `email` = '".$usuario."' AND `password` = '".$pass."' AND `id_empresa` = '".$id_empresa."' AND `id_particular` = '".$id_particular."'"; $rspart1 = mysql_query ($sqlpart1) or die ("Invalid query sqlpart1"); while($temp = mysql_fetch_array($rspart1)){ $id_suscriptores = $temp[id_suscriptores]; }//end while //fin saca el id_particular }//end if (!$id_envio) //datos particulares $email = $_POST['email']; $nombre = $_POST['nombre']; $apellidos = $_POST['apellidos']; $password = $_POST['password']; $sexo = $_POST['sexo']; $edad = $_POST['edad']; $pais = $_POST['pais']; $provincia = $_POST['provincia']; $ciudad = $_POST['ciudad']; $direccion = $_POST['direccion']; $postalcod = $_POST['postalcod']; switch($accion){ case "alta": $id_empresa = 181; $id_suscriptores = 8; // esta es el id de la lista - Mis suscriptores - solo para altas ya que se inscriben en mi web //comprueba si esta el email en la bds $numusers = 0; $sqlisuser = "SELECT COUNT(*) AS isuser FROM particulares WHERE email = '".$email."' AND id_empresa = '".$id_empresa."'"; $rsisuser = mysql_query ($sqlisuser) or die ("Invalid query from Isuser"); while($is = mysql_fetch_array($rsisuser)){ $numusers = $is[isuser]; } if($numusers == 0){ //cuando se dan de alta si que es id_suscriptor 8 por que se inscriben a mi newsletter $sqlinserta = "INSERT INTO `particulares` ( `id_empresa` , `id_suscriptores` , `email` , `password` , `nombre` , `apellidos` , `sexo` , `edad` , `pais` , `provincia` , `ciudad` , `direccion` , `postalcod`) " . "VALUES ('".$id_empresa."','".$id_suscriptores."','".$email."','".$password."','".$nombre."','".$apellidos."','".$sexo."','".$edad."','".$pais."','".$provincia."','".$ciudad."','".$direccion."','".$postalcod."')"; $inserta = mysql_query ($sqlinserta) or die ("Invalid query inserta"); //resgistro completado $msg = "registrado"; }else{ //$msg = "yaregistrado"; $registrado = 1; }//end if $numusers ==0 break; case "update": //$id_particular = $_POST['idp']; # condicion de si es id_suscriptores 8 actulaiza el 8 sino todos sin id_suscriptores //update del los datos del suscriptor para emails repetidos no en id_suscriptores=8 $sqlupdate = "UPDATE `particulares` SET `email` = '".$email."', `password` = '".$password."', `nombre` = '".$nombre."', `apellidos` = '".$apellidos."', `sexo` = '".$sexo."', `edad` = '".$edad."', `pais` = '".$pais."', `provincia` = '".$provincia."', `ciudad` = '".$ciudad."', `direccion` = '".$direccion."', `postalcod` = '".$postalcod."' WHERE `id_empresa` = '".$id_empresa."' AND `email` = '".$usuario."' AND `password` = '".$pass."'"; $update = mysql_query ($sqlupdate) or die ("Invalid query Update2"); $msg = "actualizado"; break; default: //sacar los datos en los formularios $sqlpart = "SELECT * FROM particulares WHERE `id_particular` = '".$id_particular."' AND `id_empresa` = '".$id_empresa."' AND `id_suscriptores` = '".$id_suscriptores."'"; $rspart = mysql_query ($sqlpart) or die ("Invalid query particular"); while($part = mysql_fetch_array($rspart)){ $email = $part[email]; $password = $part[password]; $nombre = $part[nombre]; $apellidos = $part[apellidos]; $sexo = $part[sexo]; $edad = $part[edad]; $pais = $part[pais]; $provincia = $part[provincia]; $ciudad = $part[ciudad]; $direccion = $part[direccion]; $postalcod = $part[postalcod]; }//end while $part //var selected segun base de datos if($sexo){ switch($sexo){ case NULL: $selected0 = 'selected="selected"'; $selected1 = ""; $selected2 = ""; break; case "hombre": $selected0 = ""; $selected1 = 'selected="selected"'; $selected2 = ""; break; case "mujer": $selected0 = ""; $selected1 = ""; $selected2 = 'selected="selected"'; break; }//end switch error }//end if $sexo }//end switch $accion if($alta == 1){ $accion = "alta"; //verifica en este caso que no haya ningun usuario igual }else{ $accion = "update"; } ?>