Avatar billede gregorian Nybegynder
09. december 2004 - 15:20 Der er 7 kommentarer og
1 løsning

hjælp til klasseopbygning

koden kan ses her http://gregorian.dk/1.phps og der hvor jeg skal bruge lidt forklaring er der hvor jeg har udkommenteret
//  $obj -> query("DELETE FROM BK_mailingliste WHERE id = $id && email = '$email' LIMIT 1","delete"); nede i funktionen afmeldt()

min fejl er:

Fatal error: Cannot redeclare delete() (previously declared in /var/www/www.bispebjergkickboxing.dk/www/afmeld.php:12) in /var/www/www.bispebjergkickboxing.dk/www/afmeld.php on line 12


og så vidt jeg kan læse mig frem til noget med at jeg kalder min classe 2 gange.


hvis i har bedre måder at opbygge koden med classer er i meget velkommen til at give mig råd eller en helt anden opbygning, da jeg først lige er gået igang for 1 time siden. kan ligeså få det rigtige fra start :D

tak og god jul alle sammen
Avatar billede jakoba Nybegynder
09. december 2004 - 16:15 #1
det ser ud somom din scriptfil  afmeld.php  har en include eller require der får den til at inkludere sig selv. Det går galt.
Brug evt include_once eller require_once  http://dk.php.net/manual/en/function.include-once.php

mvh JakobA
Avatar billede gregorian Nybegynder
09. december 2004 - 16:28 #2
bruger ikke noget include eller require.. den kode du ser i 1.phps er den kode som bliver brugt i afmeld.php.. intet bliver included eller require-ed.
Avatar billede gregorian Nybegynder
09. december 2004 - 22:26 #3
ingen der kanhjælpe mig?
Avatar billede neocron Nybegynder
09. december 2004 - 23:04 #4
Du har en fejl så vidt jeg kan se - funktionen query bliver aldrig afsluttet:

function query($forespoergsel,$type) {
        $obj = new nyhedsbrev;
        $obj -> forbind_db();
// her mangler vist et }

Hjælper det på det?
Avatar billede gregorian Nybegynder
10. december 2004 - 11:46 #5
:D
det var det ja.
havde min select, update og delete funktion inde i query funktionen af en eller anden grund.. tak...
smid et svar


koden ser sådan ud nu :
<?
class db {
    function forbind_db() {
        $db = mysql_connect("db.gregorian.dk", "web1875", "19m973r471");
        mysql_select_db("web1875",$db);
    }
    function delete($forespoergsel) {
        $obj = new db;
        $obj -> forbind_db();
        mysql_query($forespoergsel);
        return true;
    }
       
    function update($forespoergsel) {
        $obj = new db;
        $obj -> forbind_db();
        if($query = mysql_query($forespoergsel)) return true;
        else return false;
    }
       
    function select($forespoergsel) {
        $obj = new db;
        $obj -> forbind_db();
        if($query = mysql_query($forespoergsel)) {
            return $row = mysql_fetch_array($query);           
        } else {
            return false;
        }
    }       
}
class nyhedsbrev {
    function afmeld($id, $email) {
        $obj = new db;
        $obj -> forbind_db();
        if($obj -> select("SELECT * FROM BK_mailingliste WHERE id = $id && email = '$email' LIMIT 1")) {
          $obj -> delete("DELETE FROM BK_mailingliste WHERE id = $id && email = '$email' LIMIT 1");
          $tekst = "emailen \"$email\" er nu blevet fjernet fra vores mailingliste";
        } else {
            $tekst = "emailen \"$email\" findes ikke på vores mailingliste og kunne derfor ikke fjernes. <br>Kontant vores webmaster hvis du stadigvæk får uønskede nyhedsbreve fra Bispebjerg Kickboxing.";
        }
        return $tekst;
    }

}
$obj = new nyhedsbrev;
$tekst = $obj -> afmeld($_REQUEST[i],$_REQUEST[m]);
print $tekst;
?>
Avatar billede neocron Nybegynder
10. december 2004 - 12:10 #6
Det var så lidt, er glad for at kunnne hjælp - svar
Avatar billede MrJ Praktikant
10. december 2004 - 13:18 #7
Jeg tror at du skal ændre password til din database, for du er kommet til at paste login info sammen med din kode :o)
Avatar billede gregorian Nybegynder
10. december 2004 - 13:25 #8
pis ja. ;(
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