Archief - PHP: [php mysql] Css oproepen via mysql / php

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

scorpken

Legacy Member
Ik zou een script moeten hebben om via een databank de css stijl te laten kiezen. momenteel heb ik dit al:

kiezencss.php:
PHP:
<?php
mysql_connect("localhost", "sam", "sam") or die(mysql_error());
mysql_select_db("cms") or die(mysql_error());
$query="SELECT * FROM links";
$result = mysql_query($query) or die (mysql_error());
?>

<center>
<form method="post" action="http://sam.rekencentra.be/">
    <br />
    <table width="396" border="1">
        <tbody>
            <tr>
                <td bgcolor="#666666" align="center" colspan="4">
                <h2><font color="white">Content CSS kiezen</font></h2>
                </td>
            </tr>
        </tbody>
        <tbody>
            <tr>
                <td width="190">Content:</td>
                <td width="190">		
<?php
mysql_connect("localhost", "sam", "sam");
mysql_select_db("cms");

$query = "SELECT naam FROM css";
$result = mysql_query($query);
print "<SELECT name=content>";
while ($line = mysql_fetch_array($result))
{
foreach ($line as $value)
{
print "<OPTION value='$value'";
}
print ">$value</OPTION>";
}
print "</SELECT>";
?></td>
            </tr>
            <tr>
                <td width="190">Bevestigen:</td>
                <td width="190"><input type="submit" value="Bevestigen" />
		</td>
            </tr>
        </tbody>
    </table>
    <p>&nbsp;   </p>
</form>
</center>

En
templates/default.php:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <link rel="stylesheet" type="text/css" media="screen" href="css/content.css" />
  <link rel="stylesheet" type="text/css" media="print" href="css/print.css" />
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta name="Author" content="" />
  <!-- BEGIN GENERAL -->
  <meta name="Keywords" content="school" />
  <meta name="Description" content="" />
  <link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon" />
  <link rel="icon" href="img/favicon.ico" type="image/ico" />
  <title>{TITLE}</title>
</head>
<body>
<div>
  <img id="background" src="{BACKGROUND}" alt="" title="" /> 
</div>
<div id="page_header">
  <img alt="" src="img/logo.gif" />
  <div id="title">
      {SCHOOLNAME}
      <h2>{SCHOOLCOMMENT}</h2>
  </div>
</div>
<div id="location">
	&nbsp;&nbsp;&nbsp;&nbsp;U bevindt zich hier &nbsp;&nbsp;&gt;&gt; {LOCATION} 
</div>
<div id="container">
  <div id="navigation">
    <ul>
{MENU}    </ul>
  </div>
  <div id="content"><div>
  <p>{PAGE_CONTENT}</p>
  </div></div>
  <div id="right">
    {RIGHT_LOGIN}
    {RIGHT_CONTEXT}
  </div>
</div>
<div id="page_footer">
  <a href="http://www.rekencentra.com">&copy;&nbsp;2007 B. Rekencentra NV</a>
</div>
<!-- END GENERAL -->
</body>
</html>


Iemand die me kan helpen?


Mvg

scorpken

Legacy Member
ik had het zelf al geprobeerd met:
PHP:
<link rel="stylesheet" type="text/css" media="screen" href="css/<? $_POST["naam"];?>" />

maar dat werkte niet

Disco_Dave

Legacy Member
scorpken zei:
ik had het zelf al geprobeerd met:
PHP:
<link rel="stylesheet" type="text/css" media="screen" href="css/<? $_POST["naam"];?>" />

maar dat werkte niet

ah nee natuurlijk werkt dat niet, je moet wel de uitkomst pinten he ;)

PHP:
<link rel="stylesheet" type="text/css" media="screen" href="css/<?php ECHO  $_POST["naam"];?>" />

smoke2007

Legacy Member
Disco_Dave zei:
ah nee natuurlijk werkt dat niet, je moet wel de uitkomst pinten he ;)

PHP:
<link rel="stylesheet" type="text/css" media="screen" href="css/<?php ECHO  $_POST["naam"];?>" />

hehe , what he said ;)

Op zo'n zaken kan je lang zoeken omdat je over de fout heen kijkt.

scorpken

Legacy Member
Dit werkt ook niet. Maar hij geeft nu geen css meer weer.

heb het dan op deze manier geprobeerd maar ook niets:

PHP:
 <link rel="stylesheet" type="text/css" media="screen" href="css/

<?php 
if ($_POST["content"] = ""){
	echo("content.css");
}else{
ECHO("$_POST['content']");
}
?>">


Best rot, nog nooit van u leven php gezien en op u stageplaats met php moeten werken :)

Disco_Dave

Legacy Member
scorpken zei:
Dit werkt ook niet. Maar hij geeft nu geen css meer weer.

heb het dan op deze manier geprobeerd maar ook niets:

PHP:
 <link rel="stylesheet" type="text/css" media="screen" href="css/

<?php 
if ($_POST["content"] = ""){
	echo("content.css");
}else{
ECHO("$_POST['content']");
}
?>">


