Gå til innhold

[Løst]Skjekke om Emailen er rett?


Anbefalte innlegg

Hei.

 

Har denne lille snutten;

 

	public function email_checker ($email) {
	if(!eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]", $email)) {
		return $this->email = $this->email;
	}
	else
	{
		return $this->email = "false";
	}
}

 

Jeg prøver å få printet det ut med;

 

	$reg->email_checker($reg->email);
echo $reg->email;

 

Fungerer fint, om jeg dropper echo i siste eksempel, og legger på echo istede for return.

 

jeg har også en anelse om at den godtar ikke email men . ? f.eks [email protected]

 

takk!

 

Edit:

 

Problemet er halveis løst, da jeg fikk laget et annet script. men lurer på hvordan det blir med dette scriptet, så lar den stå.

Endret av Eivind218
Lenke til kommentar
Videoannonse
Annonse

Hvis du skal sjekke en variabel som er i objektet trenger du ikke legge det til som parameter.

	public function email_checker ($email = null) {
			if ($email === null)
				$email = $this->email;
	if (filter_var($email, FILTER_VALIDATE_EMAIL))
		$this->email = false;
			return $this->email;
}

 

Bruker du return i funksjonen kan du ta imot det.

		$email = $reg->email_checker()
if ($email !== false)
   echo "Email address is: " . $reg->email . "\n";
   else
	   echo "Email address is not valid.\n";

 

Du bruker objektet ganske anderledes enn de egentlig skal brukes vil eg si. Du har en mer funksjonsorientert objektprogrammering.

Lenke til kommentar

Jeg ville kanskje gjort det slik

public function email_checker ($email = null) {
if( $email === null )
{
	$email = $this->email;
}

if( filter_var( $email, FILTER_VALIDATE_EMAIL ) )
{
	return false;
}

return true;
}

 

if( $reg->email_checker() !== false )
{
echo "Email address is: " . $reg->email . "\n";
}
else
{
echo "Email address is not valid.\n";
}

Kan være dumt å sette $reg->email til false, om man viser feilmeldingene i registreringsskjemaet. Av og til kan det v're ønskelig å fylle ut skjemaet med samme data som brukeren tastet tidligere.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...