Avatar billede sputii Nybegynder
09. maj 2009 - 16:17 Der er 22 kommentarer og
1 løsning

PHP - Javascript - setTimeout

Kan jeg gøre dette?

<html>
<head>
<script type="text/javascript">
function timedMsg()
{
var t=setTimeout("alert('<?php ?>')",5000);
}
</script>
</head>

<body>
<form>
<input type="button" value="Display timed alertbox!" onClick = "timedMsg()">
</form>
<p>Click on the button above. An alert box will be displayed after 5 seconds.</p>
</body>

</html>
Avatar billede keysersoze Ekspert
09. maj 2009 - 16:39 #1
php fungerer på serveren og javascript på klienten - så som udgangspunkt nej. Så enten skal din javascript-funktion køre noget klientkode - eller også skal du kalde noget server fx som en ajax-funktion; http://dengodekode.dk/artikler/ajax/xmlhttprequest_wrapper.php
Avatar billede andreas13_fam Nybegynder
09. maj 2009 - 16:47 #2
Ja det kan du godt, men du for nok ikke det ønskede resultat (at udskrive tekst fra php)

Mit gæt er du gerne vil have:
alert('<?php echo "test" ?>');
til at udskrive "test".
Det ville i stedet udskrive: <?php echo "test" ?>

Grunden til dette er at php er server-side (det hele sker på serveren) mens javascript er client-side (her sker det hos brugeren).

Dog findes der en "teknik" som heder AJAX der gør at du kan hente andre filers fra samme doname, det kan være XML men også PHP, efter siden er sendt til brugeren.

gammelt eksempel: http://www.netkogeren.a-mweb.dk/TEST/

Her sker det, at det du indtaster i feltet bliver sendt til en php fil på serveren, som udskriver noget. Det der bliver udskrevet er i dette tilfælde det som blev sendt, men det kan også være andet fx noget fra en database.
Det der bliver udskrevet kommes ind i en variabel i din JavaScript kode, hvor efter du kan gøre hvad du vil med det. Jeg sætter det ind i den grå boks.

Husk at tage et kik på: http://www.dengodekode.dk/artikler/ajax/xmlhttprequest_wrapper.php
hvis du er blevet interesseret.
Avatar billede sputii Nybegynder
09. maj 2009 - 18:09 #3
Nej. Det er ikke helt det jeg mener.

Det er mere noget alah det her:

function timedMsg()
{
var t=setTimeout('<?php echo "Hej"; ?>'),5000);
}
Avatar billede keysersoze Ekspert
09. maj 2009 - 18:56 #4
det kan du ikke - igen, javascript fungerer på klienten og php på serveren. Din eneste mulighed for at kalde noget php igennem javascript er hvis du vha javascript kalder og returnerer resultatet fra en php-fil, fx som linket fra dengodekode.dk.
Avatar billede sputii Nybegynder
09. maj 2009 - 19:12 #5
Ja. Nu har jeg forstået det.

Men kan du give mig et eksempel på det du mener?
Avatar billede roenving Novice
09. maj 2009 - 19:16 #6
Hvis du skal lave noget javascript, der afspejler et aktuelt php-et-eller-andet, skal du bruge noget ajax-noget, til gengæld kan et php-opslag før siden sendes til browseren sagtens bruges, som du viser det !-)
Avatar billede sputii Nybegynder
09. maj 2009 - 20:03 #7
Hvordan?
Avatar billede sputii Nybegynder
09. maj 2009 - 21:39 #8
Har et problem.. Det skal nemlig ikke ligge i clienten men i serveren..

Så hvordan kan jeg lave dette exsempel på en anden måde?
Avatar billede keysersoze Ekspert
09. maj 2009 - 22:20 #9
hvad skal din kode? udskrive noget tekst - gemme noget i databasen - eller?
Avatar billede andreas13_fam Nybegynder
09. maj 2009 - 22:38 #10
#3 ja det var også det jeg mente.

#8
"""
Har et problem.. Det skal nemlig ikke ligge i clienten men i serveren..
"""

Hvad er formålet så, hvis der igen client er.
Udskyld hvis jeg sprøger dumt.
Avatar billede sputii Nybegynder
09. maj 2009 - 23:10 #11
Jeg skal bruge noget der hedder cronjob noget som ligger i serveren. Er der nogen her der kender til det?
Avatar billede keysersoze Ekspert
10. maj 2009 - 09:17 #12
ja - men hvad har det med din kode at gøre? Forklar hvad din kode og dit setup skal kunne - ellers giver det ikke mange muligheder for os at give et svar.
Avatar billede sputii Nybegynder
10. maj 2009 - 10:54 #13
Noget med det her:

<html>
<head>
// Og så noget cronjob her??
</head>

<body>
<form>
<input type="button" value="Display timed alertbox!">
</form>
// Eller her??
</body>

</html>
Avatar billede sputii Nybegynder
10. maj 2009 - 10:55 #14
Avatar billede andreas13_fam Nybegynder
10. maj 2009 - 11:16 #15
Altså cronjob bruges ofte til at sende en backup af en database, til ens mail-adresse eller noget. Ikke det at læse JavaScript.

Så vidt jeg har forstået så kan man ikke sætte "noget cronjob" ind i en <head>. Det er et program der ligger på en server og så "åbner" en fil.

Indtil videre har jeg ikke fanget formålet, prøv at skriv noget alla.

Mit mål er at få en side til at åbne en gang hver dag kl 12:00, hver gang siden åbnes sker der følgende:
1.
2.
3.

PS: det vil også være en hjælp at få af vide, om din server understøtter cronjob, eller om du har tænkt dig at bruge http://www.cronjob.de/
Avatar billede andreas13_fam Nybegynder
10. maj 2009 - 11:17 #16
Der skulle stå: Ikke til at læse JavaScript.
Avatar billede keysersoze Ekspert
10. maj 2009 - 11:20 #17
det gjorde mig på ingen måde klogere - et cronjob er noget man starter via fx en windows scheduled task på serveren og har som sådan hverken noget med HTML, JavaScript eller PHP at gøre. Selvfølgelig kan man gennem servicen kalde en html/php side der udfører noget men derfra og så til hvad du vil løse kan jeg ikke helt se.
Avatar billede sputii Nybegynder
10. maj 2009 - 13:36 #18
Tror jeg har fundet lysningen:

http://www.eksperten.dk/spm/874350
Avatar billede andreas13_fam Nybegynder
10. maj 2009 - 13:51 #19
Nå det var da godt :?

En anden gang så kan du spare dage, hvis du sætter dig ned og skriver præcist hvad det er du vil, og hvor det er du går i stå.
Avatar billede sputii Nybegynder
11. maj 2009 - 12:03 #20
Ja.

Men det driller mig stadig..
http://www.eksperten.dk/spm/874350
Avatar billede keysersoze Ekspert
11. maj 2009 - 12:48 #21
Det du skal lave har i mine øjne hverken noget med et cronjob eller javascript at gøre. Som ganske rigtigt foreslået i det andet spørgsmål er det et spørgsmål om at styre det vha din database - det virker forholdsvis simpelt men arbejder ikke med PHP så resten må overlades til andre end mig.
Avatar billede sputii Nybegynder
11. maj 2009 - 15:51 #22
Ok.
Avatar billede andreas13_fam Nybegynder
12. maj 2009 - 07:54 #23
Svar i anden tråd
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester