/ 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
Hente php data gennem javascript
Fra : Stig Sørensen


Dato : 17-11-08 10:35

Hej gruppe, og beklager hvis jeg er malplaceret.


Det jeg er igang med er lidt som noget banner-rotation, bare med
almindeligt tekst i stedet for.
Eksempel:

Man tilmelder sig som bruger på min hjemmeside.
Man indtaster data om sig selv og sin hjemmeside.
I stil med Google Adsense (Chart.dk etc..) kan man kopiere et stykke
kode (Javascript?) som man skal indsætte på sin hjemmeside.
Der vil nu vises random tekst-udsnit på ens hjemmeside alt afhængig af
indstillinger i ens profil.


Mit problem ligger i hvordan jeg får det vist på brugernes egne
hjemmesider.

Jeg havde tænkt mig at inkludere 'random tekst-udsnit' via javascript,
feks:

<script type="text/javascript"><!--
bruger_id = "8493749";
//-->
</script>

[1]<script type="text/javascript"
src="vistekst.js">
</script>

Meningen er så at vistekst.js tager variablen "bruger_id" med sig hen
til et php script, der via bruger_id variablen kigger i en database
efter personlige indstillinger, og herefter outputter de tilfældige
tekst-udsnit til browseren.

Men hvordan gøres alt dette i praksis? Jeg har googlet og googlet men
ikke blevet meget klogere.



[1] Jeg har skrevet vistekst.js (.js) fordi jeg mener ikke at man kan
inkludere en php fil via JS, er dette ikke korrekt?

 
 
Birger Sørensen (17-11-2008)
Kommentar
Fra : Birger Sørensen


Dato : 17-11-08 18:45

Stig Sørensen har bragt dette til os:
> Hej gruppe, og beklager hvis jeg er malplaceret.
>
>
> Det jeg er igang med er lidt som noget banner-rotation, bare med
> almindeligt tekst i stedet for.
> Eksempel:
>
> Man tilmelder sig som bruger på min hjemmeside.
> Man indtaster data om sig selv og sin hjemmeside.
> I stil med Google Adsense (Chart.dk etc..) kan man kopiere et stykke
> kode (Javascript?) som man skal indsætte på sin hjemmeside.
> Der vil nu vises random tekst-udsnit på ens hjemmeside alt afhængig af
> indstillinger i ens profil.
>
>
> Mit problem ligger i hvordan jeg får det vist på brugernes egne
> hjemmesider.
>
> Jeg havde tænkt mig at inkludere 'random tekst-udsnit' via javascript,
> feks:
>
> <script type="text/javascript"><!--
> bruger_id = "8493749";
> //-->
> </script>
>
> [1]<script type="text/javascript"
> src="vistekst.js">
> </script>
>
> Meningen er så at vistekst.js tager variablen "bruger_id" med sig hen
> til et php script, der via bruger_id variablen kigger i en database
> efter personlige indstillinger, og herefter outputter de tilfældige
> tekst-udsnit til browseren.
>
> Men hvordan gøres alt dette i praksis? Jeg har googlet og googlet men
> ikke blevet meget klogere.
>
>
>
> [1] Jeg har skrevet vistekst.js (.js) fordi jeg mener ikke at man kan
> inkludere en php fil via JS, er dette ikke korrekt?

Rent principielt er det en skidt idé at blande <script> andre steder
end i <head>.
Desuden er det du gerne vil vist ikke ladesiggørligt. Mener man bruger
f.eks. et <img> - det kan ændre indhold undervejs.
PHP kører serverside - altså hvor teksten hentes. js er clientside -
hvor teksten vises. Du vil vise teksten, før du har hentet den : virker
ikke.

Alternativet er noget AJAX. Det kan skifte indhold i alee HTML
elementer.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Mads Lie Jensen (17-11-2008)
Kommentar
Fra : Mads Lie Jensen


Dato : 17-11-08 19:23

On Mon, 17 Nov 2008 18:44:32 +0100, Birger Sørensen <sdc@bbsorensen.com>
wrote:

>Rent principielt er det en skidt idé at blande <script> andre steder
>end i <head>.

Hvorfor?

(Når nu <http://www.w3.org/TR/html401/interact/scripts.html> siger: "The
SCRIPT element places a script within a document. This element may
appear any number of times in the HEAD or BODY of an HTML document.")
--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
Gartneriet - http://www.gartneriet.dk/

Birger Sørensen (17-11-2008)
Kommentar
Fra : Birger Sørensen


Dato : 17-11-08 19:45

Mads Lie Jensen forklarede den 17-11-2008:
> On Mon, 17 Nov 2008 18:44:32 +0100, Birger Sørensen <sdc@bbsorensen.com>
> wrote:
>
>> Rent principielt er det en skidt idé at blande <script> andre steder
>> end i <head>.
>
> Hvorfor?
>
> (Når nu <http://www.w3.org/TR/html401/interact/scripts.html> siger: "The
> SCRIPT element places a script within a document. This element may
> appear any number of times in the HEAD or BODY of an HTML document.")

Fordi det gør det umuligt - eller i hvert fald vanskeligere end
nødvendigt - at se kildekoden til det oprindelige document.
Fordi det 99.9% af de tilfælde hvor det anvendes, er dårlig
tilrettelæggelse.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Dan Storm (18-11-2008)
Kommentar
Fra : Dan Storm


Dato : 18-11-08 08:33

Birger Sørensen skrev:
> Fordi det gør det umuligt - eller i hvert fald vanskeligere end
> nødvendigt - at se kildekoden til det oprindelige document.
> Fordi det 99.9% af de tilfælde hvor det anvendes, er dårlig
> tilrettelæggelse.

Begrund dine udtalelser med eksempler og forklaring på hvorfor du mener
at det umuligt/vanskeligt at se kildekoden 'i det oprindelige dokument
(?!?)' og hvorfor du mener at 99,9% af alle de tilfælde det anvendes er
dårlig tilrettelæggelse.

Ovenstående er trods alt en subjektiv udtalelse.


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Stig Sørensen (17-11-2008)
Kommentar
Fra : Stig Sørensen


Dato : 17-11-08 11:08

On 17 Nov., 18:44, Birger Sørensen <s...@bbsorensen.com> wrote:

> Rent principielt er det en skidt idé at blande <script> andre steder
> end i <head>.
> Desuden er det du gerne vil vist ikke ladesiggørligt. Mener man bruger
> f.eks. et <img> - det kan ændre indhold undervejs.
> PHP kører serverside - altså hvor teksten hentes. js er clientside -
> hvor teksten vises. Du vil vise teksten, før du har hentet den : virker
> ikke.
>
> Alternativet er noget AJAX. Det kan skifte indhold i alee HTML
> elementer.
>
> Birger

Selvfølgelig kan det vel lade sig gøre. Google Adsense gør det bla?
Tænker ikke på deres bannere, men de tilbyder også links. Der
indsætter man et stykke javascript kode på sin hjemmeside, og ved
hvert refresh af ens hjemmeside bliver man nu præsenteret for et par
nye html links - alt afhængig af indstillingerne i ens profil.

Processen i dette kunne jeg godt tænke mig at vide.

Carsten (17-11-2008)
Kommentar
Fra : Carsten


Dato : 17-11-08 19:21

"Stig Sørensen" <stig.sorensen@gmail.com> skrev i en meddelelse
news:cef9da57-7e07-4f37-8726-
> Alternativet er noget AJAX. Det kan skifte indhold i alee HTML
> elementer.
>
> Birger

>Selvfølgelig kan det vel lade sig gøre. Google Adsense gør det bla?

Ja, og som birger skriver så gør de det højest sandsynligt via AJAX - altså
noget javascript som så efterfølgende kalder noget server kode ved
adsense....

Goggel lidt på ajax og javascript - der er masse af tutorials som viser hvad
det kan.

Carsten



Birger Sørensen (17-11-2008)
Kommentar
Fra : Birger Sørensen


Dato : 17-11-08 19:42

Den 17-11-2008, skrev Stig Sørensen:
> On 17 Nov., 18:44, Birger Sørensen <s...@bbsorensen.com> wrote:
>
>> Rent principielt er det en skidt idé at blande <script> andre steder
>> end i <head>.
>> Desuden er det du gerne vil vist ikke ladesiggørligt. Mener man bruger
>> f.eks. et <img> - det kan ændre indhold undervejs.
>> PHP kører serverside - altså hvor teksten hentes. js er clientside -
>> hvor teksten vises. Du vil vise teksten, før du har hentet den : virker
>> ikke.
>>
>> Alternativet er noget AJAX. Det kan skifte indhold i alee HTML
>> elementer.
>>
>> Birger
>
> Selvfølgelig kan det vel lade sig gøre. Google Adsense gør det bla?
> Tænker ikke på deres bannere, men de tilbyder også links. Der
> indsætter man et stykke javascript kode på sin hjemmeside, og ved
> hvert refresh af ens hjemmeside bliver man nu præsenteret for et par
> nye html links - alt afhængig af indstillingerne i ens profil.
>
> Processen i dette kunne jeg godt tænke mig at vide.

Mener nu at google adwords (som gerne svindler hvis de har mulighed for
det), kalder et js script der ligger på deres egen server, via <script>
tagget. Ikke et php, men det er da muligt at det kan lade sig gøre den
vej rundt.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Johan Holst Nielsen (18-11-2008)
Kommentar
Fra : Johan Holst Nielsen


Dato : 18-11-08 09:53

Stig Sørensen wrote:
> Hej gruppe, og beklager hvis jeg er malplaceret.
>
>
> Det jeg er igang med er lidt som noget banner-rotation, bare med
> almindeligt tekst i stedet for.
> Eksempel:
>
> Man tilmelder sig som bruger på min hjemmeside.
> Man indtaster data om sig selv og sin hjemmeside.
> I stil med Google Adsense (Chart.dk etc..) kan man kopiere et stykke
> kode (Javascript?) som man skal indsætte på sin hjemmeside.
> Der vil nu vises random tekst-udsnit på ens hjemmeside alt afhængig af
> indstillinger i ens profil.
>
>
> Mit problem ligger i hvordan jeg får det vist på brugernes egne
> hjemmesider.
>
> Jeg havde tænkt mig at inkludere 'random tekst-udsnit' via javascript,
> feks:
>
> <script type="text/javascript"><!--
> bruger_id = "8493749";
> //-->
> </script>
>
> [1]<script type="text/javascript"
> src="vistekst.js">
> </script>
>
> Meningen er så at vistekst.js tager variablen "bruger_id" med sig hen
> til et php script, der via bruger_id variablen kigger i en database
> efter personlige indstillinger, og herefter outputter de tilfældige
> tekst-udsnit til browseren.
>
> Men hvordan gøres alt dette i praksis? Jeg har googlet og googlet men
> ikke blevet meget klogere.

En nem metode

<script type="text/javascript"
type="http://dinserver.example.com/script.php?brugerid=123">


Dit script.php ser så noget ala således ud:
<?php
$sql = "SELECT tekst FROM tabel WHERE id = ".$_GET['brugerid'];
$tekst = mysql_result(mysql_query($sql),0);
?>
document.write('<?php echo addslashes($text);?>');


--
Johan Holst Nielsen
Freelance PHP Developer - http://phpgeek.dk

Stig Sørensen (18-11-2008)
Kommentar
Fra : Stig Sørensen


Dato : 18-11-08 02:25

On 18 Nov., 09:52, Johan Holst Nielsen <s...@phpgeek.dk> wrote:

> En nem metode
>
> <script type="text/javascript"
> type="http://dinserver.example.com/script.php?brugerid=123">
>
> Dit script.php ser så noget ala således ud:
> <?php
> $sql = "SELECT tekst FROM tabel WHERE id = ".$_GET['brugerid'];
> $tekst = mysql_result(mysql_query($sql),0);
> ?>
> document.write('<?php echo addslashes($text);?>');

Hej Johan! Det var liiige præcis sådanne noget jeg først prøvede men
fik det ikke til at virke.
Dit eksempel gider desværre heller ikke.

Jeg har output.php: (har forenklet det)

---------------------------------------------
---------------------------------------------
<?php
   $tekst = "Hej";
?>
document.write('<?php echo addslashes($text);?>');
---------------------------------------------
---------------------------------------------

vis.html:

---------------------------------------------
---------------------------------------------
<script type="text/javascript"
type="http://localhost/~slk/jstest/output.php?brugerid=123">
---------------------------------------------
---------------------------------------------


Men når jeg kalder vis.html frem i browseren sker der intet.

Jeg har endda prøvet med endnu mere forenkling:

output.php:
---------------------------------------------
---------------------------------------------
<?php
?>
<script type="text/javascript">
document.write('Hello World!');</script>
---------------------------------------------
---------------------------------------------


vis.html:
---------------------------------------------
---------------------------------------------
<script type="text/javascript"
type="http://localhost/~slk/jstest/output.php">
</script>
---------------------------------------------
---------------------------------------------


Men intet sker. Kigger jeg i kildekoden til vis.html i min browser ser
jeg blot ovenstående javascript kode.
Kan du hjælpe mig videre?


Med venlige hilsner
Stig

Stig Sørensen (18-11-2008)
Kommentar
Fra : Stig Sørensen


Dato : 18-11-08 02:43

Så lykkedes det mig:


<?php
echo "document.write({$_GET['brugerid']});";
echo "document.write(\"Hello World\");";
?>


og vis.html:

<script language="JavaScript" type="text/javascript"
src="output.php?brugerid=123" />



Tusinde tak Johan, du fik mig på rette spor - igen igen

Mvh
Stig

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

Månedens bedste
Årets bedste
Sidste års bedste