Best rot, nog nooit van u leven php gezien en op u stageplaats met php moeten werken :)

Probleem is nu dat je waarschijnlijk die tag over verschillende lijnen hebt verdeeld waardoor de tag niet meer werkt.

probeer dit eens

PHP:
<?php 
if ($_POST["content"] = ""){
	$css="content.css";
}else{
        $css=$_POST['content'];
}
?>
 <link rel="stylesheet" type="text/css" media="screen" href="css/<?php echo $css; ?>">

en bekijk u html code eens om te kijken hoe die tag er nu uitziet

scorpken

Legacy Member
Nog steeds hetzelfde, laad zelfs zijn content.css niet meer in..

Disco_Dave

Legacy Member
scorpken zei:
Nog steeds hetzelfde, laad zelfs zijn content.css niet meer in..

wat staat er in je uitgevoerde html code?

edit:

ik zie al een foutje staan. In php moet je vergelijken met == ipv =

PHP:
<?php 
if ($_POST["content"] == ""){
	$css="content.css";
}else{
        $css=$_POST['content'];
}
?>
 <link rel="stylesheet" type="text/css" media="screen" href="css/<?php echo $css; ?>">

Tyfius

Legacy Member
Disco_Dave zei:
wat staat er in je uitgevoerde html code?

edit:

ik zie al een foutje staan. In php moet je vergelijken met == ipv =

PHP:
<?php 
if ($_POST["content"] == ""){
	$css="content.css";
}else{
        $css=$_POST['content'];
}
?>
 <link rel="stylesheet" type="text/css" media="screen" href="css/<?php echo $css; ?>">
Het is eigenlijk beter om GET en POST variabelen te controleren met empty().

Daarnaast rest de vraag of dit nu eigenlijk wel is wat je moet hebben. Als je van deze pagina wegnavigeert dan is de POST variabele terug leeg en zit je dus met de default stylesheet terug.

Disco_Dave

Legacy Member
scorpken zei:
Iemand een ander idee dan om dit te laten werken?
Grtz

Maar heb je mijn vorige vb al geprobeerd? Dat zou echt wel moeten werken hoor


PHP:
<?php 
if ($_POST["content"] == ""){
	$css="content.css";
}else{
        $css=$_POST['content'];
}
?>
 <link rel="stylesheet" type="text/css" media="screen" href="css/<?php echo $css; ?>">

Tyfius

Legacy Member
En geef nu, zoals gevraagd, eens de HTML output die je krijgt als je dit script uitvoert...

scorpken

Legacy Member
Zal even de pagina terugzetten:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
if ($_POST["content"] == ""){
    $css="content.css";
}else{
        $css=$_POST['content'];
}
?>
<link rel="stylesheet" type="text/css" media="screen" href="css/<?php echo $css; ?>">
  <link rel="stylesheet" type="text/css" media="print" href="css/print.css" />
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta name="Author" content="" />
  <!-- BEGIN GENERAL -->
  <meta name="Keywords" content="school" />
  <meta name="Description" content="" />
  <link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon" />
  <link rel="icon" href="img/favicon.ico" type="image/ico" />
  <title>{TITLE}</title>
</head>
<body>
<div>
  <img id="background" src="{BACKGROUND}" alt="" title="" /> 
</div>
<div id="page_header">
  <img alt="" src="img/logo.gif" />
  <div id="title">
      {SCHOOLNAME}
      <h2>{SCHOOLCOMMENT}</h2>
  </div>
</div>
<div id="location">
	&nbsp;&nbsp;&nbsp;&nbsp;U bevindt zich hier &nbsp;&nbsp;&gt;&gt; {LOCATION} 
</div>
<div id="container">
  <div id="navigation">
    <ul>
{MENU}    </ul>
  </div>
  <div id="content"><div>
  <p>{PAGE_CONTENT}</p>
  </div></div>
  <div id="right">
    {RIGHT_LOGIN}
    {RIGHT_CONTEXT}
  </div>
</div>
<div id="page_footer">
  <a href="http://www.rekencentra.com">&copy;&nbsp;2007 B. Rekencentra NV</a>
</div>
<!-- END GENERAL -->
</body>
</html>

Tyfius

Legacy Member
Neen, wat mij moeten hebben is de HTML output na dat dit script werd uitgevoerd, niet de template die nog moet worden ingevuld.

scorpken

Legacy Member
{SCHOOLNAME}
{SCHOOLCOMMENT}
U bevindt zich hier >> {LOCATION}

{MENU}

{PAGE_CONTENT}


Komt er op :)

Tyfius

Legacy Member
Ja, 't was vrij voor de hand liggend ook, dat is een template. Daarbinnen moet je geen PHP uitvoeren en die dan eens door de template engine halen. Je gaat daar een {CSS} van moeten maken en dan in de code die erboven steekt die {CSS} vervangen zoals die {TITLE} wordt vervangen.

KoenDK

Legacy Member
welke template is dit eigenlijk? heb je een cms ofzo? die {CSS} is geen standaard html dus moet toch van ergens komen hé :lol:
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan