Avatar billede mora Nybegynder
15. marts 2000 - 07:47 Der er 17 kommentarer og
1 løsning

Find fejlen(få linjer)

Jeg får en syntax fejl i nedenstående JS/PHP script, der er andet på siden.

Her er koden.
<SCRIPT>

setTimeout('opdater()',3000)

<?
    function strip_html($foo) {
    $foo = eregi_replace("<([^>]+)>", "", $foo); // fjerner html tags
    $foo = eregi_replace("[<>\"'\t]", "", $foo); // fjerner speciel tegn
    $foo = eregi_replace("[ ]{2,}", " ", $foo); // fjerner overdreven tryk p† space
    return $foo;
}
?>

function opdater(){
top.hoved.location.reload();
}

function sendt(){
<?
if(tekst!=""){
$nytekst = strip_html("$tekst");
$filnavn = "$tor.html";
$dump = "".date("H:i:s",time())." <font color='red'>$bruger</font>:<font color='$fontcolor'>$nytekst</font><br>\n\r";
$fp = fopen($filnavn, "a+");
fputs($fp,$dump);
fclose($fp);
}
?>
opdater();
formular.tekst.focus();
}
</script>
<body>

<form name="formular" action="skriv.php">
<select name="fontcolor"><option value="black">Sort</option>
<option value="blue">Bl†</option>
</select>
<select name="tor"><option value="liste">Alle</option></select>

<input onfocus="formular.tekst.value=''" type="text" value="teksten" name="tekst">
<input type="hidden" name="kommando" value="tjek">
<br><input type=text name=bruger onblur="check()" onfocus="formular.bruger.value=''" value=<? print htmlentities($user) ?> >
<script>
function check(){
if(formular.bruger.value==''){
formular.bruger.value="Indtast brugernavn"
}}
</script>
<input type=submit value=Send onclick="sendt()">
</form>



- Det er sikkert en lille fejl, men jeg kan ikke finde den :(
Avatar billede erikjacobsen Ekspert
15. marts 2000 - 10:08 #1
Hvad er det du prøver på, mora?

I aftes fortalte jeg dig jo, at du ikke kan
få udført PHP uden at genopfriske siden (eller
rammen). Og så har du en JavaScript-funktion,
hvor du tilsyneladende tror, at dü også kan
få udført noget PHP på serversiden. Den går ikke.

Og tag så iøvrigt en anden gang og fortælle hvor
syntaksfejlen er.
Avatar billede mora Nybegynder
17. marts 2000 - 07:26 #2
Den skriver linje 11.
Må jeg ikke udføre PHP i et javascript, der bliver kaldt vha en submit knap?
Avatar billede mora Nybegynder
17. marts 2000 - 07:39 #3
Da min chat virkede, brugte jeg fgl. kode.

function sendt(){
<?
if(tekst!=""){
$nytekst = strip_html("$tekst");
$filnavn = "$tor.html";
$dump = "".date("H:i:s",time())." <font color='red'>$bruger</font>:<font color='$fontcolor'>$nytekst</font><br>\n\r";
$fp = fopen($filnavn, "a+");
fputs($fp,$dump);
fclose($fp);
}
?>
opdater();
formular.tekst.focus();
}

- Det virkede ?(udføres ved submit)
Avatar billede erikjacobsen Ekspert
17. marts 2000 - 13:51 #4
Jah, den har måske set ud som om den virkede. Tag lige og find
en god bog, der kan forklare dig de grundlæggende begreber omkring
CGI-programmering (ASP, PHP,. Perl ect).
Avatar billede mora Nybegynder
17. marts 2000 - 17:59 #5
"Set ud som om"?

den rippede teksten som den skulle, således at man ikke kan skrive <script> mv.
Avatar billede erikjacobsen Ekspert
17. marts 2000 - 19:10 #6
Jeg mener hvad jeg skrev.
Avatar billede nielslbeck Nybegynder
19. marts 2000 - 03:14 #7
Jeg har fundet fejlen!

Fejlen: Fejlen er helt klart, som erik skriver, at du ikke er helt klar over forskellen på server- og klientside scripting!

Løsningen: Læs nogle bøger om både JavaScript og PHP, så du finder ud af, hvad forskellen på server- og klientside scripting er!
Avatar billede erikjacobsen Ekspert
19. marts 2000 - 10:03 #8
Det er rart, der er nogen, der lærer noget, Niels.  ;-)
Avatar billede mora Nybegynder
19. marts 2000 - 11:43 #9
Jeg har fattet at jeg ikke kan udføre PHP script, uden at reloade eller submitte siden, men jeg må vel godt includere php script i et js, script som bliver udført ved submitting, ikke?

- Svar lige erik, så får i 30 hver.
Avatar billede nielslbeck Nybegynder
19. marts 2000 - 11:49 #10
Nix, du må ikke inkludere PHP kode i stedet for JavaScript kode klientside, det kræver at brugeren har installeret en PHP fortolker, og det har de færreste. Derfor vil det helt klart være smartest at holde sig til JavaScript, da alle kan udføre det!
Avatar billede nielslbeck Nybegynder
19. marts 2000 - 11:51 #11
Ups, du siger jo ved submitting, altså serverside! Så er det selvfølgelig helt okay, da det så kun er på serveren at PHP skal være installeret. Okay...
Avatar billede erikjacobsen Ekspert
19. marts 2000 - 11:54 #12
Glem det mora - for mit vedkommende - det er ikke 30 point værd.
Avatar billede mora Nybegynder
19. marts 2000 - 13:54 #13
- - - OKIE ERIK SOM DU VIL - - -

>>erik dermed kan du se at andre end jeg ved at "Kommentar fra mora
17-03-00 07:39:24" virkede!!!
Avatar billede erikjacobsen Ekspert
19. marts 2000 - 15:57 #14
Enhver bliver salig i sin tro - din er bare forkert, som nielslbeck har opdaget.
Avatar billede mora Nybegynder
19. marts 2000 - 16:45 #15
>>>Erik: Faktum er at det virkede!

jeg skal lære mere om at skelne mellem server og klient, ja - men det virkede, JS script med indenholdende PHP udført under submit, no problemo.

~MORA~
Avatar billede nielslbeck Nybegynder
19. marts 2000 - 17:35 #16
Altså mora, der er noget du bliver nødt til at forstå! Det du viser fra din chat hvor du siger at man godt kan udføre både PHP og JavaScript sammen passer på en måde!? Det der sker er, at PHP scriptet bliver udført på serveren, og at JavaScriptet bliver udført hos brugeren! Det er helt fint, så på en måde kan man da godt sige, at du har ret (men det har du altså ikke helt)...
Avatar billede nielslbeck Nybegynder
19. marts 2000 - 17:38 #17
PHP koden laver kan give noget output på serveren, som selvfølgelig kan indgå i et JavaScript der kan udføres hos brugeren.
Avatar billede mora Nybegynder
19. marts 2000 - 18:02 #18
Jeg ved godt PHP udføres på serveren, og JS på klienten.

- Skal vi ikke bare lade SPM´et dø her?
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