Avatar billede frulilla Nybegynder
21. april 2011 - 21:28 Der er 8 kommentarer og
1 løsning

Mer MySql og php problemer

Jeg har en side der, alt efter hvilken kategori den åbnes i, vise et forskelligt styles.

Det skal lige siges, at siden er i php fusion.

I et sidelement, har jeg indsat et billede og en baggrundsfarve. De 4 kategorier har forskellig farve.

Jeg har lavet dette:

  <?php
if ($catid == 1){
openside("");
echo "<table  bgcolor='#0E7F09'><tr><td width='178' height='300' rowspan='2' align='center' valign='top' bgcolor='#0E7F09'><span class='box'><img src='images/layout/guitar.jpg' alt='' width='178' height='112' /></span></td></tr></table>";
closeside();
}

elseif ($catid == 5){
openside("");
echo "<table><tr><td width='178' rowspan='2' height='300' align='center' valign='top' bgcolor='#F89520'><span class='box'><img src='images/layout/bas.jpg' alt='bas' width='178' height='112' /></span></td></tr></table>";
closeside();
}
elseif ($catid == 2){
openside("");
echo "<table><tr><td width='178' rowspan='2' height='300' align='center' valign='top' bgcolor='#EC282A'><span class='box'><img src='images/layout/klaver.jpg' alt='klaver' width='178' height='112' /></span></td></tr></table>";
closeside();
}
elseif ($catid == 3){
openside("");
echo "<table bgcolor: '#213E9A'><tr><td width='178' height='300' rowspan='2' align='center' valign='top' ><span class='box'><img src='images/layout/trommer.jpg' alt='trommer' width='178' height='112' /></span></td></tr></table>";
closeside();
}

?>


Det virker rigtig fint på de fleste sider, men jeg har lige opdaget at der desværre er fejl på nogle af dem

Notice: Undefined variable: catid in /customers/domæne.dk/domøne.dk/httpd.www/lektioner.php on line 270

Hvad fortæller fejlen mig og hvad gør jeg?
Avatar billede riversen Nybegynder
21. april 2011 - 21:31 #1
fejlen betyder, at du ikke har erklæret $catid på det tidspunkt du forsøger at benytte den i linie 270.

du kan løse det ved at erklære $catid = 0 længere oppe på siden.
Avatar billede frulilla Nybegynder
21. april 2011 - 22:05 #2
Forstår jeg ikke helt. Jo ved hvad du mener, men ikke hvor jeg skal erklære det.
Avatar billede repox Seniormester
21. april 2011 - 23:04 #3
Der menes at din kode ikke kender til variablen $catid og derfor får du en notice om det da du forsøger at tilgå den i en evaluering (en if-sætning).

Når #1 siger du skal 'erklære' din variabel, betyder det at du skal skrive variablen, altså $catid, et sted og angive en værdi til den variabel.

Altså, en erklæring skal forstås således:
$catid = 0;

Variblen $catid er således erklæret med værdien 0.

Og den erklæring skal foregå inden du forsøger at tilgå den.
Avatar billede wanze Nybegynder
21. april 2011 - 23:47 #4
Det skyldes sandsynligvis, at du på den problemfyldte side har glemt at inkludere den fil, hvori du erklærer $catid.
Avatar billede riversen Nybegynder
22. april 2011 - 07:32 #5
den skal bare erklæres før du begynder at benytte den. Så 'hvor' er principielt bare et sted inden du benytter den.
Avatar billede frulilla Nybegynder
15. maj 2011 - 14:33 #6
Tror alle kan sende et svar. Wanze kender min side og mine koder, så han har også hjulpet med det korte svar. Men I mener vist alle det samme. Så dem der svarer får point
Avatar billede repox Seniormester
15. maj 2011 - 16:49 #7
Jeg springer bare over...
Avatar billede frulilla Nybegynder
21. maj 2011 - 21:39 #8
Ville gerne have giver jer alle point, men uden svar går det vist ikke. Så lukker nu.
Avatar billede frulilla Nybegynder
21. maj 2011 - 21:39 #9
svar
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
Computerworld tilbyder specialiserede kurser i database-management

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