Foros del Web » Programando para Internet » PHP »

¿Cómo puedo hacer para eliminar emails repetidos?

Estas en el tema de ¿Cómo puedo hacer para eliminar emails repetidos? en el foro de PHP en Foros del Web. Código PHP: <?php if( $HTTP_POST_VARS [ "MailFrom" ] !=  "" ){ $handle  =  fopen ( "contacto.txt" , "r+" ); $_COOKIE [ 'email' ] =  "" ;  if( ...
  #1 (permalink)  
Antiguo 04/03/2009, 14:33
Avatar de Manuellama  
Fecha de Ingreso: noviembre-2006
Ubicación: Zafra, Extremadura, Spain, Spain
Mensajes: 174
Antigüedad: 17 años, 5 meses
Puntos: 10
¿Cómo puedo hacer para eliminar emails repetidos?

Código PHP:
<?php
if($HTTP_POST_VARS["MailFrom"] != ""){
$handle fopen("contacto.txt","r+");
$_COOKIE['email'] = "";
 if(
$handle){for ($linefgets($handle,4096); !feof($handle);$line fgets($handle,4096)){
        
        if (
$line ==$HTTP_POST_VARS["MailFrom"]){
        
$_COOKIE['email'] = "si";
        }
        }
    if (
$_COOKIE['email'] != "si"){
    
fwrite($handle,$HTTP_POST_VARS["MailFrom"],4096);
    }
}
    
fclose($handle);
}

?>

Ese es el código erróneo que tengo...no consigo hacer que un email no se repita...siempre acaba insertando una nueva linea con el email...¿como puedo hacer para que el email que mando desde flash no se repita? Es decir, que sólo me añada el mail cuando no esté en una linea del archivo ya escrita.

Gracias de antemano...
  #2 (permalink)  
Antiguo 04/03/2009, 14:37
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: ¿Cómo puedo hacer para eliminar emails repetidos?

Es mas facil hacer:

Código PHP:
<?php
$file 
file("contacto.txt");
if(!
in_array($_POST['MailFrom'])) {
  
//Inserto el e-mail
} else {
  
//ya existe
}
?>
  #3 (permalink)  
Antiguo 04/03/2009, 17:43
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 15 años, 11 meses
Puntos: 11
Respuesta: ¿Cómo puedo hacer para eliminar emails repetidos?

Hola,

Adhiero a Ronruby pero la línea del if debería quedar así:

Código PHP:
if( !in_array($_POST['MailFrom'],$file) ) { 
(Faltó el pajar)

Saludos,
  #4 (permalink)  
Antiguo 04/03/2009, 18:42
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: ¿Cómo puedo hacer para eliminar emails repetidos?

Ah disculpa, cuando lo escribi no me fije. ;)
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 21:23.