/ 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
$end fejl?
Fra : gc


Dato : 10-04-07 13:51

Jeg har skiftet min serverpakke ud fra easyphp til WAMP5 (som man skulle
kunne administrere externt)
og alt virker tilsyneladende fint, men jeg får en fejl når jeg køre
nedenstående kode, fejlen er:
Parse error: parse error, unexpected $end in C:\data\www\produkter.php on
line 53
Det virkede fint før.

På forhånd tak
/Gert

***********************************
<?php
$kat='slanger';

require("mysql-funktioner.php");
aabn_forbindelse_og_vaelgdb();

$result = mysql_query("select * FROM gruppetabel RIGHT OUTER JOIN varetabel
ON gruppetabel.gruppenr=varetabel.varegruppe WHERE
gruppetabel.kategori='$kat' ORDER BY gruppenr,varenummer");

while ($line = mysql_fetch_array($result)) {
extract($line);
?>
<table>
<tr><td>Varegruppe = <?echo $gruppenr?></td></tr>
</table>
<?

} //while

mysql_free_result($result);
luk_forbindelse();
?>
*****************************



 
 
gc (10-04-2007)
Kommentar
Fra : gc


Dato : 10-04-07 14:50

Fandt selv ud af det.
man skal åbenbart bruge <?php og ikke kun <? som i gamle dage

/Gert



Martin (10-04-2007)
Kommentar
Fra : Martin


Dato : 10-04-07 14:54

gc wrote:
> Fandt selv ud af det.
> man skal åbenbart bruge <?php og ikke kun <? som i gamle dage

Det går an på hvad man skriver i php.ini filen.
short_open_tag = On
så må man gerne bruge <? og <?=
men hvis
short_open_tag = Off
så må man ikke...

Men dog vil jeg da anbefale ALTID at bruge <?php
og heller ikke bruge
<?=$var?>
da short_open_tag er default off, og det er altid en god idé at kode til
en default php.ini, så er der størst chance for at det virker på alle
webhoteller :)

gc (10-04-2007)
Kommentar
Fra : gc


Dato : 10-04-07 19:14

>
> Det går an på hvad man skriver i php.ini filen.
> short_open_tag = On
> så må man gerne bruge <? og <?=
> men hvis
> short_open_tag = Off
> så må man ikke...
>
Tak for det, Godt at vide.
Desværre var jeg for hurtig, jeg fik det kun til at virke på en simpel
testside
men ikke på den "rigtige" side, der får jeg stadig $end fejlen, selv om jeg
nu har rettet alle <?


Arne Feldborg (11-04-2007)
Kommentar
Fra : Arne Feldborg


Dato : 11-04-07 00:06

"gc" <falsk@email.com> skrev Tue, 10 Apr 2007 20:13:42 +0200


>men ikke på den "rigtige" side, der får jeg stadig $end fejlen, selv om jeg
>nu har rettet alle <?
>
Det er enten fordi antalet af "<?php" og "?>" ikke matcher ,
eller fordi antallet af "{" og "}" ikke matcher.

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

gc (11-04-2007)
Kommentar
Fra : gc


Dato : 11-04-07 08:21

> Det er enten fordi antalet af "<?php" og "?>" ikke matcher ,
> eller fordi antallet af "{" og "}" ikke matcher.
>
Det er bare mystisk at det opstår efter at jeg har skiftet serverpakke, der
er ikke ændret i filen.
Wamp5 køre med
Apache (2.2.4)
PHP 5.2.1 og 4.4.5 (har prøvet begge)
MySQL 5.0.27

Måske er der noget der skal laves anderledes i den nye!

Jeg har kikket koden igennem 100 gange, men jeg kan ikke finde synderen.

Hvis du gider, må du gerne skimte koden igennem for evt. fejl, jeg har smidt
den herunder.
på forhånd tak.



<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<head>
<meta name="keywords"
content="fittings,kuglehaner,ventiler,automatdrejning,lynfittings,kompressions
fittings,plast fittings,cnc,slanger,rustfri fittings,koblinger"/>
<meta name="description" content="Fremstilling og forhandling af fitting og
CNC Drejning"/>
<meta name="author" content="TC Maskinfabrik A/S, Gert Christensen"/>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>TC Maskinfabrik A/S</title>
<link rel="stylesheet" type="text/css" href="/tc.css"/>
</head>
<body>
<div id="hovedbox">
<?php
include "tctop.php";
include "tclinks.htm";
?>
<div id="indhold">
<div id="data">

<?php
$kat = $_GET['kategori'];

$a='nul';
//$i='';

$vgruppetxt1="Materiale: Messing med plastgreb.";
$vgruppetxt2='Temperatur: -18°C til + 90°C. Max. 25 bar.';
$vgruppetxt3='Anvendelse: Vand, trykluft, olie, benzin, m.m.';
$vgruppetxt4='Tekst4 dfghdfghdfhhd';
$vgruppetxt5='Tekst5 fhdhdfghdfhdfhdert';
$vgruppetxt6='Tekst6 hdhdfghdfhdfhdert';

