Php var gebruiken in javascript

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jens B

Jens B

18/01/2011 15:14:00
Quote Anchor link
Hallo Allemaal,

Wederom misschien een matige vraag, maar wederom is alle hulp welkom.
Bedankt alvast..

Omschrijving (voorbeeld) situatie:
- Ik heb een php file peehaapee.php
- ik ben een js bestand javascript.js

In het .php bestand staat een variable als volgt:

$tester = 'testing';

en in mijn javascript staat het volgende:

var tester = '<php echo $tester; ?>';

function artikel () {
document.getElementById('artikelenid').innerHTML = tester;
}


Wat ik dus wil creeren is dat ik een php var kan gebruiken in mijn javascript.js

De oplossing zoals hierboven werkt niet.. Wat zie ik over het hoofd?

Bedankt alvast,
Jens

Toevoeging op 18/01/2011 15:18:57:

Letop: ik heb in de var tester de vraagteken voor php weggehaalt, dit zodat hij dat gedeelte als gewone tekst hier neerzet en niet als php code..
Gewijzigd op 18/01/2011 15:18:13 door Jens B
 
PHP hulp

PHP hulp

29/09/2020 16:55:27
 
Kris Peeters

Kris Peeters

18/01/2011 17:18:55
Quote Anchor link
Je moet gewoon goed opletten, vooral wat betreft enkele / dubbele quotes.
Het is nogal verwarrend.

- Je moet zien dat je geen parse errors maakt in php.
- De echo van de pagina moet iets genereren dat geen parse errors geeft in javascript.

Een voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$myVar
= 'Hello World';
echo '<html>
  <head>
    <script>
      var myVar = "'
. $myVar .'";
    </script>
  </head>
  <body>
    ...
  </body>
</html>'
;
?>
 
Pim -

Pim -

18/01/2011 17:20:10
Quote Anchor link
Je JS bestand is niet .php, en php code zal er dus niet in werken. Je kan in peehaapee.php voordat je je JS file included, een JS blok maken waarin je die var definieert:
peehaapee.php in head
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<script type="text/javascript">
var tester = '<?php echo $tester; ?>';
</script>
<script type="text/javascript" src="javascript.js"></script>
Gewijzigd op 18/01/2011 17:20:51 door Pim -
 
Thijs Damen

Thijs Damen

19/01/2011 15:48:01
Quote Anchor link
Go met javascript globals yeah!

je kunt ook:
javascript.js.php

en dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<script><? include('javascript.js.php'); ?></script>

Dan kun je wel php variable in je JS gebruiken en hoef je ze niet allemaal global te maken.
 
Pim -

Pim -

19/01/2011 16:18:12
Quote Anchor link
Zo verlies je alle voordeel die een extern js heeft...
 
Thijs Damen

Thijs Damen

19/01/2011 16:21:23
Quote Anchor link
Pim - op 19/01/2011 16:18:12:
Zo verlies je alle voordeel die een extern js heeft...


zoals....
 
Jens B

Jens B

19/01/2011 17:11:33
Quote Anchor link
Danku allemaal..

Ik ben er echter al achter dat wat ik precies wil doen niet werkt..
Toch hartelijk bedankt voor de reacties!
 
Pim -

Pim -

19/01/2011 21:35:52
Quote Anchor link
Thijs Damen op 19/01/2011 16:21:23:
Pim - op 19/01/2011 16:18:12:
Zo verlies je alle voordeel die een extern js heeft...


zoals....


Beperking van de server en client last, omdat je het JS bestand maar 1x hoeft te downloaden.
 
Kris Peeters

Kris Peeters

20/01/2011 10:52:33
Quote Anchor link
Als je daar dynamisch gegenereerde gegevens wil zetten, wil je juist dat het niet uit een bestand komt in de cache.

Neemt niet weg dat je dat je je functies die niet dynamisch zijn, best wel in een echt bestand steekt.
 
Jens B

Jens B

20/01/2011 11:52:12
Quote Anchor link
Iemand die hier een fout ziet en snel een oplossing voor me heeft ?
Dankjewel !

if ($artikeldata->Prijs == 0,01)

er gaat iets fout op dit regeltje :(
 
Ozzie PHP

Ozzie PHP

20/01/2011 11:54:34
Quote Anchor link
post eens wat code die eromheen staat
 

20/01/2011 11:55:05
Quote Anchor link
- SanThe - op 19/01/2011 17:30:03:
Even iets heel anders: 0,00 dat zijn twee getallen. Het decimaal teken is altijd (technisch gezien) een punt.


bron is dit topic van jouw
 
Jens B

Jens B

20/01/2011 11:56:17
Quote Anchor link
if ($artikeldata->Prijs == 0,01)
{
$test = str_get_html(parent::$html)->find('div[id=product-beschrijving]');
parent::$html = str_replace($test, '<div id="product-beschrijving" style="visibility:hidden;"></div>', parent::$html);
}

De code doet wat ik wil zonder de if .. maar nu moet het eigenlijk alleen gebeuren als de prijs 0,01 is
 
Terence Hersbach

Terence Hersbach

20/01/2011 11:56:19
Quote Anchor link
getallen bestaan niet uit , maar uit .
Bovendien heb ik nog een tip: gebruik json_encode om je variablen om te zetten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
var javascriptvar = <?php echo json_encode($var) ?>

Op deze manier kan het niet misgaan met arrays, objecten, integers en strings en eventueel een ' in een string.
 
Jens B

Jens B

20/01/2011 11:57:22
Quote Anchor link
ja sorry ik vraag heel brutaal iets heel anders in mijn eigen topic..
 
Pim -

Pim -

20/01/2011 11:59:33
Quote Anchor link
Geef eens een var_dump() van $artikeldata.
 
Jens B

Jens B

20/01/2011 12:00:31
Quote Anchor link
@Terence Hersbach

Bedankt ! ik zal er eens induiken..
En sorry van die komma, met 0.00 werkt die if ook niet !..

Toevoeging op 20/01/2011 12:05:57:

@ Pim


An error has occurred
Program error (8) "Undefined variable: artikeldata"

In een tabel op de pagina gebruik ik het volgende om het getal te plaatsen
<td align="right">'.(number_format($artikeldata->Prijs, 2, ",", "")).'</td>

Nu wil ik datzelfde getal gebruiken in mijn IF

Zeg ik iets vreemds? of snap je wat ik bedoel :)

Bedankt alvast
 
Dani Alves

Dani Alves

20/01/2011 12:44:48
Quote Anchor link
hoe moet ik een database ontwikkelen met mysql ?
Gewijzigd op 20/01/2011 12:46:04 door Dani Alves
 
Kris Peeters

Kris Peeters

20/01/2011 12:50:21
Quote Anchor link
Terence Hersbach op 20/01/2011 11:56:19:
Bovendien heb ik nog een tip: ...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
var javascriptvar = <?php echo json_encode($var) ?>


Wel goed opletten.
Je moet goed oppassen dat je geen parse errors krijgt in javascript.
Goed oppassen met ' en "; vergeet de ; ook niet in javascript.

Hier wordt dat trouwens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
var javascriptvar = <?php echo json_encode($var); ?>;
Gewijzigd op 20/01/2011 13:04:36 door Kris Peeters
 
Pim -

Pim -

20/01/2011 13:05:19
Quote Anchor link
Als $artikeldata niet bestaat, kan je hem toch ook niet gebruiken?...
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.