[PHP] Require retourneert de volledige pagina*

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • A.Kebab
  • Registratie: Mei 2005
  • Niet online
Beste tweakers!
Ik ben bezig met het aanpassen van Ifoto, een online webgallery. Nu wil ik het Simplicity of Upload script integreren in de code van Ifoto. Dit lukt allemaal op 1 ding na. Ik moet een paar variabelen uit de index.php file naar de config file van het uploadscript "brengen". Maar als ik require("index.php"); gebruik, dan krijg ik de hele index pagina geretourneerd. Terwijl ik alleen maar een paar variabelen wil hebben.
Mijn vraag is hoe voorkom ik dat de hele pagina geretourneerd word? Ik hoef alleen maar van 1 functie de variabelen te hebben

Mvg

Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

En toen je Waar hoort mijn topic? las, dacht je niet dat dit topic in Programming hoort? ;)

Bij deze verplaatst (en van titelfix voorzien; denk daar voortaan ook aan!)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

  • A.Kebab
  • Registratie: Mei 2005
  • Niet online
Sorry :o
Volgende keer zal ik beter kijken!

Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 23:19

Onbekend

...

Dat is niet gemakkelijk met de indexpagina.

Als er een bezoeker komt, dan wordt de index.php aangeroepen welke een pagina zal genereren.
Als je met een ander script index.php aanroept, dan zal die gegenereerde pagina aan het script retourneren.

Een mogelijke oplossing is in het script require("index.php?NoOutput=1"); aan te roepen,
en in index.php kijken of de variable NoOutput is gepost.

Speel ook Balls Connect en Repeat


Acties:
  • 0 Henk 'm!

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 22:47
Optie 1.
Je gebruikt ob_start() en ob_end_clean() om de gegevens niet weer te geven. Lelijk, traag, etc, maar wel vrij simpel te implementeren.

Optie 2.
Je scheidt business en output logic en zorgt ervoor dat je veilig je index kan includen.

Optie 3.
Je gooit configuratievariabelen in een apart config bestand en include dat bestand in beide scripts.

etc, etc, etc :)

[ Site ] [ twitch ] [ jijbuis ]


Acties:
  • 0 Henk 'm!

  • A.Kebab
  • Registratie: Mei 2005
  • Niet online
FragFrog schreef op dinsdag 14 augustus 2007 @ 17:09:
Optie 1.
Je gebruikt ob_start() en ob_end_clean() om de gegevens niet weer te geven. Lelijk, traag, etc, maar wel vrij simpel te implementeren.

Optie 2.
Je scheidt business en output logic en zorgt ervoor dat je veilig je index kan includen.

Optie 3.
Je gooit configuratievariabelen in een apart config bestand en include dat bestand in beide scripts.

etc, etc, etc :)
code:
1
2
3
4
5
6
7
<?php
ob_start();
require('index.php');
ob_end_clean();

echo $variabele_die_ik_wil; 
?>

zoiets? dit werkt alleen niet.

En de variabele veranderd steeds, het script komt namelijk bij elke map te staan, en hij moet weten in welke dir hij dan zit. Dus in een config bestand gooien heeft geen zin, moet ze direct uit de index hebben.

Dus de variabele kan zijn "foto's 2007" "foto's 2006", deze plaats ik dan achter www.bla.bla/gallery/$mapnaam

[ Voor 20% gewijzigd door A.Kebab op 14-08-2007 17:26 ]


Acties:
  • 0 Henk 'm!

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 22:47
Dan doe je volgens mij iets fout. Als ik namelijk hier de volgende code uitvoer werkt het namelijk prima:
PHP:
1
2
3
4
ob_start();
require_once('output.php');
ob_end_clean();
echo $var;


Met in output.php:
PHP:
1
2
echo 'echo in output.php';
$var = 'variabele';


Dit echo'd netjes 'variabele', as it should. PHP5 overigens, maar volgens mij is de werking niet anders onder PHP4.

Maar wat wil je nu uiteindelijk bereiken? Weten in welke map je zit? Daarvoor kun je toch prima getcwd() gebruiken lijkt me?

Ik krijg overigens de indruk dat je iets enorm lelijks aan het doen bent, wil je nu daadwerkelijk voor elke subdir een script kopieeren wat iets doet? En een variabele uit de index halen die je continu zelf aanpast? :o

[ Voor 16% gewijzigd door FragFrog op 14-08-2007 22:48 ]

[ Site ] [ twitch ] [ jijbuis ]


Acties:
  • 0 Henk 'm!

  • A.Kebab
  • Registratie: Mei 2005
  • Niet online
FragFrog schreef op dinsdag 14 augustus 2007 @ 22:45:
Dan doe je volgens mij iets fout. Als ik namelijk hier de volgende code uitvoer werkt het namelijk prima:
PHP:
1
2
3
4
ob_start();
require_once('output.php');
ob_end_clean();
echo $var;


Met in output.php:
PHP:
1
2
echo 'echo in output.php';
$var = 'variabele';


Dit echo'd netjes 'variabele', as it should. PHP5 overigens, maar volgens mij is de werking niet anders onder PHP4.

Maar wat wil je nu uiteindelijk bereiken? Weten in welke map je zit? Daarvoor kun je toch prima getcwd() gebruiken lijkt me?

Ik krijg overigens de indruk dat je iets enorm lelijks aan het doen bent, wil je nu daadwerkelijk voor elke subdir een script kopieeren wat iets doet? En een variabele uit de index halen die je continu zelf aanpast? :o
Wat ik wil doen is:
De fotogallery (http://coutophotos.hopto.org/ voorbeeldje) bestaat uit mappen. Nu heb ik in de index een scriptje gezet die bij elke dir automatisch aan de onderkant van de pagina een uploadformuliertje plaatst als je een map bekijkt (mensen kunnen dus foto's aan de map die ze bekijken toevoegen). deze moet alleen wel weten in welke map die zit.
In de index staat wel een variabele die dit aangeeft, maar deze moet ik weer naar de config file van het script doorluiken.
That's it
Pagina: 1