[PHP] Javascript dynamisch genereren *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik weet niet of het mogelijk is, maar kan je in een HTML -pagina via Javascript PHP informatie defineren? Ik kan begrijpen dat het wat onduidelijk over komt, vandaar hieronder even een voorbeeld script;

Via HTML PHP aanroepen en wegschrijven neer het scherm;
code:
1
2
3
4
5
  <?php
  $host = gethostbyaddr($REMOTE_ADDR);
  $land = substr(strrchr($host, "."), 1);
  echo $land;
  ?>


En nou, wat me dus niet lukt, via HTML naar Javascript en dan PHP aanroepen;
code:
1
2
3
4
5
document.write('  <?php'); 
document.write('  $host = gethostbyaddr($REMOTE_ADDR);');   
document.write('  $land = substr(strrchr($host, "."), 1);');
document.write('  echo $land;');
document.write('  ?>');


Ik wil dan via het Javascript de data uit $land defineren naar een volledige tekst, bijvoorbeeld;

code:
1
2
3
if ???? := 'nl' then var NaamLand = 'Nederland';
...
document.write(NaamLand);


Kan dit? En zo ja, hoe moet ik dit dan schrijven? :P

Ps laat het verhaal van het verschil van script en javascript aub achterwege, ik heb het javascipt genoemd omdat dat iets duidelijker was (naar mijn idee). En het verhaal om dit anders te doen ook aub, het gaat om de principe werking hiervan.

Acties:
  • 0 Henk 'm!

  • klokop
  • Registratie: Juli 2001
  • Laatst online: 16-09 19:21

klokop

swiekie swoeng

Zoiets. Gebruik php om javascr. op te schrijven.
code:
1
2
3
4
5
6
7
8
9
10
11
<?php'
$host = gethostbyaddr($REMOTE_ADDR);
$land = substr(strrchr($host, "."), 1);
if (instr($land,'.nl')) {
 $landNaam = 'Niederlande';
}

echo "<script>";
echo "document.write(''.$landNaam.'')";
echo "</script>";
?>

"Passing silhouettes of strange illuminated mannequins"


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 26 June 2003 @ 13:49:

En nou, wat me dus niet lukt, via HTML naar Javascript en dan PHP aanroepen;
code:
1
2
3
4
5
document.write('  <?php'); 
document.write('  $host = gethostbyaddr($REMOTE_ADDR);');   
document.write('  $land = substr(strrchr($host, "."), 1);');
document.write('  echo $land;');
document.write('  ?>');
Wat doe je hier fout? Javascript wordt pas uitgevoerd als d hele pagina op de client binnen is. Je moet dus zorgen dat de PHP code een stuk javascript genereert dat geheel werkend is.

Als je $land in een javascript variabele wilt, moet je dat ongeveer zo doen:
JavaScript:
1
land = '<?php echo $land; ?>';

Voordat de code naar de client wordt gestuurd, wordt de php code uitgevoerd waardoor er bijvoorbeeld dit uit komt:
JavaScript:
1
land = 'nl';

[ Voor 65% gewijzigd door Verwijderd op 26-06-2003 14:00 ]


Acties:
  • 0 Henk 'm!

  • samo
  • Registratie: Juni 2003
  • Laatst online: 13:34

samo

yo/wassup

probeer dan vanuit PHP javascript aan te roepen?

Bekend van cmns.nl | ArneCoomans.nl | Het kindertehuis van mijn pa in Ghana


Acties:
  • 0 Henk 'm!

Verwijderd

samo-arne schreef op 26 June 2003 @ 14:03:
probeer dan vanuit PHP javascript aan te roepen?
Hoe dan? Geef eens een voorbeeld.

Acties:
  • 0 Henk 'm!

  • samo
  • Registratie: Juni 2003
  • Laatst online: 13:34

samo

yo/wassup