require("mysql-funktioner.php");
aabn_forbindelse_og_vaelgdb();

$result = mysql_query("select * FROM gruppetabel RIGHT OUTER JOIN varetabel
ON gruppetabel.gruppenr=varetabel.varegruppe WHERE
gruppetabel.kategori='$kat' ORDER BY gruppenr,varenummer");

while ($line = mysql_fetch_array($result)) {
extract($line);

if ($a != $gruppenr) {
?>
<table>
<caption align='left'><?phpecho $gruppetekst?></caption>
<tfoot><tr><td bgcolor='#d4e1e5' colspan='2'>
<?php
if ($gruppeinfo != NULL) {
echo $gruppeinfo?><br /><?php;
}
?>
Varegruppe = <?phpecho $gruppenr?></td></tr></tfoot>
<tr><td rowspan='7' width='50%' align='center'><img src="<?phpecho
$billede_sti_small.$gruppenr.".jpg"?>" alt="Copyright, TC Maskinfabrik
A/S"/></td>
<td width='50%' align='center'bgcolor='#999999'><a
href="produktinfo.php?varegruppe=<?phpecho $gruppenr?>">Mere
information</a></td>
</tr>
<tr><td bgcolor='#F0F0F0'><?phpecho $vgruppetxt1?></td></tr>
<tr><td bgcolor='#F0F0F0'><?phpecho $vgruppetxt2?></td></tr>
<tr><td bgcolor='#F0F0F0'><?phpecho $vgruppetxt3?></td></tr>
<tr><td bgcolor='#F0F0F0'><?phpecho $vgruppetxt4?></td></tr>
<tr><td bgcolor='#F0F0F0'><?phpecho $vgruppetxt5?></td></tr>
<tr><td bgcolor='#F0F0F0'><?phpecho $vgruppetxt6?></td></tr>
</table>

<?php$a = $gruppenr;
}

} //while

mysql_free_result($result);
luk_forbindelse();
?>
</div>
</div>
<?php
include('tcbund.htm');
?>
</div>
</body>
</html>



Michael Rasmussen (11-04-2007)
Kommentar
Fra : Michael Rasmussen


Dato : 11-04-07 11:00

gc skrev:

> <?php$a = $gruppenr;

Dette er forkert (linje 76). Der skal være mellemrum efter <?php
indledningen.

Der er mange af den slags fejl i dit dokument, bl.a. også på linje 53,
60, 62, 65 og fra linje 68-73. På disse mangler du også et semikolon til
at afslutte din echo. Eksempel for linje 53:

> <caption align='left'><?phpecho $gruppetekst?></caption>

<caption align='left'><?php echo $gruppetekst; ?></caption>

Ret alle disse hvor <?php hænger sammen med noget andet, så virker det:

% php -l problem.php
No syntax errors detected in problem.php

--
Michael Rasmussen
------------------------------------------------------------------------
»If you don't fail at least 90 percent of the time,
you're not aiming high enough«, Alan Kay.

gc (11-04-2007)
Kommentar
Fra : gc


Dato : 11-04-07 13:58

>
> Ret alle disse hvor <?php hænger sammen med noget andet, så virker det:
>
HOV, jeg havde da lige glemt dit svar da jeg svarede Arne.
Jeg rettede alle dine foreslag, og nu virker det sørme.
http://87.48.111.122/produkter.php?kategori=ventiler

Det må altså være noget nyt i PHP for det har virket før.
Men pyt...Jeg takker og bukker for hjælpen.

/Gert



Martin (11-04-2007)
Kommentar
Fra : Martin


Dato : 11-04-07 14:28

gc wrote:
>> Ret alle disse hvor <?php hænger sammen med noget andet, så virker det:
>>
> HOV, jeg havde da lige glemt dit svar da jeg svarede Arne.
> Jeg rettede alle dine foreslag, og nu virker det sørme.
> http://87.48.111.122/produkter.php?kategori=ventiler
>
> Det må altså være noget nyt i PHP for det har virket før.
> Men pyt...Jeg takker og bukker for hjælpen.

Nemlig...
<?phpecho er også en del af short_tag_open = on

Michael Rasmussen (11-04-2007)
Kommentar
Fra : Michael Rasmussen


Dato : 11-04-07 15:13

gc skrev:

> Jeg rettede alle dine foreslag, og nu virker det sørme.
> http://87.48.111.122/produkter.php?kategori=ventiler

Fint, lige en detalje. Jeg kan se at der er et potentielt problem i den
producerede HTML-kildekode på linje 40 og 47:

<li><a href="produkter.php?kategori=Kompressions
fittings">Kompressionsfittings</a></li>
[...]
<li><a href="produkter.php?kategori=rustfri syrefast fittings">Rustfri
Fittings</a><br /></li>

Kategorien i menu-url'en indeholder mellemrum, egentlig ville det vel
være mere smart at bruge et id (nummer), men hvis du endelig vil bruge
en tekststreng, så husk at køre den igennem henholdsvis urlencode() og
urldecode() for at få gyldig XHTML-kode.

Eksempel:
<?php

$skriv_kategori = 'rustfri syrefast fittings';
echo '<li><a href="produkter.php?kategori='. urlencode($skriv_kategori)
..'">Rustfri Fittings</a><br /></li>';

$hent_kategori = urldecode($skriv_kategori);
echo $hent_kategori;
?>

--
Michael Rasmussen
------------------------------------------------------------------------
»If you don't fail at least 90 percent of the time,
you're not aiming high enough«, Alan Kay.

gc (12-04-2007)
Kommentar
Fra : gc


Dato : 12-04-07 07:57

>
> Fint, lige en detalje. Jeg kan se at der er et potentielt problem i den
> producerede HTML-kildekode på linje 40 og 47:
>
> <li><a href="produkter.php?kategori=Kompressions
> fittings">Kompressionsfittings</a></li>
> [...]
> <li><a href="produkter.php?kategori=rustfri syrefast fittings">Rustfri
> Fittings</a><br /></li>
>
> Kategorien i menu-url'en indeholder mellemrum, egentlig ville det vel være
> mere smart at bruge et id (nummer), men hvis du endelig vil bruge en
> tekststreng, så husk at køre den igennem henholdsvis urlencode() og
> urldecode() for at få gyldig XHTML-kode.
>
> Eksempel:
> <?php
>
> $skriv_kategori = 'rustfri syrefast fittings';
> echo '<li><a href="produkter.php?kategori='. urlencode($skriv_kategori)
> .'">Rustfri Fittings</a><br /></li>';
>
> $hent_kategori = urldecode($skriv_kategori);
> echo $hent_kategori;
> ?>
>
Super, det vil jeg da straks kikke på.
Jeg vil ikke bruge tekststreng hvis der er noget der er smartere, så jeg vil
da lige
google lidt på id (nummer), jeg er stadig noget grøn når det kommer til
PHP.
Tak for hjælpen



Arne Feldborg (11-04-2007)
Kommentar
Fra : Arne Feldborg


Dato : 11-04-07 11:16

"gc" <gertc-slet-@msn.com> skrev Wed, 11 Apr 2007 09:20:57 +0200


>Hvis du gider, må du gerne skimte koden igennem for evt. fejl, jeg har smidt
>den herunder.
>
Jeg har bemærket de samme fejl som Michael nævner, og dem skal du
naturligvis have rettet. Men jeg tror ikke det er dét der udløser den
fejlmelding du nævner (unexpected $end).

Har du checket den / de inkluderede filer omhyggeligt?

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

gc (11-04-2007)
Kommentar
Fra : gc


Dato : 11-04-07 13:17

>
> Har du checket den / de inkluderede filer omhyggeligt?
>
Ja, og jeg har prøvet helt at fjerne dem, uden held.
undtagen min database funktion, den kan jeg dog heller ikke se nogen fejl i.
men her er den alligevel. den har jo bare heller ikke været ændret.


<?php

$billede_sti = "http://87.48.111.122/billeder/katbilleder/";
$billede_sti_small = "http://87.48.111.122/billeder/katbilleder-small/";

function aabn_forbindelse_og_vaelgdb() {
$server = "localhost";
$bruger = "xxxxxxxx";
$kodeord = "xxxxxxx";
$database = "xxxxxxxx";

if (!mysql_connect("$server","$bruger","$kodeord")) {
udskriv_fejl("Kunne ikke oprette en forbindelse til SQL-Databasen.");
}

if(!mysql_select_db("$database")) {
udskriv_fejl("Kunne ikke vælge databasen: $database");
}
}

function luk_forbindelse() {
if(!mysql_close()) {
udskriv_fejl("Kunne ikke lukke forbindelsen til SQL-Databasen!");
}
}

function udskriv_fejl($fejl) {
echo "$fejl";

if ($mysql_fejl = mysql_error()) {
echo "Fejlen er: $mysql_fejl";
}
exit;
}
?>



Jesper Lützen (11-04-2007)
Kommentar
Fra : Jesper Lützen


Dato : 11-04-07 11:17

> <?php$a = $gruppenr;

Det kunne være, at det manglende mellemrum mellem php og $a er skyld i
fejlen.

/Jesper Lützen


Arne Feldborg (11-04-2007)
Kommentar
Fra : Arne Feldborg


Dato : 11-04-07 11:44

"Jesper Lützen" <jesperlutzen@gmail.com> skrev 11 Apr 2007 03:16:31
-0700

>> <?php$a = $gruppenr;
>
>Det kunne være, at det manglende mellemrum mellem php og $a er skyld i
>fejlen.
>
Nej, det giver en "unexpected T_VARIABLE" og det gør det manglende
semikolon også.

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Søg
Reklame
Statistik
Spørgsmål : 177496
Tips : 31968
Nyheder : 719565
Indlæg : 6408491
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste