Avatar billede foxmulder58 Praktikant
17. april 2005 - 01:03 Der er 10 kommentarer og
1 løsning

hvad betyder PHP parse fejl jeg får i browseren

hej Eksperter,

jeg er ret ny i PHP og jeg prøver at sætte en gæstebog op i PHP/mySQL men får fejlen i browseren:

Parse error: parse error, unexpected T_STRING in /web/www/frac/users/foxmulder58/index.php on line 59






////////////her kommer koden til html filen;


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<head><meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
<title>Gamezine.dk</title>
<link rel="stylesheet" type="text/css" href="default.css" media="screen,projection" title="Default" />

<script type="text/javascript">
var divs = ['menu','content'];

function syncronizeDivs(){
    var maxH = 0;
    d = document.getElementsByTagName("DIV");
    for(i=0;d.length>i;i++){
        for(j=0;divs.length>j;j++){
            if(d[i].id==divs[j])maxH = Math.max(maxH,d[i].offsetHeight);
        }
    }
    for(i=0;d.length>i;i++){
        for(j=0;divs.length>j;j++){
            if(d[i].id==divs[j])d[i].style.height=maxH + 'px';
        }
    }
}
</script>
<style type="text/css">
<!--
body{

background:url(images/background.gif);
}
-->
</style>


</head>
<body  onload="syncronizeDivs()">


<div id="banner"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"

codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="625" height="125">
  <param name="movie" value="banner.swf">
  <param name="quality" value="high">
  <embed src="banner.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="635"

height="125"></embed>
</object></img></div>


<div id="menu"><? $dato_array = getdate();
$dato = $dato_array["mday"]."/".$dato_array["mon"]."-".$dato_array["year"];
echo"".$dato;?>

<table width="125px"  ><tr><td><center>login<form method=post><input type=text name=navn size=16><br>password<br><form method=post><input type=text

name=password size=16></td></tr></table></div>


<div id="content" style="display: table;">
<? $db = mysql_connect("localhost","bruger","kodeord");
mysql_select_db("foxmulder58",$db);
if($skriv){
$besked = str_replace("\n","<br>",$besked);
$dato_array = getdate();
$dato = $dato_array["mday"]."/". $dato_array["mon"]."_".$dato_array["year"];
mysql_query("INSERT INTO bog (navn,email,dato,besked) VALUES ('$navn','$email','$dato','$besked')");
}
?>
<center>
form method=post action=<? echo $PHP_SELF;?>>
<input type=hidden name=skriv value=1>
navn:<input type=text name=navn><br>
email:<input type=text name=email><br>
<textarea name=besked cols=30 rows=5></textarea><br>
<input type=submit value="send">
</form>
<br><br>
<table>
<? $foresp = mysql_query("SELECT navn,email,dato,besked FROM foxmulder58 ORDER BY nr DESC");
while($data = mysql_fetch_row($foresp)){
echo"<tr><td valign=top>";
echo "fra: <a href=\"mailto:$data[1]\">$data[0]</a>";
echo "<br>$data[2]";
echo"</td><td valign=top>$data[3]</td></tr>";
}
?>
</table>
</center>
</body>
</html>
</div>





</html>
Avatar billede sungdk Nybegynder
17. april 2005 - 01:17 #1
Hvilken er linje 59?
Avatar billede barklund Nybegynder
17. april 2005 - 01:51 #2
Umiddelbar ser jeg en linje uden noget som helst, der minder om php. Linje 59 altså.

Kan du informere nogen om, hvor linje 59 er i din fil?
Avatar billede hyberpreprocessor Nybegynder
17. april 2005 - 01:52 #3
Parse error: parse error, unexpected T_STRING in /web/www/frac/users/foxmulder58/index.php on line 59

betyder at du har glemt et ; på linje 58 i 99% af tilfældende.
Avatar billede olebole Juniormester
17. april 2005 - 03:17 #4
<ole>

Du har et ulovligt </img>-tag. Selvom det ikke er det, der udløser denne fejl, bør du nok slette det. Der er ingen standard, der tillader brug af </img>.

- så er det nok også en rigtig god idé at begynde dit formtag med en '<'  ;o)

/mvh
</bole>
Avatar billede olebole Juniormester
17. april 2005 - 03:31 #5
- og så har embed-tag'et i øvrigt ikke noget at gøre i XHTML.

<center> har været deprecated i HTML i 6-7 år efterhånden.

<br> skal lukkes under XHTML, så det skal være <br />.

XHTML er casesensitive - og tagnames er lowercase - så det skal hedde:
  document.getElementsByTagName("div");

Vi kan forhåbentlig også blive enige om, denne stump ikke holder:

<table width="125px">
<tr>
  <td><center>login
      <form method=post>
      <input type=text name=navn size=16><br>
      password<br>
      <form method=post>
      <input type=text name=password size=16></td>
</tr>
</table>

- og ingen af de to forms afsluttes andre steder (hvad de i øvrigt heller ikke kan på lovlig vis).

Alt i alt ville jeg råde dig til at skrive HTML4.01 i stedet, da det er en langt bedre standard end XHTML, som nettet ser ud idag ... og så i øvrigt få rettet dine HTML-fejl  :)
Avatar billede foxmulder58 Praktikant
17. april 2005 - 10:20 #6
---> olebole

skal jeg bruge denne doctype erklæring istedet?:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">



hvad betyder iøvrigt "deprecated"?

og hvorfor holder min tabel ikke?

mvh
Mads

--> de andre mht til PHP: linie 59 er:

mysql_query(""INSERT INTO bog (navn,email,dato,besked) VALUES ('$navn','$email','$dato','$besked')");

jeg kan ikke se fejlen i den.


mvh
Mads
Avatar billede Slettet bruger
17. april 2005 - 11:25 #7
Du har 2 x " lige inden INSERT INTO
Avatar billede olebole Juniormester
17. april 2005 - 20:27 #8
Ja, den DTD er bedre til din kode - og den er mere anvendelig på WWW end XHTML.

'Deprecated' betyder 'uønsket' og/eller 'på vej ud af standarden'.

Det er ikke tabellen, men de to forms, der ikke holder. Du kan ikke flette en form således:
<tr>
  <td>
    <form ....>
  </td>
</tr>
<tr>
  <td>
    </form>
  </td>
</tr>

Koden til en form skal være velformet:

<tr>
  <td>
    <form ....>
    </form>
  </td>
</tr>

I din kode påbegynder du to forms i samme celle - uden nogensinde at afslutte nogen af dem. Det er en klar fejl.

Til slut har el_barto vist dig, hvad det er, der udløser din parse-error  :)
Avatar billede foxmulder58 Praktikant
17. april 2005 - 23:01 #9
ja ok så er jeg med! jeg havde også glemt at slette det </img> tag der ikke var lovligt.Men det er godt du er så hurtigt til at gennemskue de koder vi andre dødelige ligger ud her på eksperten.

Jeg har set at du i mange indlæg forkaster brugen af XHTML/CSS/DIV men hvad er dit forslag så til den bedste designløsning...du må da have nogle hjememside som du har kodet....jeg kunne godt tænke mig at se hvordan du så griber det an!.

på forhånd tak og endnu engang tusind tak for hjælpen allesammen!


e barto og olebole beder jeg lige svare for at modtage point!

mvh
mads
Avatar billede Slettet bruger
18. april 2005 - 07:08 #10
Ellers tak :)
Avatar billede foxmulder58 Praktikant
20. april 2005 - 12:21 #11
jamen så lukker jeg her så!


(hvorfor vil i ikke have point?)

mvh
Mads
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