of probeer eens:
code:
1
2
3
4
5
document.write('<?php
$host = gethostbyaddr($REMOTE_ADDR);
$land = substr(strrchr($host, "."), 1);
print("***JAVASCRIPT COMMANDO***");
?>')


of:
code:
1
2
3
4
5
6
7
8
<?php
function show_cty() {
 $host = gethostbyaddr($REMOTE_ADDR);
 $land = substr(strrchr($host, "."), 1);
 print("$land");
}
?>
document.write('<?php show_cty(); ?>')

heb het alleen niet kunnen testen op werk


aangezien javasvript op het scherm wordt weergegeven en php daarvoor al geinterpeteerd moet worden, kan je niet met java script php waarden doorgeven...

[ Voor 44% gewijzigd door samo op 26-06-2003 14:24 ]

Bekend van cmns.nl | ArneCoomans.nl | Het kindertehuis van mijn pa in Ghana


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
klokop schreef op 26 June 2003 @ 13:58:
Zoiets. Gebruik php om javascr. op te schrijven.
code:
1
2
3
4
5
6
7
8
9
10
11
<?php'
$host = gethostbyaddr($REMOTE_ADDR);
$land = substr(strrchr($host, "."), 1);
if (instr($land,'.nl')) {
 $landNaam = 'Niederlande';
}

echo "<script>";
echo "document.write(''.$landNaam.'')";
echo "</script>";
?>
Dit lijkt me inderdaad de meest handige instructie ervoor, ik heb echter de code wat omgebouw naar; (ik moet echter alleen weergeven)

code:
1
2
3
4
5
6
7
8
<?php
   $host = gethostbyaddr($REMOTE_ADDR);
   $land = substr(strrchr($host, "."), 1);
   if (instr($land,'.nl')) {
        $landNaam = 'Niederlande';
   }
   echo "$landNaam" ;
?>


Helaas krijg ik (bij beide codes) devolgende foutmelding;
Fatal error: Call to undefined function: instr() in ........

Kan dit aan de host liggen of gewoon aan de code? Ik zit te testen via lycos.
(Ps mijn kennis is iets wat beneden pijl merk ik al :) )

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
"Wat doe je hier fout? Javascript wordt pas uitgevoerd als d hele pagina op de client binnen is. Je moet dus zorgen dat de PHP code een stuk javascript genereert dat geheel werkend is.
"

Ik kan hieruit dus ook opmaken dat, als ik informatie via Javascript opvraag, ik deze niet kan wegschrijven naar een bestand door de (on)gelijkstijdigheidsfactor?

Acties:
  • 0 Henk 'm!

  • samo
  • Registratie: Juni 2003
  • Laatst online: 13:34

samo

yo/wassup

PHP = server based
Javascript = client based

De server stuurt alleen bestanden naar de client, en stuurt opnieuw indien de client daarom vraagt. Dat kan dus alleen via een nieuwe pagina opvragen. Je kan dus niet deze twee technieken combineren.

wat wel kan is PHP laten bepalen (ten tijde van het laden van de pagina) wat Javascipt uitvoert zodra de client daarom vraagt

Bekend van cmns.nl | ArneCoomans.nl | Het kindertehuis van mijn pa in Ghana


Acties:
  • 0 Henk 'm!

  • nxt
  • Registratie: November 2001
  • Laatst online: 24-08 15:34

nxt

Verwijderd schreef op 26 June 2003 @ 14:16:
[...]
...Helaas krijg ik (bij beide codes) devolgende foutmelding;
Fatal error: Call to undefined function: instr() in ........

Kan dit aan de host liggen of gewoon aan de code? Ik zit te testen via lycos.
ehrm, waar wou je die instr functie vandaan halen? php kent 'm in elk geval niet
hint

[ Voor 7% gewijzigd door nxt op 26-06-2003 14:24 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
"ehrm, waar wou je die instr functie vandaan halen? php kent 'm in elk geval niet"

Daar lijk het inderdaad op, ik ben alleen ook maar aan het rommelen met de gegeven codes (zie samo-arne z`n reactie)

Acties:
  • 0 Henk 'm!

  • klokop
  • Registratie: Juli 2001
  • Laatst online: 16-09 19:21

klokop

swiekie swoeng

Fatal error: Call to undefined function: instr() in ........
Hmm. Vroegah bestond die functie toch? instr()? Of haal ik nou allerlei talen doorelkaar? :P
edit:
Jup, 't is ASP [klik]

[ Voor 22% gewijzigd door klokop op 27-06-2003 09:37 ]

"Passing silhouettes of strange illuminated mannequins"


Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 11-09 11:19

chem

Reist de wereld rond

En in ASP kan je wel JavaScript gebruiken
om het allemaal nog moeilijker te maken :P

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

Het verbaast me nog hoeveel mensen moeite hebben om serverside en clientside uit elkaar te houden.. of om clientside code te genereren met je serverside taal :)

Tis wat dat betreft niet anders dan het genereren van html, het moet wel werken op zichzelf wat je genereert. :)

Oftewel, schrijf eerst eens de werkende javascript en ga dan pas over op het 'inplakken' van variabelen e.d. serverside. Zo werk je toch ook met html neem ik aan :)

[ Voor 25% gewijzigd door Bosmonster op 27-06-2003 10:05 ]


Acties:
  • 0 Henk 'm!

Verwijderd

chem schreef op 27 June 2003 @ 09:57:
En in ASP kan je wel JavaScript gebruiken
om het allemaal nog moeilijker te maken :P
Serverside javascript, heeft niets met PHP of ASP te maken..

[ Voor 12% gewijzigd door Verwijderd op 27-06-2003 14:21 . Reden: ff nagedacht :) ]


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

Verwijderd schreef op 27 June 2003 @ 14:20:
[...]

Serverside javascript, heeft niets met PHP of ASP te maken..
Voor zover ik weet is ASP de techniek en kun je hierbij gebruik maken van VBScript of Javascript (of andere talen). Het heeft dus veel met elkaar te maken :)
Pagina: 1