[PHP] include. 2 files die geinclude moeten worden.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
code:
1
2
3
4
<?php 
include "http://www.nxshardcore.com/smileys/smiley1.php";
include "http://www.nxshardcore.com/smileys/smiley2.php"; 
?>


In de eerste file staat alleen maar dit soort regels:

code:
1
2
3
$message = str_replace (" :roll: ","[img]http://www.nxshardcore.com/smileys/icon_rolleyes.gif[/img]", $message);
$message = str_replace (" :mad: ","[img]http://www.nxshardcore.com/smileys/icon_mad.gif[/img]", $message);
$message = str_replace (" :doh: ","[img]http://www.nxshardcore.com/smileys/icon_doh.gif[/img]", $message);


En in smiley2.php de smileys om ze zichtbaar te maken in mijn gastenboek. ik heb het voorelkaar gekregen dat je ze kan aanklikken en dat ze dan in je formulier worden toegevoegd.

Probleem is alleen. Smiley2.php wordt correct uitgevoerd. De smileys worden zichtbaar gemaakt maar smiley1.php daar kan ik niet echt wijs uit worden.

Als ik de inhoud invul op de plaats van de include regel van smiley1.php dan werkt de code wel en anders niet. Ik heb in smiley1.php aangegeven dat het om php code gaat. dus dat lijkt me ook niet verkeerd.

Wat doe ik fout. Ik hoop dat het zo goed is? BtW... dit keer heb ik hier gezocht maar verder geen bruikbare tips gevonden vandaar deze nieuwe topic.

Acties:
  • 0 Henk 'm!

  • Reinier
  • Registratie: Februari 2000
  • Laatst online: 19:01

Reinier

\o/

PHP tags in de include file vergeten?

Sorry, overheen gelezen...

Zou je trouwens de naam van de server niet vervangen door $servername of iets dergelijks, zodat het allemaal wat dynamischer wordt? Maakt het allemaal wat makkelijker als je van hosting provider wisselt :)

[ Voor 77% gewijzigd door Reinier op 08-01-2004 22:13 ]


Acties:
  • 0 Henk 'm!

  • Willem2
  • Registratie: Oktober 2000
  • Laatst online: 20-09 06:39

Willem2

Ω is futile

Het lijk erop dat de server in de http:// regel zelf ook php code parsed. Dus krijg je niets terug...

Als het dezelfde server is als waarop het hoofscript staat, probeer dan eens een include met relatief pad.

en nee, ik houd niet van voetbal... :)


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
$message wordt waarschijnlijk ergens anders gedefinieerd en waarschijnlijk nadat smiley1.php geincluded is. Dus hij vervang steeds alles in de lege string :)
Waarom maak je geen functie 'replace' die alle bovengenoemende calls doet?

PHP:
1
2
3
4
5
6
7
function replace_smilies( $message ) {
  
   $l_message = $message; 
   $l_message = str_replace (" :roll: ","<img src=http://www.nxshardcore.com/smileys/icon_rolleyes.gif>", $l_message);
   ...
   return $l_message;
}

Mooier is natuurlijk de herhaling uit de code te slopen door een array te maken met (smilycode, url) combinatie en die dan in één maal te vervangen :)

:o Bart B heeft gelijk. Hoewel hij het anders zegt, zit je nu de uitgevoerde php op te vragen omdat je hem via je webserver opvraagt in plaats van via je filesystem...

[ Voor 13% gewijzigd door Glimi op 08-01-2004 22:19 ]


Acties:
  • 0 Henk 'm!

  • Bart B
  • Registratie: Juli 2000
  • Laatst online: 05-01 16:29
au au au.... ben jij nu code aan het includen van een andere server? Houdt er rekening mee dat iedere veranderingg daar voor jou ook gevolgen heeft. doe dit dan ook liever niet!

sry... maar dit viel me op.

Acties:
  • 0 Henk 'm!

  • JWO
  • Registratie: Januari 2002
  • Laatst online: 19:35

JWO

ehh is het niet op deze manier ?

code:
1
2
3
<?
include("teincludenbestand"); 
?>


kan het mis hebben hoor :P

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dat van de server dat kan ik altijd nog doen.. :)

Maar waarom ik dit doe is het volgende.

Ik heb meerdere gelijke gastenboeken maar deze waar ik deze week mee bezig men geweest is nu nog de enige met aanklikbare smileys.
Ik wil de anderen ook zo hebben maar het lijkt me teveel werk als ik smileys wil toevoegen om dan elke gastenboek appart te moeten veranderen.

Vandaar smiley1.php en smiley2.php

Sorry btw.. ben nog wel wat een newby wat betreft php. Dat wat ik nu weet heb ik mezelf wat aangeleerd.

Ik denk dat ik de code in 1 bestand ga doen. is wel beter denk ik. in smiley1.php
JWO schreef op 08 januari 2004 @ 22:23:
ehh is het niet op deze manier ?

code:
1
2
3
<?
include("teincludenbestand"); 
?>


kan het mis hebben hoor :P
Dat werkt toch allebei toch wel??

BtW.. dit is de gastenboek waar ik nu dus aan het sleutelen ben:

http://www.nxshardcore.com/ingetjuh/gbook2.php3

Ik heb op de message veld na alle beveiligingen uitgeschakeld dus hoeft niet alles ingevuld te worden. Dit is maar tijdelijk.
Probeer het eens.

[ Voor 33% gewijzigd door Verwijderd op 08-01-2004 22:31 ]


Acties:
  • 0 Henk 'm!

  • rik
  • Registratie: April 2000
  • Laatst online: 15-09 10:43

rik

Ik kan niet zien of dat je op dezelfde server bezig bent, maar rename die twee included files eens naar .inc of iets, zoals het er nu naar uit ziet wordt eerst de php geprocessed en die output wordt dan geincluded... dat is natuurlijk niet de bedoeling :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het gaat om gastenboeken op dezelfde server. Dus dat hoeft geen probleem te wezen hoop ik :)

Dat renamen van .php naar .inc helpt niet.

[ Voor 19% gewijzigd door Verwijderd op 08-01-2004 22:37 ]


Acties:
  • 0 Henk 'm!

  • Willem2
  • Registratie: Oktober 2000
  • Laatst online: 20-09 06:39

Willem2

Ω is futile

Uit de manual:

If "URL fopen wrappers" are enabled in PHP (which they are in the default configuration), you can specify the file to be included using an URL (via HTTP or other supported wrapper - see Appendix I for a list of protocols) instead of a local pathname. If the target server interprets the target file as PHP code, variables may be passed to the included file using an URL request string as used with HTTP GET. This is not strictly speaking the same thing as including the file and having it inherit the parent file's variable scope; the script is actually being run on the remote server and the result is then being included into the local script.

Dus als ik het goed begrijp krijg je de geparste output terug en niet de PHP code die jij graag wilt gebruiken in je gastenboeken!

en nee, ik houd niet van voetbal... :)


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok.. wat wordt er precies bedoeld met geparsed??

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

zoals rik al zei : door het includen van een bestand beginnend met http:// wordt de uitvoer van de .php geinclude, niet de code zelf.

Include de file als relatief pad, niet als absoluut met http.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 15-09 18:24

dusty

Celebrate Life!

geparsed -> Verwerkt.

dus de php code wordt uitgevoerd op de server, en de uitvoer wordt dan geinclude ipv de code.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
dus als met de pad naar bijv: cgi?? /usr/local etc etc dus?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dat wil dus ook niet werken.

Ik heb de .php en .inc extentie geprobeerd.
Ik heb heb de relatieve pad geprobeer en dat werkt ook niet.
Pagina: 1