Avatar billede 7th Praktikant
03. oktober 2003 - 00:20 Der er 8 kommentarer og
1 løsning

Hjælp til class udsagn

Jeg er ved at forsøge mig med en class som checker en streng. Det er ihvertfald meningen :o) Jeg er dog ret sikker på jeg har gjort et eller andet galt.

class Verify
{
var $username;

function checkString()
{
// returner variablen $username hvis den opfylder betingelsen, det er ihverfald meningen med udsagnet forneden...
return $this -> username = $username -> eregi ("^[a-z0-9]+$" , username) ? $username : true;
}
}

$login = new Verify;

$login -> username = $_POST['user'];
$login -> checkString();

Når jeg afvikler class så får jeg fejlen "Call to a member function on a non-object".
Avatar billede Slettet bruger
03. oktober 2003 - 01:36 #1
return eregi ("^[a-z0-9]+$" , $this->username) ? $this->username : true;

Du behandler $username, som var det en reference til et objekt, hvis klasse havde medlemsfunktionen eregi. Derfor den fejl.
Avatar billede 7th Praktikant
03. oktober 2003 - 03:03 #2
Tak for det :o)

Jeg har måske et spørgsmål til, men vil lige prøve at lege med selv først. Imens kan du jo så smide et svar.
Avatar billede Slettet bruger
03. oktober 2003 - 03:05 #3
Roger.
Avatar billede 7th Praktikant
03. oktober 2003 - 03:36 #4
function checkString()
{
// returner username hvis den opfylder betingelsen
return eregi ("^[a-z0-9]+$" , $this -> username) ? $this -> username : true;
}

Nu indeholder checkString() username hvis den har opfyldt betingelsen. Hvordan kan jeg så komme til at bruge username i den næste funktion?

function checkMatch()
{
Brug af username...
}

Måske har jeg forstået det forkert, men når man bruger ? og : har det så ikke følgende betydning?

betingelse ? udsagn/værdi : udsagn/værdi;
Avatar billede 7th Praktikant
03. oktober 2003 - 04:04 #5
Jeg går i seng. Det kører ikke rigtig for mig... Jeg håber du har lyst til at hjælpe mig imorgen.
Avatar billede 7th Praktikant
04. oktober 2003 - 03:53 #6
Jeg har ikke glemt mit spørgsmål, jeg har bare ikke haft tid før nu.
Avatar billede tjp Mester
04. oktober 2003 - 15:14 #7
(Hvad er dit spørgsmål egentlig nu?? *S*)
$username skulle gerne være synlig for checkMatch, hvis sidstnævnte er en metode i Verify.

Syntaksen:
(betingelse)? udsagn_sand : udsagn_falsk
er bare en alternativ udgave af:
if (betingelse) udsagn_sand else udsagn_falsk
Avatar billede 7th Praktikant
06. oktober 2003 - 08:30 #8
Se det ved jeg heller ikke helt selv endnu. Som du måske har regnet ud, er jeg ikke så stærkt i class/function endnu, derfor var det meningen at jeg i weekenden ville have afprøvet noget, og så spurgt hvis det ikke virkede. Desværre har jeg bare ikke haft tid endnu :o)
Avatar billede 7th Praktikant
07. oktober 2003 - 15:30 #9
Jeg tror ikke rigtig jeg kommer videre med det lige nu, så lukker og siger tak for hjælpen :o)
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