/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Bring variabel fra PHP til JS
Fra : Kurt G


Dato : 24-07-11 19:00

Jeg vil gerne bringe en variabel fra PHP til javascript og har forsøgt at
kopiere en stump kode fra ASP, som virker.

ASP:
<script type="text/javaScript">
maxnummer=<%=max%> //Bringer max over i javascript
</script>
<%
som jeg har lavet om til:
PHP:
?>
<script type="text/javaScript">
maxnummer=<?php $antal ?> //Bringer max over i javascript
</script>
<?php

Men variablen $antal bliver ikke bragt over i maxnummer.
Hvorfor ikke?

Mvh Kurt



 
 
Philip Nunnegaard (24-07-2011)
Kommentar
Fra : Philip Nunnegaard


Dato : 24-07-11 19:05

Kurt G skrev:

> maxnummer=<?php $antal ?> //Bringer max over i javascript

Ret det til:

maxnummer=<?php echo $antal; ?> //Bringer max over i javascript


--
Philip

Kurt G (24-07-2011)
Kommentar
Fra : Kurt G


Dato : 24-07-11 21:21

"Philip Nunnegaard" <nunnenospam@hitsurf.dk> skrev i en meddelelse
news:4e2c5edc$0$36570$edfadb0f@dtext01.news.tele.dk...
> Kurt G skrev:
>
>> maxnummer=<?php $antal ?> //Bringer max over i javascript
>
> Ret det til:
>
> maxnummer=<?php echo $antal; ?> //Bringer max over i javascript
>
>
> --
> Philip

Og det virkede: Tak!

Mvh Kurt



Philip Nunnegaard (25-07-2011)
Kommentar
Fra : Philip Nunnegaard


Dato : 25-07-11 23:03

Kurt G skrev:

> Og det virkede: Tak!

Jeg gætter på at du ville have skrevet <?=$antal?>

Det virker også ofte.
Dog har jeg 1-2 gange oplevet at en server havde deaktiveret muligheden,
så man skulle skrive "echo". Derfor har jeg på det sidste vænnet mig til
at gøre det.


--
Philip

Chano Andersen (26-07-2011)
Kommentar
Fra : Chano Andersen


Dato : 26-07-11 16:43

Den 26-07-2011 00:02, Philip Nunnegaard skrev:
> Kurt G skrev:
>
>> Og det virkede: Tak!
>
> Jeg gætter på at du ville have skrevet <?=$antal?>
>
> Det virker også ofte.
> Dog har jeg 1-2 gange oplevet at en server havde deaktiveret muligheden,
> så man skulle skrive "echo". Derfor har jeg på det sidste vænnet mig til
> at gøre det.
>
>

Parameteren i PHP opsætningen hedder short open tags. Den bevirker at
ovenstående virker, samt at <? opfattes som start på en PHP blok. Det er
PISSE irriterende, hvis man skal servere XML via PHP, da XML filer
starter med <?xml.

- Chano Andersen

Martin (29-07-2011)
Kommentar
Fra : Martin


Dato : 29-07-11 09:15

On 26-07-2011 17:42, Chano Andersen wrote:
> Den 26-07-2011 00:02, Philip Nunnegaard skrev:
>> Kurt G skrev:
>>
>>> Og det virkede: Tak!
>>
>> Jeg gætter på at du ville have skrevet <?=$antal?>
>>
>> Det virker også ofte.
>> Dog har jeg 1-2 gange oplevet at en server havde deaktiveret muligheden,
>> så man skulle skrive "echo". Derfor har jeg på det sidste vænnet mig til
>> at gøre det.
>>
>>
>
> Parameteren i PHP opsætningen hedder short open tags. Den bevirker at
> ovenstående virker, samt at <? opfattes som start på en PHP blok. Det er
> PISSE irriterende, hvis man skal servere XML via PHP, da XML filer
> starter med <?xml.

Og bare rolig i PHP 5.4 der vil short_open_tags altid være slået til, og
kan ikke ændres i php.ini, sammen med safe_mode altid vil være off
(ENDELIG!) :)

<?php echo '<?xml'; ?>
Så sådan skal du nok starte xml output, hvis ikke man har en klasse til
at lave sådan noget trivielt noget :)

Chano Andersen (29-07-2011)
Kommentar
Fra : Chano Andersen


Dato : 29-07-11 19:01

Den 29-07-2011 10:15, Martin skrev:
> Og bare rolig i PHP 5.4 der vil short_open_tags altid være slået til, og
> kan ikke ændres i php.ini, sammen med safe_mode altid vil være off
> (ENDELIG!) :)

Ret crappy. Det burde slet ikke være tilladt at bruge short_open_tags..
Fatter slet ikke formålet, der skal satme mange filer til at det kan
betale sig. :P

> <?php echo '<?xml'; ?>
> Så sådan skal du nok starte xml output, hvis ikke man har en klasse til
> at lave sådan noget trivielt noget :)

Det er så også sådan jeg plejer at gøre det, bare for en sikkerheds
skyld. Men det er stadig pisse irriterende.

Mit XML behov er i øvrigt ikke stort nok til at have en klasse til
formålet, og at benytte PHPs XML funktioner til at generere en XML fil
ud fra et database udtræk, giver slet ingen mening, når det ikke skal
manipuleres efterfølgende. ;)

- Chano Andersen

Ukendt (30-07-2011)
Kommentar
Fra : Ukendt


Dato : 30-07-11 19:56

Den 29-07-2011 20:01, Chano Andersen skrev:
> Den 29-07-2011 10:15, Martin skrev:
>> Og bare rolig i PHP 5.4 der vil short_open_tags altid være slået til, og
>> kan ikke ændres i php.ini, sammen med safe_mode altid vil være off
>> (ENDELIG!) :)
>
> Ret crappy. Det burde slet ikke være tilladt at bruge short_open_tags..
> Fatter slet ikke formålet, der skal satme mange filer til at det kan
> betale sig. :P

