Foros del Web » Programando para Internet » PHP »

extraer texto de una cadena

Estas en el tema de extraer texto de una cadena en el foro de PHP en Foros del Web. Estoy haciendo un script para registrar usuarios en una BD el nombre de usuario y el email son unicos, al validar el registro no quiero ...
  #1 (permalink)  
Antiguo 09/10/2006, 10:39
 
Fecha de Ingreso: abril-2005
Mensajes: 100
Antigüedad: 19 años
Puntos: 0
extraer texto de una cadena

Estoy haciendo un script para registrar usuarios en una BD el nombre de usuario y el email son unicos, al validar el registro no quiero usar mas querys para comprobar si ya existe el nick o el email, como la tabla es innoDB me devolvera un error de que ya esta duplicado tipo:

Error 1062: Duplicate entry 'el_usuario' for key 2

o

Error 1062: Duplicate entry '[email protected]' for key 2

lo que me interesa es poder extraer el texto entre comillas y luego comprobar si tiene una @ la cadena extraida, para poder indicarle al usuario que es lo que ya existe para que lo cambie
  #2 (permalink)  
Antiguo 09/10/2006, 11:16
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
En este caso, lo que te puede ayudar es la funcion explode().

Aunque no queda claro como estas validando que el usuario ya existe.

Saludillos.
  #3 (permalink)  
Antiguo 09/10/2006, 11:21
 
Fecha de Ingreso: julio-2003
Ubicación: Colombia
Mensajes: 591
Antigüedad: 20 años, 9 meses
Puntos: 7
Este script mira si la cadena tiene "@", en caso de que la tenga , extraerá lo que está antes de la arroba. Se puede acceder con $nick[0];


Espero que la idea sea esa.

Código PHP:
if(strstr ($cadena,'@'))
{
$nick explode("@"$cadena);
echo 
$nick[0];
}
else
echo 
"No es una direccion de correo válida"
Chaop!
  #4 (permalink)  
Antiguo 09/10/2006, 12:49
 
Fecha de Ingreso: abril-2005
Mensajes: 100
Antigüedad: 19 años
Puntos: 0
tengo un formulario de registro y un script que valida todos los campos del formulario, pero a la hora de comprobar si ya existe un nombre de usuario o un email igual en la tabla, lo que pretendo hacer es que insertar el registro sin comprobar si existen y en el caso de que existan mysql me dara un error de duplicado, pero en vez de mostrar ese error feo, quiero extraer lo que hay entre comillas.

if(mysql_query("insert ..........")){

echo "registrado correctamente";

} else {
if( texto_entre_comillas tiene @ ){
echo "el email ya esta en uso";
} else {
echo "nick no disponible";
}
}

algo asi es lo que busco, lo suyo serian expresiones regulares, pero no las domino aun :S
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




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