/ 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
Fejl i PHP kode.
Fra : Paw


Dato : 08-12-08 15:13

Jeg forsøger at lære PHP, men er stødt ind i et problem med koden i
dette script.
Er der en venlig sjæl i gruppen, der kan hjælpe mig videre?
Jeg bruger en lokal apache server i windows vista.
IE7 rapporterer fejl i linie 8, hvor den siger:

Parse error: syntax error, unexpected '<' in
D:\AppServ\www\malka\svarskema.php on line 8

Jeg har forsøgt at fjerne <, men det hjælper ikke.
Hvad gør jeg forkert?


<html>
<head>
<title>Svarskema</title>
</head>
<body>
<?PHP

<form name="svarskema" method="post" action="svarskema.php">
<p>Skriv dit navn her: <input type="text" name="navn" size="50"
maxlength="50"></p>

<p>Hvilken bog ligger på dit natbord lige nu?
<textarea name="natbord"></textarea></p>

<p>Favoritmad for tiden?
<textarea name="favoritmad"></textarea></p>

<input type="submit" name="send" value="Del dine oplysninger med
andre">
</form>


// Hent indholdet af formularens felter.
$navn = $_REQUEST["navn"];
$natbord = $_REQUEST["natbord"];
$favoritmad = $_REQUEST["favoritmad"];
// Skab forbindelse til databasen her.
mysql_connect ("localhost", "root", "password") or die(mysql_error());
mysql_select_db ("mindb") or die (mysql_error());

// Indsæt indholdet af formularfelterne i databasen.
mysql_query ("INSERT INTO svarskema (svarID, navn, natbord,
favoritmad)
values(0, '$navn', '$natbord', 'favoritmad')");

?>
</body>
</html>


Vh. Paw

 
 
Dan Storm (08-12-2008)
Kommentar
Fra : Dan Storm


Dato : 08-12-08 15:15

Paw skrev:
> Jeg forsøger at lære PHP, men er stødt ind i et problem med koden i
> dette script.
> Er der en venlig sjæl i gruppen, der kan hjælpe mig videre?
> Jeg bruger en lokal apache server i windows vista.
> IE7 rapporterer fejl i linie 8, hvor den siger:
>
> Parse error: syntax error, unexpected '<' in
> D:\AppServ\www\malka\svarskema.php on line 8
>
> Jeg har forsøgt at fjerne <, men det hjælper ikke.
> Hvad gør jeg forkert?

Du skriver noget i din PHP blok som ikke er gyldig syntaks.
I dit tilfælde åbner du din PHP blok på linie 6 og fortsætter derefter
på linie otte med at skrive HTML.
Det må du ikke. Derfor fejler det.

--
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!

MooreHojer (08-12-2008)
Kommentar
Fra : MooreHojer


Dato : 08-12-08 15:20

> Hvad gør jeg forkert?

Alt hvad der står indenfor '<?php' og '?>' skal være phpkode.
Din formular er html og ikke php og skal derfor stå uden for php-koden.
Så hvis du flytter '<?php' ned lige over '// Hent indholdet af formularens felter.' burde det virke.

Hvis du vil have html indeni din php-kode skal du "udskrive" det.
F.eks. <?php echo "<p>Din tekst</p>"; ?>
Hvis du vælger at bruge echo skal du være opmærksom på at du enten skal brug ' eller \" i stedet for " i dine html-tags da.

--
MooreHojer

Birger Sørensen (08-12-2008)
Kommentar
Fra : Birger Sørensen


Dato : 08-12-08 15:21

Paw kom med denne ide:
> Jeg forsøger at lære PHP, men er stødt ind i et problem med koden i
> dette script.
> Er der en venlig sjæl i gruppen, der kan hjælpe mig videre?
> Jeg bruger en lokal apache server i windows vista.
> IE7 rapporterer fejl i linie 8, hvor den siger:
>
> Parse error: syntax error, unexpected '<' in
> D:\AppServ\www\malka\svarskema.php on line 8
>
> Jeg har forsøgt at fjerne <, men det hjælper ikke.
> Hvad gør jeg forkert?
>
>
> <html>
> <head>
> <title>Svarskema</title>
> </head>
> <body>
> <?PHP
>
> <form name="svarskema" method="post" action="svarskema.php">
> <p>Skriv dit navn her: <input type="text" name="navn" size="50"
> maxlength="50"></p>
>
> <p>Hvilken bog ligger på dit natbord lige nu?
> <textarea name="natbord"></textarea></p>
>
> <p>Favoritmad for tiden?
> <textarea name="favoritmad"></textarea></p>
>
> <input type="submit" name="send" value="Del dine oplysninger med
> andre">
> </form>
>
>
> // Hent indholdet af formularens felter.
> $navn = $_REQUEST["navn"];
> $natbord = $_REQUEST["natbord"];
> $favoritmad = $_REQUEST["favoritmad"];
> // Skab forbindelse til databasen her.
> mysql_connect ("localhost", "root", "password") or die(mysql_error());
> mysql_select_db ("mindb") or die (mysql_error());
>
> // Indsæt indholdet af formularfelterne i databasen.
> mysql_query ("INSERT INTO svarskema (svarID, navn, natbord,
> favoritmad)
> values(0, '$navn', '$natbord', 'favoritmad')");
>
> ?>
> </body>
> </html>
>
>
> Vh. Paw

Når du kører PHP scripts, fortolkes alting mellem <?php og ?> af
fortolkeren. Dele udenfor returneres (udskrives) - som almindelig HTML,
lidt populært.
Din kode starter PHP fortolkeren (<?php) alt for tidligt - den HTML der
følger giver ingen mening i PHP.
Indenfor PHP afsnit skal du bruge echo (eller print eller anden
tilsvarende PHP funktion) til at returnere (udskrive) HTML.

Håber det giver mening...

Birger

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



Paw (08-12-2008)
Kommentar
Fra : Paw


Dato : 08-12-08 15:38

Jeg siger mange tak for svarene.

Jeg har gjort som MooreHojer foreslog.

Jeg skal lige være lidt bedre til at adskille koderne.


>Vh. Paw

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

Månedens bedste
Årets bedste
Sidste års bedste