Ahh, <?=$var;?> er nu ret OK, især hvis man bruger PHP som template motor.

<?=$var==1?'OK':'Nej'?>
<?php echo $var==1?'OK':'Nej'?>
8 tegns forskel

>
>> <?php echo '<?xml'; ?>
>> Så sådan skal du nok starte xml output, hvis ikke man har en klasse til
>> at lave sådan noget trivielt noget :)
>
> Det er så også sådan jeg plejer at gøre det, bare for en sikkerheds
> skyld. Men det er stadig pisse irriterende.
>
> Mit XML behov er i øvrigt ikke stort nok til at have en klasse til
> formålet, og at benytte PHPs XML funktioner til at generere en XML fil
> ud fra et database udtræk, giver slet ingen mening, når det ikke skal
> manipuleres efterfølgende. ;)

Det er netop det der er så rart med klasser, min "create xml" klasse er
godt og vel 5-6 år gammel, men jeg bruger den stadig og har ikke ændret
noget nævneværdigt i den :)

Chano Andersen (01-08-2011)
Kommentar
Fra : Chano Andersen


Dato : 01-08-11 17:52

Den 30-07-2011 20:55, Martin skrev:
> Den 29-07-2011 20:01, Chano Andersen skrev:
>> Ret crappy. Det burde slet ikke være tilladt at bruge short_open_tags..
>> Fatter slet ikke formålet, der skal satme mange filer til at det kan
>> betale sig. :P
>
> Ahh, <?=$var;?> er nu ret OK, især hvis man bruger PHP som template motor.
>
> <?=$var==1?'OK':'Nej'?>
> <?php echo $var==1?'OK':'Nej'?>
> 8 tegns forskel

Jeg kan ikke se hvorfor man skal komprimere koden så meget. Det gør den
bare mere ulæselig... Så fordi man skal tilføje de mellemrum du har
udeladt, samt lidt ekstra tegn, betyder ikke alverden. 5MB webhotellerne
er stort set udryddede, så et par tegn ekstra betyder INTET, andet end
at koden er lettere at læse.

Se f.eks. disse 4 eksempler, de gør præcis det samme, men læsbarheden af
koden er der stor forskel på.

<?for($i=0;$i<10;$i++){echo"{$i}\n";}?>

<?php for($i=0;$i<10;$i++){echo"{$i}\n";}?>


<?php

for($i=0; $i<10; $i++)
{
   echo "{$i}\n";
}

?>

<?php

for($i=0; $i<10; $i++):
   echo "{$i}\n";
endfor;

?>


<?php flader langt nemmere i øjnene når man scroller igennem en fil, end
<? gør det, når der i forvejen er en pæn del HTML. L


> Det er netop det der er så rart med klasser, min "create xml" klasse er
> godt og vel 5-6 år gammel, men jeg bruger den stadig og har ikke ændret
> noget nævneværdigt i den :)

Jo, men så meget ens er der heller ikke i mine XML'er, og primært er det
et spørgsmål om at lave en XML skabelon, og så gentage et element x
antal gange alt efter antal poster i database udtrækket...

Det eneste jeg ville bruge en sådan klasse til, ville være XML Headeren
i toppen. Måske lidt spild af tid? :P

- Chano Andersen

Philip Nunnegaard (01-08-2011)
Kommentar
Fra : Philip Nunnegaard


Dato : 01-08-11 18:57

Chano Andersen skrev:

> Jeg kan ikke se hvorfor man skal komprimere koden så meget. Det gør den
> bare mere ulæselig... Så fordi man skal tilføje de mellemrum du har
> udeladt, samt lidt ekstra tegn, betyder ikke alverden. 5MB webhotellerne
> er stort set udryddede, så et par tegn ekstra betyder INTET, andet end
> at koden er lettere at læse.

I det hele taget er webhoteller der måler pladsen i MB vist næsten
udryddet i dag.

--
Philip

Mads Lie Jensen (31-07-2011)
Kommentar
Fra : Mads Lie Jensen


Dato : 31-07-11 06:35

On Fri, 29 Jul 2011 20:01:29 +0200, Chano Andersen
<sunsite012011@chanoandersen.dk> wrote:

>> Og bare rolig i PHP 5.4 der vil short_open_tags altid være slået til, og
>> kan ikke ændres i php.ini, sammen med safe_mode altid vil være off
>> (ENDELIG!) :)
>
>Ret crappy. Det burde slet ikke være tilladt at bruge short_open_tags..
>Fatter slet ikke formålet, der skal satme mange filer til at det kan
>betale sig. :P

Nu er det heller ikke 'rigtige' short_open_tags der vil være slået til
altid i php 5.4. Det er <?= som altid vil være der. Altså hvad der
svarer til <?php echo ...
Om rigtige short_open_tags helt forsvinder fra 5.4 og om der kommer en
<?php= også, er jeg ikke helt med på.

--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
Gartneriet - http://www.gartneriet.dk/

Philip Nunnegaard (29-07-2011)
Kommentar
Fra : Philip Nunnegaard


Dato : 29-07-11 18:30

Chano Andersen skrev:

> Parameteren i PHP opsætningen hedder short open tags. Den bevirker at
> ovenstående virker, samt at <? opfattes som start på en PHP blok. Det er
> PISSE irriterende, hvis man skal servere XML via PHP, da XML filer
> starter med <?xml.

Det har jeg også haft meget "sjov" med, da jeg en gang skulle uploade et
XML-sitemap på mit webhotel.

Stig Johansen hjalp mig med problemet i sin tid.

--
Philip

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste