login  Naam:   Wachtwoord: 
Registreer je!
 Forum

functie werkt niet meer

Offline rilm - 18/12/2010 23:26 (laatste wijziging 19/12/2010 00:48)
Avatar van rilmNieuw lid hoi ik heb een vraag ik heb een stukje code wat een array naar een tekst bestand moet schrijven,deze functie staat in een js bestand en werkt prima nu wil ik de php array overhevelen naar javascript met een stukje php code in mijn functie.
deze functie heb ik moeten verplaatsen naar mijn head anders voerde die mijn pagina niet goed uit alleen schrijft hij nu niks meer naar mijn txt bestand.ik zet eerst de code neer zoals die werkte in mijn js bestand het gaat om de DivId==birtv vanaf de php code en de for loop die erna komt.
iemand enig idee?

  1. <script type="text/javascript">
  2. function WriteToFile(DivId) {
  3. var parts = new Array();
  4. try {
  5. var fso = new ActiveXObject("Scripting.FileSystemObject");
  6. filename="test.txt";
  7. if (fso.FileExists(filename)){
  8. // file exists
  9. }
  10.  
  11. var fso = new ActiveXObject("Scripting.FileSystemObject");
  12. // maak een nieuw FileSystemObject object aan
  13.  
  14. if(DivId=='menu'){
  15. // schrijf de kleuren naar tekst file
  16. var a = fso.OpenTextFile("c:\\Inetpub\\wwwroot\\testfile.txt", 2,true);
  17. // open file voor toevoegen (=8). (schrijven(=2) lezen(=1))
  18. a.WriteLine('Persoonlijkbericht: '+ oRulepm.style.color + ' ');
  19. a.WriteLine('Status: '+ oRulestatus.style.color + ' ');
  20. a.WriteLine('Msnnaam: '+ oRulenam.style.color + ' ');
  21. a.WriteLine('Webbar: '+ oRulebar.style.background + ' ');
  22. a.WriteLine('Header: '+ oRuleheader.style.background + ' ');
  23. a.WriteLine('Achtergrond: '+ oRulebg.style.background + ' ');
  24. a.WriteLine('Licht: '+ oRulelicht.style.color + ' ');
  25. }
  26.  
  27. if(DivId=='birtv'){
  28. var a = fso.OpenTextFile("c:\\Inetpub\\wwwroot\\testfile1.txt", 8,true);
  29. // open file voor toevoegen (=8). (schrijven(=2) lezen(=1))
  30.  
  31. <?php
  32. for($i=0;$i<count($parts); $i++) {
  33. echo "parts[$i]='".$parts[$i]."';\n";
  34. }
  35. ?>
  36.  
  37. for(i=0;i<parts.length;i++)
  38. a.WriteLine(parts[i]);
  39. //a.WriteLine();
  40. }
  41.  
  42. // schrijf de kleuren naar tekst file
  43. a.Close();
  44. }
  45. // indien fout geeft de foutmelding weer
  46. catch(err){
  47. var strErr = 'Error:';
  48. strErr += '\nNumber:' + err.number;
  49. strErr += '\nDescription:' + err.description;
  50. document.write(strErr);
  51. }
  52. }
  53.  
  54. </script>

2 antwoorden

Gesponsorde links
Offline Abbas - 19/12/2010 00:48
Avatar van Abbas Gouden medaille

Crew .NET
Volgende keer CODETAGS gebruiken en ook anders eens de forumregels lezen!
Offline avdg - 20/12/2010 15:32 (laatste wijziging 21/12/2010 01:10)
Avatar van avdg PHP gevorderde De functie werkt niet omdat php eerst geparst wordt op de server. Die stuurt het resultaat (html en javascript) als gewone tekst door naar de client, want voor php heeft die javascript code geen enkele betekenis (erger nog, php maakt geen fout, omdat de grote van variabele $parts NULL is oftewel niets, de code zal dan ook geen output genereren).

Dus het script op de server
  1. <html>
  2. <!-- html -->
  3. <header>
  4. <script>
  5. /* javascript */
  6. </script>
  7. </header>
  8. <body>
  9. <?php
  10. echo 'hello';
  11. ?>
  12. </body>
  13. </html>


Zal deze code doorgeven naar de browser:
  1. <html>
  2. <!-- html -->
  3. <header>
  4. <script>
  5. /* javascript */
  6. </script>
  7. </header>
  8. <body>
  9. hello
  10. </body>
  11. </html>


Pas als php de 'output' heeft gegenereerd, en deze ontvangen is door de browser begint het verwerkingsproces van html en javascript. Tegen dan zie je geen enkele regel php meer, omdat de php code vervangen is door (in het geval van het script in de topic) niets.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.181s