[PHP] Doorgifte array in functie probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • iznogood
  • Registratie: September 2001
  • Niet online
Inhoud van functionlib.inc :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
void function_connect_and_select() 
{
    $host="127.0.0.1";
    $user="";
    $pass="";
    $database="Portfolio";
    
    $con=mysql_connect($host,$user,$pass) or die("Geen verbinding mogelijk");
    @mysql_select_db($database,$con) or die("Database kan niet geselecteerd worden");
    return $con;
}


/*-------------------------------------+
| Function name                        |
| (function_fetch_css_array)           |
+--------------------------------------+
| Description:                         |
| This function is used in the style-  |
| sheet that is used for defining      |
| styles on this website.              |
| It will return an error if the data- |
| base is not available                |
+-------------------------------------*/

void function_fetch_css_array();
{
    $con=function_connect_and_select();
    $query="SELECT * FROM colorsettings";
    $result=mysql_query($query,$con) or die("query kan niet worden uitgevoerd");
    $row=mysql_fetch_row($result);
    return $row;
}


Style.css :
code:
1
2
3
4
5
<?php
    include '../_include/functionlib.inc';
    $row=function_fetch_css_array();
    echo $row[2];
?>


Het probleem is dat bij de echo $row[2] niets te voorschijnkomt. De database is gewoon gevult en er komen ook geen errors terug.

Ik heb gekeken of ik misschien mijn functies foutief heb geschreven, maar ik kan hier geen problemen ontdekken. Nu weer ik van bijvoorbeeld VB dat de doorgifte van arrays in functies niet mogelijk is en dat je deze als public moet declareren.. Maar ik dacht dat dat bij PHP niet het geval is ?

Style.css roept in ieder geval de functie function_fetch_css aan om het array $row te vullen. Php.net kan me niet helpen en ook op tweakers kan ik geen overeenkomstig probleem vinden.

Just as Good


Acties:
  • 0 Henk 'm!

  • semicolon
  • Registratie: Mei 2004
  • Niet online
worden op jou webserver .inc en .css bestanden wel door php geparsed ;)
daarnaast maak je volgens mij de functie's verkeerd aan... (iig tis niet bij mij bekend dat het zo zou kunnen..)
PHP:
1
2
3
4
function functie_naam( )
{
  // code
}

[ Voor 55% gewijzigd door semicolon op 12-12-2004 11:44 ]

:D/-<


Acties:
  • 0 Henk 'm!

  • iznogood
  • Registratie: September 2001
  • Niet online
Max v W schreef op zondag 12 december 2004 @ 11:42:
worden op jou webserver .inc en .css bestanden wel door php geparsed ;)
Volgens mij wel... de .inc bestanden heb ik al eerder zonder problemen gebruikt... nu ga ik wel twijfelen over het .css bestand, deze heette nl eerst .php maar heb ik gerenamed. Ik ga het even checken.

Just as Good


Acties:
  • 0 Henk 'm!

  • iznogood
  • Registratie: September 2001
  • Niet online
Max v W schreef op zondag 12 december 2004 @ 11:42:
worden op jou webserver .inc en .css bestanden wel door php geparsed ;)
daarnaast maak je volgens mij de functie's verkeerd aan... (iig tis niet bij mij bekend dat het zo zou kunnen..)
PHP:
1
2
3
4
function functie_naam( )
{
  // code
}
Ja, alles wordt geparsed. Heb het css bestand terug gerenamed naar .php, de output blijft nog steeds leeg, maar de css die niet afhankelijk is van php wordt gewoon gebruikt in de website.

Functies ook aangepast... geen verschil...

[ Voor 10% gewijzigd door iznogood op 12-12-2004 11:50 ]

Just as Good


Acties:
  • 0 Henk 'm!

  • semicolon
  • Registratie: Mei 2004
  • Niet online
Zet boven de include error_reporting( E_ALL ); eens aan (als dit nog niet is),
en kun je misschien een linkje geven? Ik denk toch dat er iets nog niet geparsed wordt, (.inc bestand).

Want als ik jou functie definities overneem krijg ik een parse error.
(Welke php versie gebruik je overigens?)

[ Voor 8% gewijzigd door semicolon op 12-12-2004 11:51 ]

:D/-<


Acties:
  • 0 Henk 'm!

  • iznogood
  • Registratie: September 2001
  • Niet online
Max v W schreef op zondag 12 december 2004 @ 11:50:
Zet boven de include error_reporting( E_ALL ); eens aan (als dit nog niet is),
en kun je misschien een linkje geven? Ik denk toch dat er iets nog niet geparsed wordt, (.inc bestand).

Want als ik jou functie definities overneem krijg ik een parse error.
(Welke php versie gebruik je overigens?)
code:
1
2
3
4
error_reporting( E_ALL );   
include '../_include/functionlib.inc';
    $row=function_fetch_css_array();
    echo $row[2];
Krijg geen output... misschien wordt er idd iets niet geparsed.... ik kan je geen link geven aangezien ik het lokaal test... Zou ik iets in mijn apache.conf moeten aanpassen ?

Apache/1.3.23 (Win32) running...

Mocht er trouwens iets niet geparsed worden dan moet het dat .css bestand wel zijn... die .inc files heb ik al eerder zonder problemen mee gewerkt.

