22. september 2005 - 09:26
Der er
9 kommentarer og 1 løsning
Hjælp til Class i PHP 5
Hey, Har et problem med følgende kode.. Hvad gør jeg forkert? <?php class login { /* construct */ function __construct($username,$password) { $this->username = $username; $this->password = $password; } /* check login */ function loginCheck() { /* query */ $query = "SELECT * FROM login WHERE username='$this->username' AND password='$this->password'"; return $query; } } ?> Koden har ikke nogen funktion endnu, ved det, men er fordi jeg er ved at debugge det men sidder fast. $this->username og $this->password har ikke nogen værdi på trods af at jeg laver et nyt objekt sådan her : $a = new login("brugernavntest","passwordtest"); Og når jeg printer querien: print $a->loginCheck(); viser den bare: "SELECT * FROM login WHERE username='' AND password=''", tom :/ hvad gør jeg lige forkert? 300 point
Annonceindlæg fra Admin By Request
22. september 2005 - 09:56
#1
Du skal definere dine variabler først: <?php class login { private $username; private $password; /* construct */ function __construct($username,$password) { $this->username = $username; $this->password = $password; } /* check login */ function loginCheck() { /* query */ $query = "SELECT * FROM login WHERE username='$this->username' AND password='$this->password'"; return $query; } } ?>
22. september 2005 - 10:07
#2
Den gør jo nøjagtigt hvad du beder den om... Vil du have mere logik? <?php class login { private $username; private $password; /* construct */ function __construct($username,$password) { $this->username = $username; $this->password = $password; } /* check login */ function loginCheck() { /* query */ $query = "SELECT * FROM login WHERE username='$this->username' AND password='$this->password'"; // Connect til databasen med mysql_connect // Vælg database med mysql_select_db $qh = mysql_query( $query ) or die( mysql_error() ); $row = false; if ( mysql_num_rows( $qh ) > 0 ) { $row = mysql_fetch_assoc( $qh ); } return $row; } } ?>
22. september 2005 - 10:11
#3
Tror bare han vil have sin query lavet af klassen. Han returnere jo queryen.
22. september 2005 - 10:19
#4
Ja, men han brokker sig over at den bare skriver SQL ud :-D
22. september 2005 - 10:21
#5
Det er rigtigt, men han skriver jo også selv at det er det han gør: Og når jeg printer querien: print $a->loginCheck(); viser den bare: "SELECT * FROM login WHERE username='' AND password=''", tom :/ Password og username bliver ikke sat, da de ikke er definere i klassen, og derfor kun kan bruges i selve funktionen ;-)
22. september 2005 - 10:34
#6
Det er selvfølgelig rigtigt :-D Hvis det skal være pænt, burde der desuden stå: public function loginCheck() {
22. september 2005 - 11:50
#7
hvor brokker jeg mig over den skriver SQL ud ? klassen er slet ikke færdig endnu ville bare ikke kode det hele færdigt nu da jeg ikke kunne komme videre.. lav et svar så jeg kan komme af med de point
22. september 2005 - 12:11
#8
Bare behold pointene Kan være coderdk vil ha nogen
22. september 2005 - 12:21
#9
Nææh tak :)
22. september 2005 - 12:23
#10
fuck it så giver jeg dem sku til mig selv!
Vi tilbyder markedets bedste kurser inden for webudvikling