Avatar billede DonTorro Nybegynder
18. februar 2010 - 20:07 Der er 11 kommentarer og
2 løsninger

tjek mail / include function

Hey. får følgende meddelelse:
Fatal error: Call to a member function mail() on a non-object in blabla/bla.php on line 4

koden :
<?php
$Email = $_POST['Email'];
include('class.validering.php');
$validering->mail();
$sql = "INSERT INTO ansatte (Email) VALUES ('$Email')";
$result = mysql_query($sql);
header('location: index.php');
?>


En som kan sige mig hvad jeg gør forkert ? :/
Avatar billede majbom Novice
18. februar 2010 - 20:26 #1
har du oprettet en instans af den klasse du includer?
Avatar billede DonTorro Nybegynder
18. februar 2010 - 20:29 #2
instans?

class validering{
    private $error=false;

    public function __construct(){}
/**
* Denne funktion tjekker om en email adresse er gyldig
*
* @param string $mail
* @param string $fejl
* @return bool
*/
    public function  mail($mail, $fejl='Den anførte email adresse er ugyldig!'){
        if (preg_match("/[[:alnum:]][a-z0-9_\.\-]*@[a-z0-9\.\-]+\.[a-z]{2,4}$/", $mail)) {
            return true;
        } else {
            $this->error[]=$fejl;
            return false;
        }
    }
Avatar billede zynzz Praktikant
18. februar 2010 - 20:42 #3
instance...

$validering = new ClassNavn();

ClassNavn ændres til klassens navn!
Avatar billede majbom Novice
18. februar 2010 - 20:43 #4
$mail_tjek = new validering();
if($mail_tjek->mail('din@email.dk')){
  //dit sql-gøjl
}
Avatar billede zynzz Praktikant
18. februar 2010 - 20:45 #5
<?php
$Email = $_POST['Email'];
include('class.validering.php');

//CLASS FUNKTIONER
$validering = new validering();

if($validering->mail($Email)){
$sql = "INSERT INTO ansatte (Email) VALUES ('$Email')";
$result = mysql_query($sql);
header('location: index.php');
}else{
echo "Den ansatte kunne ikke oprettes pga. emailen ikke er godkendt...";
}
?>
Avatar billede zynzz Praktikant
18. februar 2010 - 20:47 #6
Jeg ville nok lave funktionen static hvis du kun kalder denne...
Avatar billede majbom Novice
18. februar 2010 - 20:48 #7
-> #6 - var osse min første tanke da jeg så klassen, det er måske lige voldsomt nok til så simpel en ting :)
Avatar billede DonTorro Nybegynder
18. februar 2010 - 20:51 #8
puha, tusind tak :D
går stadig i skole, så det var en meget stor hjælp! takker!

Alt virker!

Lidt tricky med point her synes jeg :/
20 til splazz
40 til zynzz
Avatar billede majbom Novice
18. februar 2010 - 20:55 #9
det er så i orden :)
Avatar billede zynzz Praktikant
19. februar 2010 - 15:08 #10
svar
Avatar billede zynzz Praktikant
19. februar 2010 - 15:13 #11
-> #7 ja måske nok, men at starte klassen bare for at se en enkelt ting er også voldsomt.. :)

Men hvis $this->error[] skal være der kan det jo ikke lade sig gøre...


Hvad ang. valideringen så er der jo kun grund til retunere true eller false for alle funktionerne ?
Avatar billede DonTorro Nybegynder
17. marts 2010 - 23:08 #12
Undskyld jeg først har sendt point's nu.
Avatar billede majbom Novice
18. marts 2010 - 12:12 #13
det går nok - tak for dem :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester