Variabele werkt niet in CSS

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Karel van Dam

Karel van Dam

08/12/2010 10:25:32
Quote Anchor link
Hallo,

Ik heb de volgende code in style.php staan en vraag me af waarom CSS deze niet kan uitlezen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    header('Content-Type: text/css');
    $query = "SELECT * FROM skins";
    $result = mysql_query($query);
    $achtergrond = mysql_fetch_array($result);
?>

body
{
background-color: purple;
margin-top: 5px;
background-image: URL('uploads/
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $achtergrond['achtergrondnaam']; ?>
');
background-repeat: no-repeat;
background-position: center top;
}
Gewijzigd op 08/12/2010 10:27:03 door Karel van Dam
 
PHP hulp

PHP hulp

24/04/2024 02:54:36
 
Ozzie PHP

Ozzie PHP

08/12/2010 10:36:48
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
    header('Content-Type: text/css');
    $query = "SELECT * FROM skins";
    $result = mysql_query($query);
    $achtergrond = mysql_fetch_array($result);
    var_dump($achtergrond);
    die();
?>


Voeg de laatste 2 regels eens toe. Wat krijg je nu in beeld te zien?
 
Karel van Dam

Karel van Dam

08/12/2010 12:25:48
Quote Anchor link
door de
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php die(); ?>
wordt de rest van de css niet meer uitgelezen en werkt dus ook niet meer de opmaak van de pagina.
Wanneer ik het bestand style.php nu vanaf de server open zie ik enkel dit staan:
bool(false)

Zonder die() zie ik bool(false) inclusief de rest van de css, maar het achtergrondplaatje werkt nog steeds niet.
Hier zie ik bij het gedeelte voor het achtergrondplaatje enkel:
background-image: URL('uploads/');
Kan ik hieruit afleiden dat de variabele $achtergrond['achtergrondnaam'] niet kan worden uitgelezen??
Gewijzigd op 08/12/2010 12:34:59 door Karel van Dam
 
Chris -

Chris -

08/12/2010 12:49:29
Quote Anchor link
Ozzie PHP op 08/12/2010 10:36:48:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
    header('Content-Type: text/css');
    $query = "SELECT * FROM skins";
    $result = mysql_query($query);
    $achtergrond = mysql_fetch_array($result);
    var_dump($achtergrond);
    die();
?>


Voeg de laatste 2 regels eens toe. Wat krijg je nu in beeld te zien?

Dat is natuurlijk geen foutafhandeling Ozzie ;-)

@TS: Je zegt wat je probleem is, maar niet wat de output is op dit moment. Wat krijg je te zien als de CSS is gerendered? (even in quote/code-tags plaatsen alsjeblieft :))
 
Karel van Dam

Karel van Dam

08/12/2010 12:56:59
Quote Anchor link
input style.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
    header('Content-Type: text/css');
    $query = "SELECT * FROM skins";
    $result = mysql_query($query);
    $achtergrond = mysql_fetch_array($result);
?>


body
{
    background-color: <?php echo "purple"; ?>;
    margin-top: 5px;
    background-image: URL('uploads/<?php echo $achtergrond['achtergrondnaam']; ?>');
    background-repeat: no-repeat;
    background-position: center top;
}


output style.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
body
{
    background-color: purple;
    margin-top: 5px;
    background-image: URL('uploads/');
    background-repeat: no-repeat;
    background-position: center top;
}
Gewijzigd op 08/12/2010 13:01:52 door Karel van Dam
 
Joakim Broden

Joakim Broden

08/12/2010 12:58:38
Quote Anchor link
krijg je geen mysql errors?
 
Chris -

Chris -

08/12/2010 13:03:50
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$query
= "SELECT * FROM skins";
$result = mysql_query($query);
if(is_resource($result))
{

    $list = mysql_fetch_array($result);
    echo '<pre>'.print_r($list, true).'</pre>';
}

else
{
    echo 'De query is mislukt!<br /><pre>'.mysql_error().'</pre>';
}

?>


Zet dit eens neer, en plaats vervolgens een de uitkomst. Heb je heel toevallig databasegegevens opgegeven voor dit bestand? ;-) Anders kom je dat zo in je foutafhandeling tegen.
@Oetzie: Dit is gewoon fatsoenlijke foutafhandeling.
Gewijzigd op 08/12/2010 13:04:09 door Chris -
 
Karel van Dam

Karel van Dam

08/12/2010 13:05:03
Quote Anchor link
Oetzie cookie op 08/12/2010 12:58:38:
krijg je geen mysql errors?


Nee helemaal niets.
Sterker nog, wanneer ik in index.php dit schrijf:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$query
= "SELECT * FROM skins";
$result = mysql_query($query);
$achtergrond = mysql_fetch_array($result);
echo $achtergrond['achtergrondnaam'];
?>


...dan staat er in de output gewoon Koala.jpg

Toevoeging op 08/12/2010 13:09:06:

Chris Horeweg op 08/12/2010 13:03:50:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$query
= "SELECT * FROM skins";
$result = mysql_query($query);
if(is_resource($result))
{

    $list = mysql_fetch_array($result);
    echo '<pre>'.print_r($list, true).'</pre>';
}

else
{
    echo 'De query is mislukt!<br /><pre>'.mysql_error().'</pre>';
}

?>


Zet dit eens neer, en plaats vervolgens een de uitkomst. Heb je heel toevallig databasegegevens opgegeven voor dit bestand? ;-) Anders kom je dat zo in je foutafhandeling tegen.
@Oetzie: Dit is gewoon fatsoenlijke foutafhandeling.


Output:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
Array
(
    [0] => Winter.jpg
    [achtergrondnaam] => Winter.jpg
)
 
Joakim Broden

Joakim Broden

08/12/2010 13:09:20
Quote Anchor link
Oftewel in je style.php heb je geen connectie met database, misschien verstandig om daar een include config ofzo te doen (als je een config bestand gebruikt)
 
Karel van Dam

Karel van Dam

08/12/2010 13:14:27
Quote Anchor link
Oetzie cookie op 08/12/2010 13:09:20:
Oftewel in je style.php heb je geen connectie met database, misschien verstandig om daar een include config ofzo te doen (als je een config bestand gebruikt)


Oetzie, geweldig!
Ik was inderdaad vergeten om login-hoofdpagina.php te includen.
Nu werkt het perfect, bedankt!
 
Ozzie PHP

Ozzie PHP

08/12/2010 13:16:37
Quote Anchor link
Chris Horeweg op 08/12/2010 12:49:29:
Ozzie PHP op 08/12/2010 10:36:48:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
    header('Content-Type: text/css');
    $query = "SELECT * FROM skins";
    $result = mysql_query($query);
    $achtergrond = mysql_fetch_array($result);
    var_dump($achtergrond);
    die();
?>


Voeg de laatste 2 regels eens toe. Wat krijg je nu in beeld te zien?

Dat is natuurlijk geen foutafhandeling Ozzie ;-)

Euh, nee... maar dat hoor je me toch ook niet zeggen? :-s
Ik wilde alleen weten of de variabele $achtergrond gevuld werd en dat is blijkbaar niet het geval. Niet heel raar dus dat het niet werkt.
 
Joakim Broden

Joakim Broden

08/12/2010 13:18:20
Quote Anchor link
Chris

Ozzie en Oetzie niet door elkaar halen hé haha.

Succes verder karel
 
Chris -

Chris -

08/12/2010 13:26:31
Quote Anchor link
Ozzie, jij deed een die en een var_dump. Jij wilde weten of $achtergrond gevult werd. Om dat te weten moet je eerst weten of de query lukt, en dat weet je niet. De query lukte niet, maar je kon niet achterhalen waarom niet.

Oetzie, haalde je inderdaad door elkaar!
 
Ozzie PHP

Ozzie PHP

08/12/2010 13:50:23
Quote Anchor link
@Chris: vind het een beetje onzinnig wat je nu zeg... stap 1 was om te weten wat er in de variabele $achtergrond stond want daar zat het probleem. Mijn var_dump met die() was dus geheel terecht. op die manier kreeg TS te zien wat er in de betreffende variabele stond. Die bleek leeg te zijn en stap 2 is dan om te achterhalen waarom die variabele leeg is. Je begint altijd aan "het eind" van een probleem. Als je auto niet start, kijk je toch ook eerst of de accu leeg is in plaats van dat je gelijk de motor uit elkaar gaat halen? Kortom... jouw beredenering is gelijk aan de vorm van een banaan... krom dus :)
 
Joakim Broden

Joakim Broden

08/12/2010 14:02:06
Quote Anchor link
Ozzie Chris probeert gewoon te zeggen dat je een goede fout afhandeling moet gebruiken, en als je het iemand het op het forum verkeerd aanleert is gewoon fout. Jouwn idee werkt wel maar is eigenlijk niet goed (ook al gebruikt ik het ook nog wel eens)

En als je toch over de auto begint, als je olie pijl niet goed is krijg je toch ook een waarschuwingslampje te zien. Oftewel een goede fout afhandeling ;) Op jouwn manier zou je eerst het pijl stokje moeten gebruiken om te zien of de olie gevult is.
 
Ozzie PHP

Ozzie PHP

08/12/2010 14:07:00
Quote Anchor link
Waarom is mijn idee niet goed? Ik gebruik gewoon een var_dump om te zien wat er in een variabele zit. Wat is daar niet goed aan? Ik begrijp je niet. Z'n css achtergrond werkt niet. Het eerste wat je dan toch doet is kijken wat er in die variabele staat?????
 
Joakim Broden

Joakim Broden

08/12/2010 14:11:06
Quote Anchor link
Nee het gaat vooral om de manier van en die die(), waarom die()? Er gaat toch niemand dood?...

Bouw gewoon een goede/nette foutafhandeling om te zien wat er precies mis is.
 
Ozzie PHP

Ozzie PHP

08/12/2010 14:14:52
Quote Anchor link
zucht... een die() zodat TS alleen de waarde van de var_dump op z'n scherm krijgt te zien. Maar als jij dat liever hebt dan mag jij ook een complete foutafhandeling bouwen hoor om de waarde van die ene variabele te tonen. Whatever makes you happy...
 
Joakim Broden

Joakim Broden

08/12/2010 14:21:50
Quote Anchor link
Weer even over je auto uitleg,

Je komt bij de garage met een lekke band en vraagt de monteur hem te plakken. De monteur plakt de band met een stukje ducktape, de band is weer gefixt. Maar de manier is fout.

Als je een goede fout afhandeling maakt weet je gelijkt wat het probleem is... Met jouwn 'foutafhandeling' moest je nog steeds stappen ondernemen. Mhhhh waarom is de variable leeg? geen records, type fout, foute query, geen database connectie? Mhhh wat voor stappen zal ik nu ondernemen hmm hmm.. Als je een goede fout afhandeling hebt krijg je gelijk de oorzaak van het probleem...

Maar he als je moeilijk wilt doen, ga je gang. Maar als je toch niet het advies van iemand anders aan wilt nemen wat doe je dan nog op het forum. :)
 
Ozzie PHP

Ozzie PHP

08/12/2010 14:31:10
Quote Anchor link
Om het gezellig te houden zal ik maar net doen of ik je laatste vraag niet gelezen heb ;-)

TS zegt dat de achtergrond niet wordt getoond. Relevante code is:

background-image: URL('uploads/< ? php echo $achtergrond['achtergrondnaam']; ?> ');

Het 1e wat je dan toch doet is kijken wat er in die variabele $achtergrond zit? Is toch niks raars aan :-))))
Gewijzigd op 08/12/2010 14:32:06 door Ozzie PHP
 
Joakim Broden

Joakim Broden

08/12/2010 14:39:45
Quote Anchor link
Daar zit ook wel een punt van waarheid in ;) Zelf doe ik het stiekem ook nog wel eens.

Maar toch kun je het beste standaard een goede/nette foutafhandeling gebruiken. Dan weet je gelijk wat er aan de hand is.

En nu einde discussie ;-) Hoop dat het een beetje duidelijk is wat ik/chris bedoel ;)
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.