Foros del Web » Programando para Internet » PHP »

Como saber si variable tiene una "@"

Estas en el tema de Como saber si variable tiene una "@" en el foro de PHP en Foros del Web. Hola, que tal? Estoy buscando un metodo que busque si la variable tiene una @ entre sus caracteres. Por ejemplo algo asi: Código PHP: <?php ...
  #1 (permalink)  
Antiguo 09/09/2011, 11:38
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Como saber si variable tiene una "@"

Hola, que tal?

Estoy buscando un metodo que busque si la variable tiene una @ entre sus caracteres.

Por ejemplo algo asi:

Código PHP:
<?php
$variable
="[email protected]";
if(
$variable //contiene una arroba en su string//)
{
 echo 
"identificado como email";
} else {
echo 
"no es identificado como email;
}
?>
Alguien tiene una idea?

Muchas gracias!
  #2 (permalink)  
Antiguo 09/09/2011, 11:48
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Como saber si variable tiene una "@"

Si quieres detectar la arroba puedes usar la función substr_count

Código PHP:
Ver original
  1. <?php
  2. $variable = "[email protected]";
  3. if (substr_count($variable, '@') == 1) {
  4.     echo "identificado como email";
  5. } else {
  6.     echo "no es identificado como email";
  7. }

Si tienes una versión reciente de PHP (5.2.0+) y quieres validar que sea un email puedes utilizar filter_var:

Código PHP:
Ver original
  1. <?php
  2. $variable = "[email protected]";
  3. if (filter_var($variable, FILTER_VALIDATE_EMAIL)) {
  4.     echo "identificado como email";
  5. } else {
  6.     echo "no es identificado como email";
  7. }

También puedes usar expresiones regulares etc... Saludos
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 09/09/2011, 14:27
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: Como saber si variable tiene una "@"

Gracias por tu aporte!

Pero ahora tengo otro problema, este es mi codigo:

Código PHP:
Ver original
  1. <?php
  2. $busqueda="[email protected]";
  3.  
  4. function conectarse($host,$usuario,$password,$BBDD){
  5.    $link=mysql_connect($host,$usuario,$password) or die (mysql_error());
  6.    mysql_select_db($BBDD,$link) or die (mysql_error());
  7.    return $link;
  8. }
  9.  
  10. if (substr_count($busqueda, '@') == 1)
  11. {
  12.     $link=conectarse("localhost","usuario","contraseña","base_datos");
  13.     $sql = "select nombre, apellido, correo from usuarios where correo = '$busqueda'";
  14.     $sql = mysql_query($sql, $link);
  15.         if ($rs=mysql_fetch_array($sql)==NULL){//SI LA CONSULTA NO RECIBE DATOS
  16.             echo "No hay nadie con ese email.";
  17.         }else{//SI LA CONSULTA RECIBE DATOS
  18.                 echo    "<p>".$rs['nombre']. " " .$rs['apellido']. "</p><br />";
  19.  
  20.         }
  21. } ?>

El problema esta cuando entra a este IF:
Código PHP:
Ver original
  1. if ($rs=mysql_fetch_array($sql)==NULL){
  2.     echo "No hay nadie con ese email.";
  3. }else{
  4.     echo    "<p>".$rs['nombre']. " " .$rs['apellido']. "</p><br />";  
  5. }

Ya que hace que el array avance a la siguiente posicion y si es que existe una persona con ese mail, no entra al ELSE y no la muestra.

Alguna idea para solucionar esto?

Gracias!
  #4 (permalink)  
Antiguo 09/09/2011, 14:37
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Como saber si variable tiene una "@"

Usa la función mysql_num_rows a ver cuántos registros se encuentran con ese email. Si es cero echo "No hay nadie con ese email."; sino lo que vayas a imprimir. Saludos
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 09/09/2011, 21:26
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 8 meses
Puntos: 297
Respuesta: Como saber si variable tiene una "@"

Nada, escribí algo pero no tenía lógica XD
  #6 (permalink)  
Antiguo 10/09/2011, 10:30
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 15 años
Puntos: 3
Respuesta: Como saber si variable tiene una "@"

Puedes usar substr http://php.net/manual/es/function.substr.php

Etiquetas: variables, usuarios
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.
Respuesta

SíEste tema le ha gustado a 1 personas




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