[ Voor 14% gewijzigd door iznogood op 12-12-2004 11:56 ]

Just as Good


Acties:
  • 0 Henk 'm!

  • semicolon
  • Registratie: Mei 2004
  • Niet online
noem allebei de bestanden eens naar .php, of beter, zet alle code voor de test eens in 1 .php bestand. En kijk daarna ook naar de HTML output (View source), want als er niets geparsed wordt zal je code daar leesbaar zijn waarschijnlijk..

:D/-<


Acties:
  • 0 Henk 'm!

  • iznogood
  • Registratie: September 2001
  • Niet online
Max v W schreef op zondag 12 december 2004 @ 11:57:
noem allebei de bestanden eens naar .php, of beter, zet alle code voor de test eens in 1 .php bestand. En kijk daarna ook naar de HTML output (View source), want als er niets geparsed wordt zal je code daar leesbaar zijn waarschijnlijk..
Alleen de het css deel wordt nu niet verwerkt, in de code zelf valt geen php te zien...

Als ik alleen style.php aanroep op de server krijg ik dit :

Parse error: parse error, expecting `'{'' in c:\apache\htdocs\_include\functionlib.php on line 71

Fatal error: Call to undefined function: function_fetch_css_array() in c:\apache\htdocs\_css\style.php on line 4

[ Voor 25% gewijzigd door iznogood op 12-12-2004 12:06 ]

Just as Good


Acties:
  • 0 Henk 'm!

  • iznogood
  • Registratie: September 2001
  • Niet online
iznogood schreef op zondag 12 december 2004 @ 12:04:
[...]
Alleen de het css deel wordt nu niet verwerkt, in de code zelf valt geen php te zien...

Als ik alleen style.php aanroep op de server krijg ik dit :

Parse error: parse error, expecting `'{'' in c:\apache\htdocs\_include\functionlib.php on line 71

Fatal error: Call to undefined function: function_fetch_css_array() in c:\apache\htdocs\_css\style.php on line 4
Op regel 71 stond een ; direct achter de functie, aangepast.

Just as Good


Acties:
  • 0 Henk 'm!

  • iznogood
  • Registratie: September 2001
  • Niet online
iznogood schreef op zondag 12 december 2004 @ 12:07:
[...]
Op regel 71 stond een ; direct achter de functie, aangepast.
En het werkt !! Je bent geweldig !!

Edit : ik moet het .css bestand wel renamen naar .php aangezien de php in het .css bestand niet geparsed wordt.

[ Voor 22% gewijzigd door iznogood op 12-12-2004 12:11 ]

Just as Good


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Iets dat je include wordt altijd geparsed. Dat mag een .txt bestand zijn, of zelfs een extensieloos bestand.

[ Voor 21% gewijzigd door GlowMouse op 12-12-2004 12:12 ]


Acties:
  • 0 Henk 'm!

  • iznogood
  • Registratie: September 2001
  • Niet online
GlowMouse schreef op zondag 12 december 2004 @ 12:10:
Iets dat je include wordt altijd geparsed. Dat mag een .txt bestand zijn, of zelfs een extensieloos bestand.
Handy .. wist ik niet... eigenlijk wel logisch...

Is er nog een manier om zowel de php als de css in het css bestand geparsed kan laten worden onder de extensie .css ?

Just as Good


Acties:
  • 0 Henk 'm!

  • semicolon
  • Registratie: Mei 2004
  • Niet online
dat wil je niet, maar mocht je t toch willen..
apache config aanpassen en een handler toevoegen voor .css?

AddType application/x-httpd-php .css

:D/-<


Acties:
  • 0 Henk 'm!

  • iznogood
  • Registratie: September 2001
  • Niet online
Max v W schreef op zondag 12 december 2004 @ 12:16:
dat wil je niet, maar mocht je t toch willen..
apache config aanpassen en een handler toevoegen voor .css?

AddType application/x-httpd-php .css
Dan laat ik het zo... ik kan de config van de server waarop ik het wil plaatsen toch niet aanpassen.

Just as Good


Acties:
  • 0 Henk 'm!

  • Sietse
  • Registratie: Januari 2004
  • Laatst online: 20:29
iznogood schreef op zondag 12 december 2004 @ 12:18:
[...]
Dan laat ik het zo... ik kan de config van de server waarop ik het wil plaatsen toch niet aanpassen.
De meeste providers laten je dit wel in een .htaccess bestand aanpassen. :)

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:47

Creepy

Tactical Espionage Splatterer

iznogood schreef op zondag 12 december 2004 @ 12:08:
[...]
En het werkt !! Je bent geweldig !!

Edit : ik moet het .css bestand wel renamen naar .php aangezien de php in het .css bestand niet geparsed wordt.
Zou je de volgende keer de knop "edit" willen gebruiken als je wat toe wilt voegen aan je eigen post? Jezelf quoten en daarna nog een post doen zodat je 3 posts achter elkaar krijgt is echt niet nodig :)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Billie
  • Registratie: Januari 2003
  • Laatst online: 16-09 20:27
Misschien is het ook handig om header('Content-Type: text/css') erboven te zetten i.v.m. browser die wat strenger zijn. :)
Pagina: 1